配置 CentOS FTP 服務器的訪問控制列表(ACL)可以通過以下步驟完成。我們將使用 vsftpd 作為 FTP 服務器軟件。以下是詳細的步驟:
首先,確保你的 CentOS 系統上已經安裝了 vsftpd。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install vsftpd
編輯 vsftpd 的配置文件 /etc/vsftpd/vsftpd.conf
。你可以使用任何文本編輯器來編輯這個文件,例如 vi
或 nano
。
sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中,找到并修改以下選項:
local_enable=YES
:允許本地用戶登錄。write_enable=YES
:允許本地用戶寫入文件。chroot_local_user=YES
:將本地用戶鎖定在他們的主目錄中。allow_writeable_chroot=YES
:允許寫入 chroot 環境(如果啟用 chroot)。為了管理 ACL,你需要創建用戶和組。例如,創建一個名為 ftpusers
的組和一個名為 ftpuser1
的用戶。
sudo groupadd ftpusers
sudo useradd -m ftpuser1 -G ftpusers
sudo passwd ftpuser1
按照提示設置密碼。
vsftpd 支持使用擴展的 POSIX 訪問控制列表(ACL)。你可以在 /etc/vsftpd/user_list_file
文件中定義 ACL。
首先,創建或編輯 /etc/vsftpd/user_list_file
文件:
sudo vi /etc/vsftpd/user_list_file
在這個文件中,添加允許和拒絕的條目。例如:
# Allow users in group ftpusers
ftpuser1 allow
在 /etc/vsftpd/vsftpd.conf
文件中,添加或修改以下選項:
file_open_mode=0644
:設置文件權限。local_umask=022
:設置本地用戶的umask。allow_writeable_chroot=YES
:允許寫入 chroot 環境。acl_enable=YES
:啟用 ACL。userlist_enable=YES
:啟用用戶列表。userlist_file=/etc/vsftpd/user_list_file
:指定用戶列表文件的路徑。userlist_deny=NO
:默認情況下,不拒絕用戶列表中的用戶。保存并退出配置文件后,重啟 vsftpd 服務以應用更改:
sudo systemctl restart vsftpd
你可以使用 ftp
命令測試配置是否正確。例如:
ftp ftp://ftpuser1@your_server_ip
如果配置正確,你應該能夠成功登錄并訪問服務器。
通過以上步驟,你已經成功配置了 CentOS FTP 服務器的訪問控制列表(ACL)。