近期要给服务器设置一个SFTP用户,可以上传删除修改的SFTP,但是禁止该用户SSH登录。这里记录下来
先升级
yum update
fox.风
创建用户组 sftp
用户组名为sftp
groupadd sftp
创建用户 test
例如这个用户名为 test
useradd -G sftp -s /sbin/nologin test
-s 禁止用户ssh登陆
-G 加入sftp 用户组
创建密码
passwd test
修改配置文件sshd_config
vim /etc/ssh/sshd_config
修改为如下
....
##下面这行注释掉
#Subsystem sftp /usr/libexec/openssh/sftp-server
##后面加入
Subsystem sftp internal-sftp
Match Group sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
说明
Match Group sftp 匹配sftp用户组中的用户
ChrootDirectory %h 只能访问默认的用户目录(自己的目录),例如 /home/test
设置目录权限
chown root:sftp /home/test
chgrp -R sftp /home/test
chmod -R 755 /home/test
#设置用户可以上传的目录,改目录下允许用户上传删除修改文件及文件夹
mkdir /home/test/upload
chown -R test:sftp /home/test/upload
chmod -R 755 /home/test/upload
重启ssh
systemctl restart sshd.service
链接
新建一个 终端链接,或者在 FTP 客户端中使用SFTP 模式链接(输入相关的IP用户名及端口)
sftp test@192.1.1.1
F&Q
如果报类似以下错误
sftp Connection to closed by remote host.
或者
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
这个就是该用户根目录的权限问题,chown root:sftp /home/test
设置为root
用户即可解决,目录权限为755
其他,检测 /etc/selinux/config
中SELINUX 是否为SELINUX=disabled
,如果不是请改正
参考:http://blog.csdn.net/dodott/article/details/50945888
https://linux.cn/article-3692-1.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。