我有一个问题通过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
我是pipe理我的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访问权限的用户是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