将linux用户限制为一个文件夹

时间:2013-07-30 09:53:46

标签: linux security shell unix

我需要为用户创建一个单独的文件夹,允许他只执行一个二进制文件。他可以调用python / perl并运行程序。 但是用户不应该删除其目录中的任何文件夹,也不应该能够查看任何其他目录。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:2)

如果他们只通过ssh访问,那么ChrootDirectory就可以了。 简而言之,您在另一个目录中创建一个假的/系统,允许用户运行所有程序。他们需要的图书馆。

如果需要,请参阅ChrootDirectory手册页的sshd_config部分或Here之类的内容,以获取更全面的指南。

答案 1 :(得分:0)

CHMOD完成工作

  chmod 755 directory/filename

7 user (**owner**) has full access.
5 allows **group** user "read" and "execute" permissions, but
  not "write" permissions. 
5 allows **others** "read" and "execute" permissions, 
  but not "write" permissions.     

供您参考:

5允许"读"和"执行"权限,但不是"写"权限。 A 6允许读写权限,但不允许"执行"。 4将是"读"只要。 A 2将是"写"只有,1将是"执行"仅

进一步参考:link

答案 2 :(得分:0)

您还可以考虑配置和使用受限制的shell ,例如一个restricted bash

但是,请注意,如果您允许用户运行像Python这样的脚本语言,他将能够绕过这些限制(使用一些聪明的脚本)。所以 chroot 可能更可取。

您可以为该用户定义一个单独的组,以避免他做更多事情。另请参阅nobody usernameSELinux