我有一个问题连接到我的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