溫馨提示×

CentOS SFTP配置中如何設置用戶權限

小樊
49
2025-08-22 19:07:47
欄目: 智能運維

在CentOS系統中,配置SFTP用戶權限通常涉及編輯SSH配置文件(/etc/ssh/sshd_config)和使用chroot環境來限制用戶的訪問范圍。以下是詳細的步驟:

1. 編輯SSH配置文件

首先,打開SSH配置文件:

sudo vi /etc/ssh/sshd_config

2. 配置SFTP子系統

確保以下行沒有被注釋掉,并且正確配置:

Subsystem sftp /usr/libexec/openssh/sftp-server

3. 創建SFTP用戶組

創建一個專門用于SFTP用戶的組:

sudo groupadd sftpusers

4. 添加用戶并設置組

添加一個新用戶并將其添加到sftpusers組中。例如,添加用戶username

sudo useradd -m -G sftpusers username
sudo passwd username

在提示輸入密碼時,輸入并確認密碼。

5. 配置chroot環境

為了限制用戶的訪問范圍,可以使用chroot環境。首先,確保/home/username目錄的所有者是root:

sudo chown root:root /home/username

然后,創建一個子目錄供用戶訪問:

sudo mkdir /home/username/upload
sudo chown username:sftpusers /home/username/upload

6. 配置sshd_config

編輯/etc/ssh/sshd_config文件,添加或修改以下內容:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
  • ChrootDirectory %h:將用戶的根目錄限制在其主目錄中。
  • ForceCommand internal-sftp:強制使用SFTP而不是SSH。
  • AllowTcpForwarding noX11Forwarding no:禁用TCP和X11轉發,增加安全性。

7. 重啟SSH服務

保存并關閉sshd_config文件后,重啟SSH服務以應用更改:

sudo systemctl restart sshd

8. 測試SFTP連接

使用SFTP客戶端連接到服務器,驗證配置是否正確:

sftp username@your_server_ip

如果一切配置正確,你應該能夠登錄并只能訪問/home/username/upload目錄。

注意事項

  • 確保SELinux沒有阻止SFTP訪問。如果SELinux處于 enforcing 模式,可能需要調整相關策略。
  • 確保防火墻允許SSH(默認端口22)連接。

通過以上步驟,你可以成功配置CentOS系統中的SFTP用戶權限,并限制用戶的訪問范圍。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女