CentOS配置SFTP受限账户 - Mr.Ding

CentOS配置SFTP受限账户

天天记事 467 / 2021-09-03 18:37:14

操作步骤:

1. 创建用户组

groupadd sftpusers

2. 新增受限sftp用户ftpuser,不运行执行shell脚本,同时指定用户组和工作目录

useradd -s /bin/false -G sftpusers ftpuser -d /opt/workspace

3. 设置用户密码

passwd ftpuser

4. 修改用户目录拥有者

chown root /opt/workspace

5. 修改用户目录权限掩码

chmod 755 /opt/workspace

6. 修改sshd配置文件

vim /etc/ssh/sshd_config

找到

Subsystem sftp /usr/libexec/openssh/sftp-server

注释掉,并新增一行配置为如下内容

#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

跳转到文件末尾(注意:一定是文件末尾末尾末尾...),新增如下配置

Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no

保存并退出

7. 重启sshd服务

service sshd restart

8. 登录验证

1)、ssh验证登录(失败,不允许执行脚本)

ssh ftpuser@<IP>[:<port>]

2)、sftp验证登录(成功,目录根路径/指定到操作系统的/opt/workspace)

sftp ftpuser@<IP>[:<port>]

9. 额外说明,创建用户时,会在用户目录下创建几个隐藏文件(点开头的文件,如.bashrc等),为保证目录的清洁,可清理掉。

注意:使用新建SFTP账号登录服务器后,目录直接指向/opt/workspace,在此目录当前用户是无法执行创建文件夹和新增文件等操作的,此时的做法是:先使用root在该目录创建子目录,创建子目录后,使用chown命令将目录权限授权给当前用户,如:

mkdir /opt/workspace/www
chown ftpuser /opt/workspace/www/



差不多了,够用了!