适用背景:避免安全审查
========================ftp:=====================
ftptest01是已创建用户,当前系统版本redhat 7.6
①usermod -s /sbin/nologin ftptest01
②cd /etc/ssh
vi sshd_config,在文件最后一行添加以下内容
DenyUsers ftptest01
再执行重启,systemctl restart sshd
③ echo /sbin/nologin >>/etc/shells
此时,只能通过ftp IP ,使用ftptest01登录,无法使用ftptest01 直接ssh服务器
======================sftp:=====================
①同理创建一个用户,并指定用户组,例
groupadd sftpuser
useradd sftpuser -s /sbin/nologin -g sftpuser
或者新建用户直接可以
useradd sftpuser1 -s /sbin/nologin。默认组是sftpuser1,无需额外执行groupadd
②vi /etc/ssh/sshd_config
找到以下这行,注释掉,并新增一行
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
最下方加上以下几行
Match Group sftp_user --匹配这个组中的用户
X11Forwarding no -- 目前未知
AllowTcpForwarding no -- 目前未知
ChrootDirectory %h -- 创建用户时的默认目录
ForceCommand internal-sftp --该参数强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令
--重点!检查新创建的用户默认路径属组是否是root,
可以使用命令chown -R sftpuser:root /home/sftpuser 修改权限,否则会登录不上!切记
如下:drwx------. 5 sftpuser root 102 1月 26 13:36 sftpuser
③重启服务
systemctl restart sshd