sftp之限制用戶在家目錄下

sftp 限制用戶登陸指定目錄(家目錄)

限制 sftp 用戶登陸後,只能在家目錄下活動,不能到其他或上級目錄,可以按照下面方法進行操作:

一、升級ssh軟件,版本必須在 4.8 以上;

二、備份配置文件:(以下所有命令,都需要使用root用戶來執行)

cd   /etc/ssh/
mv   sshd_config   sshd_config.bak
mv   sshd_config.rpmnew   sshd_config

三、修改 /etc/ssh/sshd_config

 #Subsystem      sftp    /usr/libexec/openssh/sftp-server (這行必須註釋掉)
Subsystem sftp internal-sftp
Match Group chroot
ChrootDirectory /chroot/%u
ForceCommand internal-sftp

說明:本配置中,ChrootDirectory 是 /chroot/%u,匹配這個規則的組名爲 chroot(根據自己需求更改可以),所以以後添加需要限制活動目錄的用戶時,必須屬於chroot這個組;

四、建立相關目錄,添加用戶和組,這裏以work用戶爲例:

 cd  /
 mkdir  chroot
 groupadd  chroot
 useradd -d  /chroot/work  -g   chroot -s  /bin/false   work
 passwd work
 chown  root  /chroot/work
 chmod  750 /chroot/work

說明:在/chroot目錄下,用戶家目錄 work 的屬主必須是root,而不能是用戶本身,屬組的話,必須是chroot,權限 750 (需要注意的是,新建用戶的家目錄,權限是700,但這樣sftp登陸的話,是看不到目錄下的列表的,所以,必須是750的權限(否則連接失敗))且 chroot目錄應爲755權限 例如:

1	drwxr-x--- 7 root chroot 4096 Aug  5 13:23  work

多個用戶時,重複以上操作,使其屬於chroot組即可。

五、如果需要上傳文件,則按照下面執行:

cd   /chroot/work
mkdir   {upload,pub}
chmod a+w upload -R upload

其中,upload目錄爲可讀寫權限,可以用來上傳,pub目錄爲只讀權限,可以用來下載。(當然upload權限足夠,既可以用於上傳也可下載)

六。重啓服務

service  sshd  restart
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章