我需要为一个用户创build一个单独的文件夹,只允许他执行一个二进制文件。 他可以调用python / perl并运行一个程序。 但是,用户不应该能够删除他的目录中的任何文件夹,并且不应该能够查看任何其他目录。 我怎么能做到这一点?
如果他们只通过ssh访问,那么ChrootDirectory就是要走的路。 简而言之,你在另一个目录中创建一个假的/系统,允许用户运行的所有程序和他们需要的库。
请参阅sshd_config手册页的ChrootDirectory部分,或者像Here这样的一个更完整的指南,如果需要的话。
你也可以考虑配置和使用受限制的shell ,比如限制的bash 。
但是,请注意,如果您启用用户运行Python等脚本语言,他将能够绕过这些限制(使用一些聪明的脚本)。 所以chroot可能是可取的。
您可以为该用户定义一个单独的组,以避免他做更多的事情。 另见nobody用户名 , SELinux等
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允许“读取”和“执行”权限,但不允许“写入”权限。 一个6将允许读写权限,但不能“执行”。 一个4将只被“读”。 一个2将只是“写”,一个1将只是“执行”。
进一步参考: 链接