步骤1:修改配置文件,末尾追加代码
/etc/ssh/sshd_config

Subsystem sftp internal-sftp

# This section must be placed at the very end of sshd_config
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no

含义:所有sftponly组用户将被限制在它们的主目录内,而且只能通过SFTP方式登录
#Subsystem sftp /usr/lib/openssh/sftp-server 对上面这一行加#注释

步骤2:创建sftponly分组

groupadd sftponly

步骤3:创建用户及密码

useradd obama 
passwd obama

步骤4:设置用户分组

usermod obama -g sftponly

步骤5:禁止SSH shell登录

usermod obama -s /bin/false

步骤6:设置用户主目录

mkdir -p /var/www/obama            #-p确保目录名称存在,不存在的就建一个
usermod obama -d /var/www/obama    #-d修改用户登入时的目录

步骤7:重启SSH

service ssh restart

注意事项:
8./var/www 和 /var/www/obam 的所有者都要为root

chown root:root /var/www
chown root:root /var/www/obama

目录权限设置上要遵循2点:
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。

9./var/www/obama分配755权限

chmod 755 /var/www/obama        #如果设置为777,750那么账号都无法登录

此时新建用户已经可以登录,并且根目录被限制在了登入目录,目标完成一部分
尝试创建及修改文件,发现没有读写权限,如何解决呢?

10.新建子文件夹html,并将所有者设置为登录用户及其分组

mkdir -p /var/www/obama/html
chown obama:sftponly /var/www/obama/html

11.大功告成,后续修改虚拟主机的的web目录到html即可

后记:同样的操作在一台服务器上可以,但是换了一台始终不行
准备从日志入手(/var/log/auth.log),日志文件打开后,再次尝试登陆,却又奇迹般可以了

相关文件:

/etc/passwd:用户的信息库
name:password:UID:GID:GECOS:directory:shell
1. name:用户名
2. password:可以是加密的密码,也可是占位符x;
3. UID:用户的UID
4. GID:用户所属的主组的ID号;(用户初始用户组的ID号)
5. GECOS:注释信息
6. directory:用户的家目录;
7. shell:用户的默认shell,登录时默认shell程序;

/etc/group:组的信息库
group_name:passwd:GID:user_list
1. group_name:用户组名称
2. password:用户组密码,同样,密码已经移到/etc/gshadow中去了
3. GID:用户组的ID
4. user_list:此用户组支持的账号名称

/etc/gshadow:组密码文件:
netadmin:!::gentoo
1. 用户组名
2. 密码列。开头为!表示无合法密码,所以无用户管理员。
3. 用户组管理员的账号。
4. 该用户组的所属账号(与/etc/group内容相同)哪些用户已经加入到这个用户组

/var/log/auth.log:登陆日志

参考资料:
1.https://bensmann.no/restrict-sftp-users-to-home-folder
2.https://ubuntuforums.org/showthread.php?t=1719094
3.http://www.runoob.com/linux/linux-command-manual.html
4.https://askubuntu.com/questions/134425/how-can-i-chroot-sftp-only-ssh-users-into-their-homes

作者 铁血 汉子 2017年12月19日
2024/04/25/04:50:12am 2017/12/19/6:41:40
0 8243