Linux设置SFTP目录权限

限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。

1..创建新用户,禁止ssh登录

useradd -s /sbin/nologin -M ywj

2.设置用户密码

passwd ywj123

3.创建用户的根目录,用户就只能在此目录下活动

mkdir /home/ywj

4.设置目录权限,目录的权限设定有两个要点:

目录开始一直往上到系统根目录为止的目录拥有者都只能是root
目录开始一直往上到系统根目录为止都不可以具有群组写入权限

chown root:root /home/ywj
chmod 755 /home/ywj

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 ywj #匹配用户
ChrootDirectory /home/ywj #用chroot将指定用户的根目录
ForceCommand internal-sftp #指定sftp命令
X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no

匹配多个用户可以将

Match User ywj
ChrootDirectory /home/ywj
ForceCommand internal-sftp

在添加一遍,更改对应的用户名和根目录

7.重启sshd服务

service sshd restart

8.测试:

用户登录后进入的是/home/ywj即用户根目录,根目录是无法写入的,所以先用root用户在/home/ywj新建一个目录

mkdir /home/ywj/upload

修改目录所有者和权限

chown upload:upload /home/ywj/upload
chmod 777 /home/ywj/upload

sftp登录ywj账户,进入upload目录下,可对文件进行操作

本文作者:我是大神仙

本文链接:https://www.cnblogs.com/ywjhh/p/16457000.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   何处是吾乡  阅读(2074)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起