sftp多用戶不同權限配置過程


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




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