我已经为.C文件创建了可执行文件,并通过移入/ bin目录将该可执行文件作为命令。现在我该如何为该命令设置密码保护。就像我们想要运行时一样,它应该要求输入密码。它应该适用于特定用户而不是全部(除了root)。****
答案 0 :(得分:6)
这不是安全在类Unix世界中运行的方式。正确的方法是将执行权限限制为仅限某些用户。如果该命令只能由一个用户访问,则该用户必须拥有模式为r-x------
的用户。或者,您可以使用自定义组并将可以在该组中使用该命令的所有用户放入。这里有趣的一点是命令仍然可以由bin
用户拥有:
你应该使用(作为root):
# chown bin cmd
# chgrp grp cmd
# chmod 0550 cmd
这样,只有组grp
的成员才能使用命令cmd
,只有root可以更改或删除它。并且命令在执行时不需要接收root权限。
答案 1 :(得分:1)
如果我理解您的问题,您可能有兴趣使用命令sudoers
设置visudo
。它基本上允许为用户定义权限(使用或不使用密码)来执行预定义的命令。
对于ubuntu,这里有一个解释:https://doc.ubuntu-fr.org/sudoers
答案 2 :(得分:0)
sudo chmod 700 <file_path>
这只允许您运行,读取和写入文件。由于拥有所有权限,Root也可以自动运行它。
编辑:您需要以要访问的用户(或运行chown <username> <path>
)