在Debian系統中配置SFTP用戶組,可以按照以下步驟進行:
首先,創建一個新的用戶組來管理SFTP用戶。你可以使用groupadd
命令來創建組。
sudo groupadd sftpusers
接下來,創建一個新用戶并將其添加到你剛剛創建的組中。你可以使用useradd
命令來創建用戶,并使用-G
選項將其添加到指定的組。
sudo useradd -m -G sftpusers username
-m
選項表示創建用戶的主目錄。-G
選項用于指定用戶所屬的附加組。為新用戶設置一個密碼。
sudo passwd username
按照提示輸入并確認密碼。
編輯SSH配置文件/etc/ssh/sshd_config
,以限制SFTP用戶的訪問權限。
sudo nano /etc/ssh/sshd_config
在文件中找到或添加以下內容:
# 限制SFTP用戶的訪問
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match Group sftpusers
表示對屬于sftpusers
組的用戶應用以下配置。ChrootDirectory %h
將用戶的根目錄限制在其主目錄中。ForceCommand internal-sftp
強制使用SFTP而不是SSH。AllowTcpForwarding no
和 X11Forwarding no
禁止TCP和X11轉發。確保用戶的根目錄及其所有父目錄的權限設置正確,以便SSH可以正確地進行chroot操作。
sudo chown root:root /home/username
sudo chmod 755 /home/username
# 創建用戶的上傳目錄并設置權限
sudo mkdir /home/username/uploads
sudo chown username:sftpusers /home/username/uploads
sudo chmod 755 /home/username/uploads
最后,重啟SSH服務以應用更改。
sudo systemctl restart sshd
使用新創建的用戶登錄并測試SFTP連接。
sftp username@your_server_ip
你應該能夠成功連接并進行文件傳輸。
通過以上步驟,你就可以在Debian系統中配置SFTP用戶組,并限制用戶的訪問權限。