SFTP 用户上传到 var/www/

SFTP 用户上传到 var/www/

我创建了一个 SFTP 用户(上传),并将他添加到 www-data。我还设置了 var/www/html 文件夹的权限,并编辑了 sshd_config,如下所示:

Subsystem sftp  internal-sftp -l INFO 
Match User upload
            ChrootDirectory /var/www/html/i
            ForceCommand internal-sftp
            X11Forwarding no
            AllowTcpForwarding no
            PasswordAuthentication yes

历史:

  186  sudo adduser upload
  187  sudo nano /etc/ssh/sshd_config
  188  sudo systemctl restart sshd
  189  sudo usermod -a -G www-data upload
  190  sudo ls -ld /var/
  191  sudo chmod 755 /var/
  192  sudo chown root:root /var/
  193  sudo chmod 755 /var/www/
  194  sudo chown root:root /var/www/
  195  sudo chmod 755 /var/www/html/
  196  sudo chown -R www-data:www-data /var/www/html*
  197  sudo find /var/www/html/ -type d -exec chmod 775 {} \;
  198  sudo find /var/www/html -type d -exec chmod g+s {} \;

但我无法连接到服务器。如果我添加 SFTP 用户而不设置文件夹权限,我可以连接但无法上传文件和文件夹。

来自 auth.log 的日志:

New session 134 of user upload.
sshd[11476]: fatal: bad ownership or modes for chroot directory component "/var/www/html/"
pam_unix(sshd:session): session closed for user upload

我使用带有 nginx 的 ubuntu 服务器 22.04!

答案1

我通过简单改变 sshd_config 修复了这个问题。

Match User upload
            ChrootDirectory /var/www/html/i

Match User upload
            ChrootDirectory /var/www/html

相关内容