2017年1月15日 星期日

Ubuntu Linux 設定SFTP限制使用者目錄切換

OS : Ubuntu 15.10

n   編輯 /etc/ssh/sshd_config 在最後一行加入下列
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

n   新增一個group命名為sftpgroup
# groupadd sftpgroup

n   新增一個使用者,groupsftpgroup Shell/bin/false(無法console登入)
# useradd kitty -d /export/home/kitty -g sftpgroup -s /bin/false
# passwd kitty                                                                     更改密碼
# usermod -G sftpgroup kitty                                            設定Kitty群組為sftpgroup

# mkdir -p /export/home/kitty                                           建立使用者家目錄
# chown root:root /export/home/kitty                               設定家目錄擁有者為root (重要*)

# mkdir /export/home/kitty/uploads                                  建立一個目錄uploads
# chown kitty:sftpgroup /export/home/kitty/uploads       設定擁有者為kitty,群組為uploads


n   重啟SSH服務
# service ssh restart


目錄結構
root@ubuntu:/export/home/kitty# ls -al
total 12
drwxr-xr-x 3 root  root      4096 Jan 16 10:09 .
drwxr-xr-x 3 root  root      4096 Jan 16 10:08 ..
drwxr-xr-x 2 kitty  sftpgroup  4096 Jan 16 10:09 uploads

PS. 設定限制目錄切換的時候有個重要的地方,User的家目錄權限要設為root,另外建一個目錄為user的權限,sftpgroup的群組。