"mount --bind" 为用户消失目录
"mount --bind" disappear directory for user
我的服务器设置有多个站点 运行 nginx
/var/www/site1.com
/var/www/site2.com
我想创建 chroot 用户,所以我创建了一个组和用户
addgroup sftpgroup
adduser sftpuser1 -G stfpgroup
在我的 sshd_config 我更新了:
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory /home
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
我可以通过 sftp 连接 sftpuser1 并查看主目录,现在我希望用户可以访问位于
的网站文件夹
/var/www/site1.com
所以我通过 sftp 连接 sftpuser1 并创建了一个文件夹 /home/sftpuser1/sit1.com,然后用 root 登录我创建了 mount:
mount --bind /var/www/sit1.com /home/sftpuser1/sit1.com
现在,当我使用 stfpuser1 的 sftp 登录时,文件夹“/home/sftpuser1/sit1.com”消失了
但是当我用 root 登录时,我可以看到用户目录中的文件夹及其显示 site1.com 的内容。
我检查了文件夹权限已更改为 root:root,我更改为 sftpuser1:sftpuser1 但文件夹仍然没有出现。
当我卸载文件夹时,它再次对 stfpuser1 可见。
如果/var/www/的所有者是root,而其他人没有权限读取,那么里面的所有目录对他们都是不可见的。
我能够这样做,这是它在 sshd_config 中采取的步骤:
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
比我用以下方法创建的用户:
useradd -g sftpgroup -d /var/www/site1.com site1user
此时我确保 /var/www/site1.com 归 root
所有
chown root:root /var/www/site1.com
我创建了另一个用户可以写入的目录
mkdir /var/www/site1.com/http_docs
比我更改用户的权限:
chown site1user:sftpgroup /var/www/site1.com/http_docs
比我设置的用户密码:
passwd site1user
一切似乎都在正常工作。
我的服务器设置有多个站点 运行 nginx
/var/www/site1.com
/var/www/site2.com
我想创建 chroot 用户,所以我创建了一个组和用户
addgroup sftpgroup
adduser sftpuser1 -G stfpgroup
在我的 sshd_config 我更新了:
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory /home
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
我可以通过 sftp 连接 sftpuser1 并查看主目录,现在我希望用户可以访问位于
的网站文件夹/var/www/site1.com
所以我通过 sftp 连接 sftpuser1 并创建了一个文件夹 /home/sftpuser1/sit1.com,然后用 root 登录我创建了 mount:
mount --bind /var/www/sit1.com /home/sftpuser1/sit1.com
现在,当我使用 stfpuser1 的 sftp 登录时,文件夹“/home/sftpuser1/sit1.com”消失了 但是当我用 root 登录时,我可以看到用户目录中的文件夹及其显示 site1.com 的内容。
我检查了文件夹权限已更改为 root:root,我更改为 sftpuser1:sftpuser1 但文件夹仍然没有出现。
当我卸载文件夹时,它再次对 stfpuser1 可见。
如果/var/www/的所有者是root,而其他人没有权限读取,那么里面的所有目录对他们都是不可见的。
我能够这样做,这是它在 sshd_config 中采取的步骤:
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
比我用以下方法创建的用户:
useradd -g sftpgroup -d /var/www/site1.com site1user
此时我确保 /var/www/site1.com 归 root
所有chown root:root /var/www/site1.com
我创建了另一个用户可以写入的目录
mkdir /var/www/site1.com/http_docs
比我更改用户的权限:
chown site1user:sftpgroup /var/www/site1.com/http_docs
比我设置的用户密码:
passwd site1user
一切似乎都在正常工作。