Ubuntu 14.04:由于所有权或模式不良而无法访问sftp

Bro*_*zka 0 ubuntu sftp ownership

我有问题通过sftp连接到我的ubuntu 14.04服务器.每次我尝试连接时,都会收到以下信息/错误消息:

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
Run Code Online (Sandbox Code Playgroud)

我是管理我的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
Run Code Online (Sandbox Code Playgroud)

ftp-access的用户应该是ftpaccess组的成员.用户添加此命令:

sudo adduser USERNAME --ingroup ftpaccess --no-create-home --shell=/bin/false
Run Code Online (Sandbox Code Playgroud)

"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
Run Code Online (Sandbox Code Playgroud)

目的是使用上面的命令简单地将新用户添加到ftpaccess组.如果可能,我不想将每个新用户添加到我的sshd_conf中.

我该如何解决这个问题?

谢谢,Brotzka

Jak*_*uje 6

有手册页sshd_config(5),它包含您要设置服务器的所有信息.对你来说,有关chroot目录的重要部分:

ChrootDirectory

指定在认证后chroot(2)到的目录的路径名. 在会话启动时,sshd(8)检查路径名的所有组件是否为根拥有的目录,这些目录不能被任何其他用户或组写入. 在chroot之后,sshd(8)将工作目录更改为用户的主目录.

这意味着您需要执行:

chown root:root /var/www
chmod go-w /var/www
Run Code Online (Sandbox Code Playgroud)