Linux下限制用户通过SFTP访问指定目录
1、需求说明:
在一些生产环境中,有部分运营人员需要批量下载并上传专题,配置FTP服务进行权限控制相对比较复杂,也存在安全隐患,为了不让用户浏览除指定目录外得内容,我们可以通过SFTP限制允许访问得目录
2、创建系统用户
# useradd admin && echo 'admin123' | passwd --stdin admin
3、配置sftp的账户权限
修改文件/etc/ssh/sshd_config之前先备份文件cp sshd_config{,.bak}
Subsystem sftp internal-sftp
Match User admin # 需要限制得用户admin
ChrootDirectory /data/www/Appcode # 允许admin用户访问得指定目录
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
效果如图所示:
4、设置允许用户访问目录的权限
Sftp用户访问目录需要设置所有者和所属组的权限均为root,并设置目录的权限为755
# chown -R root:root /data/www/Appcode/ # chmod 755 /data/www/Appcode/ # /etc/init.d/sshd restart
5、通过重新启动SSHD后我们通过SFTP连接服务器
登录后的目录定位到了指定的目录"/data/www/Appcode"目录,不能浏览系统的其他目录,也不能切换目录,用户可正常浏览下载目录中的文件,但是用户无法上传文件。即使在/data/www/Appcode/下属主为admin的目录,用户也无法上传。此时需要在/data/www/Appcode/下建立属主属组为admin的目录,并给/data/www/Appcode目录设置acl权限即可
# mkdir /data/www/Appcode/test # chown admin:admin /data/www/Appcode/test # setfacl -m u:admin:rwx /data/www/Appcode
6、setfacl报错Operation not supported
setfacl: /data/www/Appcode: Operation not supported
一般情况下(ext4),默认acl支持都是加载的.但如果遇到二般情况,文件系统加载时没有指定acl.我们可以能过编辑/etc/fstab文件,找到对应得分区指定acl权限,然后重新挂载分区即可。
# mount -o remount /data # setfacl -m u:admin:rwx /data/www/Appcode
- 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录
- Linux 限制SFTP用户只能访问某个目录
- Linux上设置用户通过SFTP访问目录的权限的方法
- Linux监狱限制SSH用户访问指定目录(一)
- Linux 限制SFTP用户只能访问某个目录
- 同一台 Centos (Linux)服务器设置多个sftp 账号,并限制用户只能访问指定文件路径
- 限制linux用户只能通过sftp访问服务器端资源
- 限制SSH用户访问Linux中指定的目录
- vsftpd添加用户并限制目录(指定用户访问指定目录)
- sftp 限制用户登陆指定目录(家目录)
- [ASP.NET2.0]限制web用户对指定目录下的特定类型文件的访问
- Linux系统使用SFTP服务创建用户并限定目录访问权限
- sftp 限制用户登陆指定目录
- vsftpd添加用户并限制目录(指定用户访问指定目录)
- centos下配置sftp且限制用户访问目录
- linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题
- linux 创建用户并限制其访问目录
- sftp 限制用户登陆指定目录(家目录)
- 创建sftp用户 只允许访问指定目录 操作命令
- linux 中判断指定用户对指定目录的访问权限