Ubuntu 18.04 sftp 用户无法访问/var/www

Ubuntu 18.04 sftp 用户无法访问/var/www

好吧,我是 Linux 新手...我按照这个教程操作https://linuxconfig.org/how-to-setup-sftp-server-on-ubuntu-18-04-bionic-beaver-with-vsftpd

我的目标是创建一个新用户,通过 SFTP 访问 /var/www

按照教程,我编辑了 sshd_config

sudo nano /etc/ssh/sshd_config

并将其添加到文件中:

Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

并重新启动 SSH。

sudo service ssh restart

我创建了一个新群组

sudo addgroup sftp

和一个新用户。

sudo useradd -m sftpuser -g sftp

我设置了用户密码。

sudo passwd sftpuser

在此之后,当我尝试使用 SFTP 连接到服务器时,它可以工作,但是当我转到 /var/www 时,我在 FileZilla 中收到此错误:

Comando:    cd "/var/www"
Error:  Directory /var/www: no such file or directory
Error:  Error al recuperar el listado del directorio (error on retrieving directory listing)

我需要这个用户能够访问 /var/www,因为这是他唯一的功能。服务器还有其他用户,我担心如果我弄乱文件夹的权限会破坏某些东西。

答案1

Match group sftp
ChrootDirectory /home

您的配置限制 sftp 用户只能访问/home目录及其子目录。实际上,/home对于这些用户来说,目录将作为根目录出现。/var/www位于 之外/home,因此无法访问。

您可以从中删除“ChrootDirectory”指令sshd_config。用户将可以访问整个文件系统,包括/var/www(取决于文件权限)。

或者,你可以使用绑定挂载使目录/var/www内部可访问/home。绑定挂载通常用于 SFTP chroot 环境。

相关内容