我在不同的机器上调用不同用户的一个远程命令时遇到了问题。此远程命令应在一台机器上执行,并且成功执行此命令后应立即终止 rsh 会话。多个用户可以同时执行此命令。
我知道这rsh
不安全,但这不是问题。
我的问题是关于脚本的权限和位置的远程系统的配置。
在本地,rsh 命令的调用方式如下:
rsh $HOST -l $USER remote_command
这里有一些具体的问题:
- 我是否需要一个与 root 不同的特殊用户 (
$USER
) 来执行远程命令? - 该用户应拥有哪些权限?
- 仅有执行必要的命令以及读写该命令所使用的文件的权限?
- 脚本应放在哪个目录中?我会把它放在
/usr/bin
,但我不知道这是否是个好主意。
答案1
正如你似乎认为的那样安全无关紧要那里,
一些具体的答案:
我是否需要一个与 root 不同的特殊用户 ($USER) 来执行远程命令?
从技术上来说不是,(无论是否考虑安全因素。)
该用户应拥有哪些权限?
所需的特权级别仅取决于
remote_command
要做什么。仅有执行必要的命令以及读写该命令所使用的文件的权限?
因此,如果所有关注脚本和文件都处于同一概念层面,我认为更好的方法是创建一个非特权用户及其
home
目录,并将所有文件和脚本放在该home
目录下。脚本应该位于哪个目录中?
最好的地方是
$HOME/bin/
(确保$HOME/bin
添加到您的$PATH
变量中,从您的.bashrc
或.profile
。),第二最好的地方,如果这个脚本必须由同一台机器上的其他用户访问(因为这个路径在标准分配/usr/local/bin
中是默认的。$PATH