1.创建新用户redhat
useradd -s /sbin/nologin -M redhat
2.设置用户密码
passwd redhat
3.创建用户的根目录,用户就只能在此目录下活动
mkdir /home/redhat
4.设置目录权限,目录的权限设定有两个要点:
目录开始一直往上到系统根目录为止的目录拥有者都只能是root
目录开始一直往上到系统根目录为止都不可以具有群组写入权限
chown root:root /home/redhat
chmod 755 /home/redhat
5.配置sshd_config
vim /etc/ssh/sshd_config
6.修改为下面内容,保存退出
复制代码
#注释掉这行
#Subsystem sftp /usr/libexec/openssh/sftp-server
#添加在配置文件末尾
Subsystem sftp internal-sftp #指定使用sftp服务使用系统自带的internal-sftp
Match User redhat #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /home/redhat #用chroot将指定用户的根目录,
ForceCommand internal-sftp #指定sftp命令
X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no
7.重启sshd服务
service sshd restart
8.测试:
用户登录后进入的是/home/redhat即用户根目录,根目录是无法写入的,所以先用root在/home/redhat新建一个/home/check目录(按照要求建立)
mkdir /home/redhat/home
mkdir /home/redhat/home/check
修改目录所有者和权限
chown redhat:redhat /home/redhat/home/check
chmod 755 /home/redhat/home/check
sftp登录redhat用户,进入/home/check目录,即可在/home/redhat/home/check下,对文件进行添加、修改、删除的操作
sftp -oPort=22 redhat@ip
注:
此时测试若出现下载可以,无法上传的情况,此时再进行如下操作:
8、修改/etc/selinux/config
文本编辑器打开/etc/selinux/config
vi /etc/selinux/config
将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存。
在输入命令
setenforce 0
service sshd restart
此时再进行测试,上传也可以了
推荐使用FileZilla测试
![](https://img.haomeiwen.com/i5342951/8b58fea8191ce0d7.png)
网友评论