Linux
如何將使用者限制在一個文件夾中,並且不允許他們移出他的文件夾
我在 digitalocean 上有 ubuntu 伺服器,我想在我的伺服器上為某人的域提供一個文件夾,我的問題是,我不希望該使用者看到我的文件夾或文件或能夠移出他們的文件夾。
如何限制此使用者在他們的文件夾中,不允許他移出並查看其他文件/目錄?
我通過這種方式解決了我的問題:
創建一個新組
$ sudo addgroup exchangefiles
創建 chroot 目錄
$ sudo mkdir /var/www/GroupFolder/ $ sudo chmod g+rx /var/www/GroupFolder/
創建組可寫目錄
$ sudo mkdir -p /var/www/GroupFolder/files/ $ sudo chmod g+rwx /var/www/GroupFolder/files/
將它們都交給新組
$ sudo chgrp -R exchangefiles /var/www/GroupFolder/
之後我去了
/etc/ssh/sshd_config
並添加到文件的末尾:Match Group exchangefiles # Force the connection to use SFTP and chroot to the required directory. ForceCommand internal-sftp ChrootDirectory /var/www/GroupFolder/ # Disable tunneling, authentication agent, TCP and X11 forwarding. PermitTunnel no AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no
現在我要在我的組中添加名為 obama 的新使用者:
$ sudo adduser --ingroup exchangefiles obama
現在一切都完成了,所以我們需要重新啟動 ssh 服務:
$ sudo service ssh restart
注意:使用者現在不能在
file
目錄之外做任何事情 我的意思是他的所有文件都必須在文件文件夾中。