在 CentOS 上設置和管理 SFTP 權限,通常需要以下幾個步驟:
安裝 OpenSSH 服務器:
首先,確保你的 CentOS 系統上已經安裝了 OpenSSH 服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
配置 OpenSSH 服務器:
編輯 /etc/ssh/sshd_config
文件,確保以下配置項已經啟用(刪除或注釋掉前面的 #
):
PubkeyAuthentication yes
PasswordAuthentication no
這將允許使用公鑰進行身份驗證,而不允許使用密碼。你也可以根據需要調整其他配置項。
創建用戶和目錄:
為每個需要訪問 SFTP 的用戶創建一個單獨的系統用戶,并為他們分配一個家目錄。例如,為名為 sftpuser
的用戶創建家目錄:
sudo useradd -m sftpuser
sudo passwd sftpuser
設置用戶的密碼。
設置目錄權限:
為用戶的家目錄設置合適的權限,以便用戶可以訪問和修改其中的文件。例如,將 /home/sftpuser
目錄的權限設置為 755:
sudo chmod 755 /home/sftpuser
將家目錄的所有者設置為用戶本身:
sudo chown sftpuser:sftpuser /home/sftpuser
創建 SFTP 用戶組:
創建一個名為 sftpusers
的用戶組,用于存放所有 SFTP 用戶:
sudo groupadd sftpusers
將用戶添加到 SFTP 用戶組:
將剛剛創建的用戶添加到 sftpusers
組:
sudo usermod -aG sftpusers sftpuser
重啟 OpenSSH 服務器:
保存所有更改并重啟 OpenSSH 服務器以應用新的配置:
sudo systemctl restart sshd
配置防火墻:
如果你的 CentOS 系統啟用了防火墻,請確保允許 SSH 連接。編輯 /etc/firewalld/rules.d/ssh.rules
文件,添加以下內容:
sshd
然后重新加載防火墻配置:
sudo firewall-cmd --reload
現在,你已經成功設置了 CentOS 上的 SFTP 權限管理。用戶可以使用他們的私鑰登錄,并在其家目錄中訪問和修改文件。你可以根據需要進一步自定義權限和配置。