sftp 限制用户登陆指定目录(家目录)
本文源地址http://blog.chinaunix.net/uid-42741-id-3069880.html
即限制 sftp 用户登陆后,只能在家目录下活动,不能到其他或上级目录
该功能需要4.8以上版本
[root@backup ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb2013
以下操作都是在root下
[root@backup ~]# cp/etc/ssh/sshd_config{,.old}
[root@backup ~]# vim /etc/ssh/sshd_config
……
#Subsystem sftp /usr/libexec/openssh/sftp-server <===注释这一行
增加下面4行
Subsystem sftp internal-sftp
Match Group chroot
ChrootDirectory /chroot/%u
ForceCommand internal-sftp
[root@backup ~]# cd /
[root@backup /]# mkdir chroot
[root@backup /]# groupadd chroot
[root@backup /]# useradd -d /chroot/work -gchroot -s /bin/false work
[root@backup /]# echo 123456|passwd --stdinwork
更改用户 work 的密码。
passwd:所有的身份验证令牌已经成功更新。
[root@backup /]# chown root /chroot/work
[root@backup /]# chmod 750 /chroot/work
[root@backup /]# ll /chroot/work -d
drwxr-x--- 2 root chroot 4096 5月 8 22:50 /chroot/work
[root@backup /]# /etc/init.d/sshd restart
停止 sshd: [确定]
正在启动 sshd: [确定]
以上都是在服务端
下面是客户端测试
[root@nfs01 ~]# sftp work@172.16.1.41
Connecting to 172.16.1.41...
work@172.16.1.41's password:
sftp> ls
123
sftp> cd /tmp
Couldn't canonicalise: No such file ordirectory
sftp> get /etc/hosts
Couldn't stat remote file: No such file ordirectory
File "/etc/hosts" not found.
sftp> lls
anaconda-ks.cfg install.log install.log.syslog
sftp> put /etc/hosts
Uploading /etc/hosts to /hosts
Couldn't get handle: Permission denied
sftp>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。