在CentOS系統中,您可以通過以下步驟創建一個用于SFTP的用戶:
登錄到服務器: 使用SSH登錄到您的CentOS服務器。
創建新用戶:
使用useradd命令創建一個新用戶。例如,創建一個名為sftpuser的用戶:
sudo useradd sftpuser
設置密碼:
使用passwd命令為新用戶設置密碼:
sudo passwd sftpuser
按照提示輸入并確認密碼。
限制用戶的shell訪問:
為了確保用戶只能通過SFTP訪問,而不是SSH,您可以將用戶的默認shell更改為/sbin/nologin或/bin/false。這樣,用戶登錄后將無法使用shell。
sudo usermod -s /sbin/nologin sftpuser
配置SSH和SFTP:
編輯SSH配置文件/etc/ssh/sshd_config,確保以下配置項存在并且沒有被注釋掉:
Subsystem sftp internal-sftp
這將啟用內建的SFTP子系統。
創建用戶的家目錄: 確保用戶的家目錄存在,并且權限設置正確:
sudo mkdir -p /home/sftpuser
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
配置用戶的訪問權限:
您可以使用chroot來限制用戶只能訪問其家目錄。編輯SSH配置文件/etc/ssh/sshd_config,添加或修改以下內容:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這將確保sftpuser只能訪問其家目錄,并且不能進行TCP和X11轉發。
重啟SSH服務: 使配置生效,重啟SSH服務:
sudo systemctl restart sshd
完成以上步驟后,您就可以使用新創建的用戶sftpuser通過SFTP連接到服務器了。確保防火墻允許SFTP連接(默認端口22)。