所以從SSH上設定特定群組的權限,此功能也可以以限制帳號方式運作。
新增使用者
# adduser webguest
新增webeditor 群組
# groupadd webeditor
將user加入此群組
# usermod -a -G webeditor webguest
設定要限制的目錄
# chown webguest:webeditor /data/web/xsg
設定群組讀寫權限
# chmod 755 -R /data/web/xsg
備份 /etc/ssh/sshd_config
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_org
編輯 /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match group webeditor 設定webeditor這個群組
ChrootDirectory /data/web 限制只能在/data/web這個目錄
AllowTcpForwarding no
X11Forwarding no
ForceCommand internal-sftp
重啟ssh服務
# service sshd restart
使用winscp測試,無法切換目錄僅能在特定目錄操作,也無法ssh console登入。
出現ownership 錯誤訊息如下時,參閱下面連結,將目錄權限再修改一次即可。
Aug 31 17:40:43 XSG-Web01 systemd-logind: New session 17 of user webguest.
Aug 31 17:40:43 XSG-Web01 systemd: Started Session 17 of user webguest.
Aug 31 17:40:43 XSG-Web01 systemd: Starting Session 17 of user webguest.
Aug 31 17:40:43 XSG-Web01 sshd[3911]: fatal: bad ownership or modes for chroot directory "/var/www/html" [postauth]
Aug 31 17:40:43 XSG-Web01 systemd-logind: Removed session 17.
PS . 如果要限制User或Group只能在/data/web/xsg此目錄,則要將此目錄設為User的Owner及Group,並設定為755,他的上一層/data/web一定要是root:root
[root@Web01 web]# ls -al
total 0
drwxr-xr-x. 3 root root 16 Sep 1 16:49 .
drwxr-xr-x. 3 root root 16 Sep 1 16:35 ..
drwxr-xr-x. 2 webguest webeditor 49 Sep 1 16:51 xsg
Ref:
http://serverfault.com/questions/584986/bad-ownership-or-modes-for-chroot-directory-component