1 創建sftp群組
groupadd sftp
2 創建sftp用戶並關聯到sftp群組
useradd -d /home/sftpdir -s /sbin/nologin -g sftp aaa
修改用戶aaa的密碼
passwd aaa
解析: useradd 添加用戶ftpUser passwd 給用戶ftpuser添加密碼
-d 指定用戶根目錄為/mnt/infinitsoft
-s 指定shell腳本為/sbin/nologin,表示不允許shell登錄
-g 創建分組sftp
-G 指定root分組
PS: 創建有問題可以刪除重新創建 userdel -r ftpUser
3 關於/home/aaa權限和歸屬問題
/home 群組歸屬:root:root 權限:755
chown root:root /home chmod 755 /home
/home/aaa 群組歸屬:root:root 權限:755
chown root:root /home/aaa chmod 755 /home/aaa
/home/aaa/xxx 群組歸屬 aaa:sftp 權限:777
chown aaa:sftp /home/aaa/xxx chmod 777 /home/aaa/xxx
4 更改sshd_config文件,修改相關的配置(增加)
vim /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server 注釋掉這一行 Subsystem sftp internal-sftp Match User aaa ChrootDirectory /home/aaa ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
參數 | 說明 |
---|---|
Subsystem sftp internal-sftp | 指定使用sftp服務使用系統自帶的internal-sftp |
Match Group sftp | 用來匹配sftp組的用戶,如果要匹配多個組,多個組之間用逗號分割 |
Match User mysftp | 匹配用戶,多個用戶名之間也是用逗號分割 |
ChrootDirectory /home/%u | 設定屬於用戶組sftp的用戶訪問的根文件夾 |
ForceCommand internal-sftp | 指定sftp命令 |
AllowTcpForwarding no | |
X11Forwarding no | 設置不允許SSH的X轉發 |
5 重啟sshd服務
service sshd restart