sftp多用戶不同權限配置過程
mkdir -pv /opt/ftpsite/{admin,user1,user2} groupadd sftpadmins groupadd sftpusers useradd -g sftpadmins -s /sbin/nologin -d /opt/ftpsite/ admin passwd admin 123456 useradd -g sftpusers -s /sbin/nologin -d /opt/ftpsite/ user1 passwd user1 111111 useradd -g sftpusers -s /sbin/nologin -d /opt/ftpsite/ user2 passwd user2 222222 [注意:不要使用 echo "PASSWORD" | passwd --stdin USERNAME 這種方式設定密碼,經測試有bug] vim /etc/ssh/sshd_config Port 35021 Subsystem sftp internal-sftp Match Group sftpadmins ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no 說明1: ChrootDirectory %h ,表示用戶通過sftp登錄後就把根目錄切換到它自己的家目錄 說明2: 以上爲經過修改的配置 sftp -oPort=35021 [email protected] 輸入密碼進行登錄
三個用戶先測試登錄成功,但因爲目錄都是root用戶的,所以沒有寫入權限
接下來修改用戶權限如下 [root]# ll -d /opt/ftpsite drwxr-xr-x 5 root root 4096 5月 11 10:59 /opt/ftpsite 說明:用戶的家目錄屬主必須是root,且權限最高755 [root]# cd ftpsite/ [root]# ll drwxrwx--- 2 admin sftpadmins 4096 5月 12 15:10 admin dr-xrwx--- 2 user1 sftpadmins 4096 5月 12 12:15 user1 dr-xrwx--- 2 user2 sftpadmins 4096 5月 12 15:11 user2
sftp目錄結構 /opt/ftpsite/{admin,user1,user2}
用戶名: admin 密碼: 123456
sftp -oPort=35021 [email protected]
可以在{admin,user1,user2}目錄讀寫
用戶名: user1 密碼: 111111
sftp -oPort=35021 [email protected]
可以列出所有目錄,但只能進入bmcoop1目錄讀取,其他目錄拒絕查看/進入
用戶名: user2 密碼: 222222
sftp -oPort=35021 [email protected]
可以列出所有目錄,但只能進入bmcoop2目錄讀取,其他目錄拒絕查看/進入
使用FileZilla連接時,格式如下
主機: sftp://192.168.56.23
用戶名: user2
密碼: 222222
端口: 35021