我想为 sftp 创建具有特定文件夹有限访问权限的用户
我的文件夹结构如下:
/var/www/site1/files/
/var/www/site2/files/
/var/www/site3/files/
我想创建 sftp 用户 1,/var/www/site1/files/
仅允许使用 filezila 上传网站文件,并且无法查看任何其他文件夹
对于权限受限的用户 2 也是如此/var/www/site2/files/
对于访问权限受限的用户 3/var/www/site3/files/
答案1
您基本上已经理解了。
最好的方法是这样做:
/home
通过在 中添加以下行将 3 个目录中的每一个挂载到目录中/etc/fstab
:/var/www/site1/files/ /home/site1/htdocs/ bind 0 0 /var/www/site2/files/ /home/site2/htdocs/ bind 0 0 /var/www/site3/files/ /home/site3/htdocs/ bind 0 0
用于
mount -a
立即启动坐骑。确保您已将用户 site1、site2、site3 添加到同一组(例如 sftpusers 或 sftponly)。您可以使用以下命令将用户添加到组:
usermod -aG sftponly site1 usermod -aG sftponly site2 usermod -aG sftponly site3
/home/{site1,site2,site3}
使用以下命令为相应用户创建主目录:usermod -d /home/site1 site1 usermod -d /home/site2 site2 usermod -d /home/site3 site3
在您的附加以下内容
/etc/ssh/sshd_config
:Match group sftponly ChrootDirectory %h X11Forwarding no AllowTcpForwarding no
最后使用以下命令重新启动 ssh 服务:
service ssh restart
看这篇关于 Digital Ocean 的文章了解详情。
答案2
关注后krishna chalise 的回答您可能需要调整所有权和权限。
例如,对于用户 site1:
chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly