我想创build一个用户只能访问以下目录,不能看到别的
/home/vehicles/ #read only /home/images/ #read only /home/dump/ #read and write
我用这个链接https://unix.stackexchange.com/questions/15360/how-to-add-a-ssh-user-who-only-has-permissions-to-access-specific-folder
这样我创build了一个名为testserver的用户组
Match Group testserver ChrootDirectory %h AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
和这些文件夹的chmod如下所示
chmod -R 755 /home/vehicles/ chmod -R 755 /home/images/ chmod -R 765 /home/dump/
一切都很好,除了testuser仍然能够访问其他文件夹,我怎么阻止这个用户访问其他文件夹(即只能访问这三个文件夹)
好的,首先,将目录结构更改为:
/home/testserver/vehicles /home/testserver/images /home/testserver/dump
然后执行
chown root.root /home/testserver /home/testserver/vehicles /home/testserver/images chmod 755 /home/testserver chown testuser.testserver /home/testserver/dump chmod 775 /home/testserver/dump
最后,将/etc/ssh/sshd_config的ChrootDirectory指令行更改为
ChrootDirectory /home/testserver
我也build议你做大量的阅读和整理linux系统pipe理,因为你的问题和你试图做的事情到目前为止表明“货物崇拜”pipe理 – 复制/粘贴高级pipe理技巧而不理解什么他们做或如何做,希望他们会做你想做的。 这很容易导致灾难,你不知道如何解决。
从组用户和任何其他组中删除testuser,并使用grsecuritypath来定义您的RBAC列表。
如果你打算用testuserlogin,那么它需要/ bin和其他的权限,比如/ proc。