SFTP jail root 用户可以登录但不能上传,或者可以上传但不能登录

SFTP jail root 用户可以登录但不能上传,或者可以上传但不能登录

我之前见过有人问过这个问题,但是没有一个解决方案对我有用。我设法为用户进行了 sftp 登录,但我没有设法授予用户上传权限。

据我所知,我正在使用 OpenSSH 的 SFTP 子系统(通过 ssh 进行 ftp,端口 22,而不是单独的 FTP 服务器软件):

$ ps -ef | grep sftp-server
otheruser   61324   32347  0 14:57 pts/0    00:00:00 grep --color=auto sftp-server

这是 sshd_config:

Include /etc/ssh/sshd_config.d/*.conf
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem       sftp    internal-sftp
Match User user1
   ChrootDirectory /sftp_files/uploads

文件夹权限:

$ ls -ld /sftp_files/uploads
drwxr-xr-x 2 root root 4096 Jan 10 14:10 /sftp_files/uploads

$ ls -ld /sftp_files
drwxr-xr-x 3 root root 4096 Jan  9 15:15 /sftp_files

$ id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1),0(root),125(ftp)

使用上述权限(/sftp_files/uploads 上的权限为 755),我设法登录、阅读和下载文件。但是当我尝试上传时,我得到了Permission denied. Error code: 3

如果我设置:

sudo chmod 775 /sftp_files/uploads

虽然我已经登录了,但我设法上传文件,但注销后,我无法再次登录。错误是:

fatal: bad ownership or modes for chroot directory "/sftp_files/uploads"

有什么方法可以让用户上传文件吗?

答案1

我找到了一个解决方案。它真的很简单。使用与上面发布的相同配置,我只是在下面添加了另一个文件夹uploads并赋予它 777 权限。

cd /sftp_files/uploads
mkdir whatever
chmod 777 whatever

登录后,用户就可以上传文件夹内的文件whatever

相关内容