有一个可执行文件通常由用户 A 运行,并且写入只有用户 A 才可以读取、写入等的目录中。是否可以允许同一组中的用户 B 以用户 A 的身份运行该可执行文件,以便它在相同的目录中写入等,而用户 B 不知道用户 A 的密码,也无法访问 root 权限(即无法使用 visudo)?
答案1
答案2
设置sudo
允许 B 以 A 的身份执行特定命令可能是最好和最安全的方法,但是您说您不能使用visudo
。
假设你的系统有一个可以正常工作的 ssh 服务器,你可以将 B 的公钥添加到/home/A/.ssh/authorized_keys
。然后 B 可以运行:
ssh A@localhost some_command
而不需要知道A的密码。
问题是,这让 B 拥有了 A 帐户的完全访问权限。这比让 B 知道 A 的密码要好得多。
可能有方法可以设置 ssh 以允许 B 仅运行某些命令,但我不知道它们是什么。
(chmod u+s
, 作为妮可的回答建议,可能更干净;我应该想到这一点。)