在CentOS系統上管理SFTP用戶時,可以遵循以下技巧和步驟:
創建用戶組:首先,創建一個專門用于SFTP用戶的組,例如 sftp
。
sudo groupadd sftp
創建用戶:使用 useradd
命令創建新用戶,并將其添加到 sftp
組。
sudo useradd -g sftp -s /sbin/nologin -d /home/sftpuser sftpuser
其中,-s /sbin/nologin
禁止用戶通過SSH登錄系統,-d /home/sftpuser
指定用戶的主目錄。
設置密碼:為新用戶設置密碼。
sudo passwd sftpuser
創建用戶主目錄:如果用戶的主目錄不存在,需要手動創建。
sudo mkdir /home/sftpuser
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
編輯SSH配置文件:打開 /etc/ssh/sshd_config
文件,添加或修改以下配置。
sudo vi /etc/ssh/sshd_config
添加或修改以下內容:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這些配置限制了SFTP用戶只能訪問其主目錄(%h
表示用戶的家目錄),并且只能使用SFTP進行文件傳輸。
重啟SSH服務:保存并退出編輯器后,重啟SSH服務以應用更改。
sudo systemctl restart sshd
設置chroot目錄權限:確保SFTP用戶的根目錄及其所有上級目錄的所有者和權限設置正確。
sudo chown root:sftp /home/sftpuser
sudo chmod 755 /home/sftpuser
創建可寫目錄:如果用戶需要在主目錄中寫入文件,可以創建一個特定的目錄并設置相應的權限。
sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftp /home/sftpuser/upload
sudo chmod 755 /home/sftpuser/upload
使用SFTP客戶端連接到服務器,驗證用戶是否能夠正確訪問其主目錄。
sftp sftpuser@your_server_ip
通過以上步驟,您可以在CentOS系統上有效地管理SFTP用戶,確保文件傳輸的安全性和可靠性。