在CentOS系統中,SFTP(Secure File Transfer Protocol)權限管理主要通過配置OpenSSH服務器來實現。以下是詳細的配置步驟和管理方法:
首先,創建一個專門用于SFTP的用戶和用戶組:
# 創建用戶組
sudo groupadd sftp
# 創建用戶并添加到sftp組
sudo useradd -g sftp -s /bin/false mysftp
為用戶指定主目錄,并設置相應的權限:
# 創建用戶主目錄
sudo mkdir -p /home/mysftp
# 設置目錄權限
sudo chown root:sftp /home/mysftp
sudo chmod 755 /home/mysftp
# 將用戶的主目錄設置為chroot環境
sudo usermod -d /home/mysftp mysftp
編輯/etc/ssh/sshd_config
文件,配置SFTP子系統和相關選項:
# 啟用internal-sftp子系統
sudo vi /etc/ssh/sshd_config
# 添加或修改以下配置
Subsystem sftp internal-sftp
Match group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
保存配置文件后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
使用SFTP客戶端登錄,驗證用戶是否能在指定的目錄中進行文件操作:
sftp mysftp@your_server_ip
如果使用SELinux,需要確保其配置不會影響SFTP用戶的訪問:
# 臨時禁用SELinux
sudo setenforce 0
# 永久禁用SELinux(不推薦在生產環境中使用)
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config