我已经搜索了许多网站和论坛,了解如何使用 CHROOT 设置被监禁到某个目录的 SFTP 用户。以下是我遵循的步骤,但我似乎无法获得工作的写入权限。
设置
sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Match group webmaster
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
创建文件夹
mkdir /var/www/sites
Run Code Online (Sandbox Code Playgroud)
创建用户和组
useradd uploader
passwd uploader
usermod -d /var/www/sites uploader
groupadd webmaster uploader
groupadd www-data uploader
Run Code Online (Sandbox Code Playgroud)
权限和所有权
chown root:root /var/www
chmod 755 /var/www/sites
Run Code Online (Sandbox Code Playgroud)
现在,通过这些设置,用户上传者可以通过 SFTP 进入主目录,但无法写入该目录。
发生了 2 个典型错误,我要么无法登录,要么没有写入权限。
登录错误
Error: Network error: Software caused connection abort
Error: Could not connect to server
Changing permissions of /var/www/sites to 775 or 777 causes login error. …Run Code Online (Sandbox Code Playgroud)