sftp限制用户登陆指定目录(家目录)
创新互联致力于互联网网站建设与网站营销,提供成都做网站、网站制作、网站开发、seo优化、网站排名、互联网营销、成都微信小程序、公众号商城、等建站开发,创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。
本文源地址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>