Red Hat SFTP 服务器 chroot 目录所有权错误

Red Hat SFTP 服务器 chroot 目录所有权错误

我正在 Red Hat 6.9 上构建 SFTP 服务器(明确地说,我正在使用 OpenSSH 的 FTP 扩展)。我遵循以下指南:

https://www.howtoforge.com/tutorial/how-to-setup-an-sftp-server-on-centos/

我完全按照描述配置一切。我使用的客户端操作系统是 Windows 10。我已经使用 Putty 的 SFTP 客户端和 WinSCP 进行了测试(我不认为我的问题与客户端有关)。当我尝试连接时,系统会提示我输入用户名,然后输入密码。输入密码后,会话立即关闭。/var/log/secure 显示以下相关信息:

Aug  2 14:30:28 SFTP_Server sshd[4087]: pam_unix(sshd:session): session opened for user scott.ftp by (uid=0)  
Aug  2 14:30:28 SFTP_Server sshd[4089]: fatal: bad ownership or modes for chroot directory "/sftp/scott.ftp/data"  
Aug  2 14:30:28 SFTP_Server sshd[4087]: pam_unix(sshd:session): session closed for user scott.ftp

显示目录权限与教程相符:

[root@SFTP_Server data]# ls -alh / | grep sftp
drwxr-xr-x    4 root              root      4.0K Aug  2 12:37 sftp  
[root@SFTP_Server data]# ls -alh /sftp  
total 16K  
drwxr-xr-x   4 root root 4.0K Aug  2 12:37 .  
dr-xr-xr-x. 25 root root 4.0K Aug  2 12:35 ..  
drwxr-xr-x   3 root root 4.0K Aug  2 12:38 scott.ftp  

[root@SFTP_Server data]# ls -alh /sftp/scott.ftp/  
total 12K  
drwxr-xr-x 3 root              root      4.0K Aug  2 12:38 .  
drwxr-xr-x 4 root              root      4.0K Aug  2 12:37 ..  
drwxrwx--- 2 scott.ftp sftpusers 4.0K Aug  2 12:38 data  

[root@SFTP_Server data]# ls -alh /sftp/scott.ftp/data/  
total 8.0K  
drwxrwx--- 2 scott.ftp sftpusers 4.0K Aug  2 12:38 .  
drwxr-xr-x 3 root              root      4.0K Aug  2 12:38 ..  

我不确定是什么让我有了这个想法,但为了进行故障排除,我更改了“。”目录的权限:

[root@SFTP_Server data]# pwd  
/sftp/scott.ftp/data  
[root@SFTP_Server data]# chown root:root .  
[root@SFTP_Server data]# ls -alh  
total 8.0K  
drwxrwx--- 2 root root 4.0K Aug  2 12:38 .  
drwxr-xr-x 3 root root 4.0K Aug  2 12:38 ..  

现在我尝试再次连接,并且可以成功连接。但我无法列出目录或创建目录或执行任何其他操作。我在这里收到的错误是“权限被拒绝”。虽然仍然通过 SFTP 连接,但在备用 SSH 连接中,我将权限改回:

[root@SFTP_Server data]# chown scott.ftp:sftpusers .  
[root@SFTP_Server data]# ls -alh  
total 8.0K  
drwxrwx--- 2 scott.ftp sftpusers 4.0K Aug  2 12:38 .  
drwxr-xr-x 3 root              root      4.0K Aug  2 12:38 ..  

现在我可以在 SFTP 会话中创建目录和执行其他操作。我退出 SFTP 会话并尝试连接,但登录失败,如上所述。

任何帮助是极大的赞赏。

答案1

现在我尝试再次连接,可以成功连接。但我无法列出目录或创建目录或执行任何其他操作。我在这里收到的错误是“权限被拒绝”。

从技术上来说,创建一个可由chroot连接用户写入的文件是不可能的(除非您使用扩展 ACL,但在这种情况下这不是一个好的做法,因为出于安全原因它是被禁止的)。

一般建议是

  • chroot 到上一级目录
  • 在 中创建另一个目录data/,该目录可由该用户写入。

相关内容