Ubuntu Jail FTP-User 在 /var/www/html 中具有完全权限

Ubuntu Jail FTP-User 在 /var/www/html 中具有完全权限

在 Ubuntu 18.x 上,我想阻止 /var/www/html 目录中的用户

我通过以下方式创建了一个用户:

useradd ftpuser
passwd ftpuser
usermod -G www-data ftpuser
usermod -d /var/www/html ftpuser
chown ftpuser:www-data /var/www/html

然后在/etc/ssh/sshd_config

Subsystem sftp internal-sftp
    Match User ftpuser
            ChrootDirectory /var/www/html
            PasswordAuthentication yes
            X11Forwarding no
            AllowTcpForwarding no
            ForceCommand internal-sftp

然后:

chown root /var/www/*
chown root:root /var/www/html
chown ftpuser:www-data /var/www/html*

我连接上了,但卡在了 html 文件夹中。但我无法创建和编辑文件。我想为 ftpuser 分配完全权限,但无法从 html 文件夹升级。

从这个答案给出命令后

setfacl -mg:ftp用户:rwx /var/www/html

我无法再连接。

Error: Network error: Software caused connection abort
Error: Unable to connect to the server

编辑

ls -la /var/www/html

total 28
drwxr-xr-x 4 ftpuser www-data  4096 Mar  9 14:54 .
drwxr-xr-x 3 root    root      4096 Mar  9 14:31 ..
-rw-rw-r-- 1 ftpuser ftpuser      0 Mar  9 14:54 aa
drwx------ 2 ftpuser ftpuser   4096 Mar  9 14:52 .cache
drwx------ 3 ftpuser ftpuser   4096 Mar  9 14:52 .gnupg
-rw-r--r-- 1 root    root     10918 Mar  9 14:32 index.html

答案1

ChrootDirectory /var/www/html
...
ls -la /var/www/html
drwxr-xr-x 4 ftpuser www-data  4096 Mar  9 14:54 .

SSH 服务器ChrootDirectory 选项要求 chroot 目录属于 root:

Chroot目录
指定验证后 chroot(2) 到的目录的路径名。在会话启动时,sshd(8) 检查路径名的所有组件是否都是根拥有的目录,并且其他任何用户或组都无法对其进行写入。

如果要/var/www/html成为 chroot 目录,则它必须由 root 拥有,并且不能是组或世界可写的。html 目录可能包含其他用户可写的文件和子目录,但 html 目录本身不能。

根据/var/www目录中的内容,您可能能够将其设为 chroot 目录。

或者,你可以创建一个新目录作为 chroot 目录,然后使用绑定挂载使 /var/www/html 可以从 chroot 目录内部访问。

相关内容