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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步