将linux用户限制为文件夹和文件

时间:2012-12-04 16:26:09

标签: linux bash ssh putty

我有一个文件,我希望普通用户能够运行。例如

./ file argument1 argument2 arguement3

但是,我想限制用户,这是他唯一可以做的事情。我不希望他能够访问任何其他文件夹或文件,基本上运行该文件,就是这样。我听说过rbash,但对安全性等不太确定。

如果有帮助,我可以将文件放在每个用户主目录中。

2 个答案:

答案 0 :(得分:2)

如果您只是在寻找一种安全的方式来为您的用户提供执行程序,那么Unix和Linux默认情况下已经提供了此功能。

将可执行文件放在用户的主目录中(让用户成为文件的“所有者”)。

Unix / Linux用户(以及代表此用户执行的任何程序)无法访问其他用户的目录/文件(特别是,他/她无法访问属于“root”的内容)。

对于大多数应用来说,这种方法通常被认为是安全的。

如果你的需求落后于这一行,你可以使用chroot来“监禁”你的可执行程序。见这里:

http://en.wikipedia.org/wiki/Chroot

此技术通常用于监视在网络上暴露的机器上运行的可能危险的程序(例如,HTTP或FTP服务器)。

答案 1 :(得分:1)

困难的是你必须确保文件系统资源(文件/目录)的权限签名都以0结尾(例如750),这意味着永远不允许读,写,执行{{3} (不是所有者或属于与该文件系统元素关联的组的人)。然后,您将添加不属于任何组的用户,并使其成为其主目录中该文件的所有者。

如果有更好的方法,我想知道。