溫馨提示×

如何在Debian SFTP中配置訪問控制列表

小樊
39
2025-08-13 03:16:08
欄目: 智能運維

在Debian系統中配置SFTP訪問控制列表(ACL)可以通過使用sshd_config文件和acl包來實現。以下是詳細的步驟:

1. 安裝必要的軟件包

首先,確保你已經安裝了openssh-serveracl包。如果沒有安裝,可以使用以下命令進行安裝:

sudo apt update
sudo apt install openssh-server acl

2. 配置SSH服務器

編輯/etc/ssh/sshd_config文件,確保以下配置項存在并正確設置:

# 允許SFTP子系統
Subsystem sftp /usr/lib/openssh/sftp-server

# 啟用ACL支持
UsePAM yes

3. 創建用戶和組

創建一個專門用于SFTP訪問的用戶和組。例如,創建一個名為sftpuser的用戶和一個名為sftpgroup的組:

sudo addgroup sftpgroup
sudo adduser --ingroup sftpgroup sftpuser

4. 設置目錄權限

確保SFTP用戶的主目錄及其子目錄的權限設置正確。通常,主目錄的權限應設置為755,并且所有者應為sftpuser

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser

sudo mkdir /home/sftpuser/uploads
sudo chown sftpuser:sftpgroup /home/sftpuser/uploads
sudo chmod 755 /home/sftpuser/uploads

5. 配置ACL

使用setfacl命令為特定目錄設置ACL。例如,為/home/sftpuser/uploads目錄設置讀寫權限:

sudo setfacl -m u:sftpuser:rwx /home/sftpuser/uploads
sudo setfacl -m g:sftpgroup:rwx /home/sftpuser/uploads

6. 配置SSHD以使用ACL

編輯/etc/ssh/sshd_config文件,添加或修改以下配置項以啟用ACL支持:

Match Group sftpgroup
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

7. 重啟SSH服務

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

sudo systemctl restart sshd

8. 測試SFTP訪問

使用SFTP客戶端連接到服務器,驗證訪問控制是否按預期工作:

sftp sftpuser@your_server_ip

你應該能夠看到sftpuser的主目錄,并且只能訪問uploads目錄及其子目錄。

通過以上步驟,你可以在Debian系統中成功配置SFTP訪問控制列表。

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