作者:Carre陈 | 来源:互联网 | 2023-07-15 15:20
我在digitalocean上有ubuntu服务器,我想在我的服务器上给某人一个文件夹,我的问题是,我不希望该用户看到我的文件夹或文件或能够移出他们的文件夹.如何限制此用户在其文件
我在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
注意:用户现在无法做任何文件目录
我的意思是他的所有文件都必须在文件夹中.