在CentOS系統中,使用SFTP(SSH File Transfer Protocol)進行用戶管理通常涉及以下幾個步驟:
創建新用戶:
使用useradd
命令創建一個新用戶。例如,創建一個名為sftpuser
的用戶:
sudo useradd sftpuser
設置密碼:
使用passwd
命令為新用戶設置密碼:
sudo passwd sftpuser
系統會提示你輸入并確認新密碼。
限制SFTP訪問:
默認情況下,新創建的用戶可以通過SSH登錄。為了限制用戶只能通過SFTP訪問,你需要編輯SSH配置文件/etc/ssh/sshd_config
。
打開配置文件:
sudo vi /etc/ssh/sshd_config
在文件中找到以下行(如果沒有,可以添加):
Subsystem sftp /usr/libexec/openssh/sftp-server
確保這一行沒有被注釋掉(沒有#
符號)。
接下來,添加或修改以下配置以限制用戶只能使用SFTP:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
這里,Match Group sftpusers
表示接下來的配置只適用于sftpusers
組的用戶。如果你想對單個用戶進行限制,可以將Match Group sftpusers
替換為Match User sftpuser
。
創建用戶組(可選):
如果你想將多個用戶添加到同一個SFTP限制組中,可以創建一個新組并將其添加到sshd_config
文件中。
創建新組:
sudo groupadd sftpusers
將用戶添加到組:
sudo usermod -aG sftpusers sftpuser
重啟SSH服務:
保存并關閉sshd_config
文件后,重啟SSH服務以使更改生效:
sudo systemctl restart sshd
測試SFTP連接: 使用SFTP客戶端(如FileZilla)連接到服務器,使用新創建的用戶憑據進行登錄。確保只能訪問用戶的家目錄,并且無法通過SSH執行命令。
請注意,這些步驟可能會因CentOS版本的不同而略有差異。如果你使用的是較舊的CentOS版本,某些命令和配置選項可能有所不同。