我有一个CentOs版本6.4与Digital Ocean,并希望成功创建SFTP用户并将它们安全到用户自己的chroot主目录,但我担心我弄得一团糟.
我已经尝试了很多东西,太多了,无法在这里列出,因为大多数可能不正确或者没有多大意义,但我觉得应该是正确的过程,我尝试的是: –
为sftp创建一个组: –
groupadd sftp
创建用户并设置其主目录: –
useradd -d /var/www/vhosts/domain.com dummyuser
为用户设置密码: –
passwd dummyuser
将用户组更改为’sftp’: –
usermod -g sftp dummyuser
将用户的shell设置为/ bin / false: –
usermod -s /bin/false dummyuser
在sshd_config中编辑子系统(/ etc / ssh /): –
#Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp
Match group sftp X11Forwarding no ChrootDirectory %h AllowTcpForwarding no ForceCommand internal-sftp
我确保所有以下目录都是root:root: –
/var /var/www /var/www/vhosts /var/www/vhosts/domain.com
如果我然后尝试使用用户dummyuser(在WinSCP中)通过SFTP登录服务器,我会得到以下内容: –
Authentication log (see session log for details): Using username "dummyuser". Authentication Failed.
我想要实现的只是将用户监禁到他们的主目录.我还设置并配置了vsftpd.用户可以正常登录,但可以访问整个服务器 – 我根本没有设法监禁工作.
编辑
忘了提,我然后重启了sshd: –
service sshd restart
记录结果
/var/log/secure
我用server_name替换了实际的服务器名称.
Apr 28 14:20:56 server_name sshd[9944]: Accepted password for dummyuser from 80.194.255.4 port 44402 ssh2 Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session opened for user dummyuser by (uid=0) Apr 28 14:20:56 server_name sshd[9946]: fatal: bad ownership or modes for chroot directory component "/var/www/vhosts/" Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session closed for user dummyuser