Ubuntu 14.04:由于所有权或模式不正确,无法访问sftp



我有一个问题连接到我的ubuntu 14.04服务器通过sftp。每次我尝试连接,我得到这个信息/错误消息:

Sep 18 15:04:47 localhost sshd[2917]: Accepted password for junperbo from      87.129.13.92 port 59333 ssh2
Sep 18 15:04:47 localhost sshd[2917]: pam_unix(sshd:session): session opened for user junperbo by (uid=0)
Sep 18 15:04:47 localhost systemd-logind[2427]: Removed session 2.
Sep 18 15:04:47 localhost systemd-logind[2427]: New session 3 of user junperbo.
Sep 18 15:04:48 localhost sshd[2954]: fatal: bad ownership or modes for chroot directory component "/var/www/"
Sep 18 15:04:48 localhost sshd[2917]: pam_unix(sshd:session): session closed for user junperbo

我刚开始管理我的Ubuntu服务器,所以请在你的回答中详细说明。我知道这个问题可以用"chmod"或/和"chown"来解决,但是怎么解决呢?

请记住,我已经用这个子系统编辑了我的sshd_config:

Subsystem sftp internatl-sftp
Match group ftpaccess
AllowUsers junperbo
ChrootDirectory /var/www/%u
PasswordAuthentication yes
x11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

具有ftp-access权限的用户应该是ftpaccess组的成员。

添加用户
sudo adduser USERNAME --ingroup ftpaccess --no-create-home --shell=/bin/false

"ls -la/var/www"给出如下输出

total 20
drwxrwx---  5 root     root      4096 Sep 18 06:45 .
drwxr-xr-x 13 root     root      4096 Sep 16 16:09 ..
drwxr-xr-x  2     1002 ftpaccess 4096 Sep 18 06:27 domainx
drwxr-xr-x  2 root     root      4096 Sep 16 16:15 html
drwxr-xr-x  2 junperbo ftpaccess 4096 Sep 18 06:45 junperbo
目的是简单地使用上面的命令向ftpaccess组添加新用户。如果可能的话,我不想在我的sshd_conf中添加每个新用户。

我该如何解决这个问题?

谢谢,Brotzka

sshd_config(5)的手册页,它包含了所有您想要设置服务器的信息。对于您来说,chroot目录有一个重要的部分:

ChrootDirectory

指定认证后目录的路径名chroot(2)到。在会话启动时,sshd(8)检查路径名的所有组件是否为根所有的目录,并且不能被任何其他用户或组写入。执行chroot命令后,sshd(8)将工作目录修改为用户的主目录。

这意味着您需要执行:

chown root:root /var/www
chmod go-w /var/www

最新更新