溫馨提示×

CentOS上VSFTP權限如何設置

小樊
42
2025-10-19 14:40:45
欄目: 智能運維

CentOS上VSFTP權限設置詳細步驟

1. 安裝VSFTP

首先確保系統已更新,然后安裝VSFTP服務:

sudo yum update -y
sudo yum install vsftpd -y

2. 啟動并啟用VSFTP服務

啟動VSFTP服務并設置為開機自啟:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3. 配置基礎權限(修改vsftpd.conf

編輯VSFTP主配置文件/etc/vsftpd/vsftpd.conf,設置以下關鍵參數:

sudo vim /etc/vsftpd/vsftpd.conf
  • 禁用匿名訪問(提升安全性):
    anonymous_enable=NO
    
  • 允許本地用戶登錄
    local_enable=YES
    
  • 開啟寫入權限(允許用戶上傳/修改文件):
    write_enable=YES
    
  • 設置本地用戶文件掩碼(默認創建文件權限為644,目錄為755):
    local_umask=022
    
  • 限制用戶至主目錄(chroot jail)(增強安全性,防止訪問系統其他目錄):
    chroot_local_user=YES
    allow_writeable_chroot=YES  # 允許chroot目錄可寫(若用戶主目錄需要寫入)
    
  • 可選:限制用戶列表(僅允許/etc/vsftpd/user_list中的用戶登錄):
    userlist_enable=YES
    userlist_file=/etc/vsftpd/user_list
    userlist_deny=NO  # 允許列表中的用戶登錄
    

4. 設置用戶主目錄權限

確保用戶主目錄權限正確(通常為755),且所有者為用戶自身:

# 創建用戶(示例:ftpuser)
sudo useradd -m ftpuser
sudo passwd ftpuser

# 設置主目錄權限
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

若用戶需要上傳文件到子目錄(如uploads),需額外設置子目錄權限:

sudo mkdir -p /home/ftpuser/uploads
sudo chown ftpuser:ftpuser /home/ftpuser/uploads
sudo chmod 775 /home/ftpuser/uploads  # 允許用戶寫入

5. 配置SELinux上下文(若啟用SELinux)

若SELinux處于enforcing模式,需調整FTP目錄的SELinux上下文,允許FTP訪問:

# 設置用戶主目錄的SELinux上下文(類似httpd內容)
sudo chcon -Rv --type=httpd_sys_content_t /home/ftpuser

# 若需要上傳文件,添加寫入權限
sudo chcon -Rv --type=httpd_sys_rw_content_t /home/ftpuser/uploads

6. 配置防火墻

允許FTP流量(默認端口21)通過防火墻:

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

7. 重啟VSFTP服務

應用所有配置更改:

sudo systemctl restart vsftpd

8. 可選:高級權限控制(虛擬用戶)

若需要更細粒度的權限(如限制特定用戶只能訪問特定目錄),可創建虛擬用戶:

# 創建虛擬用戶文件(格式:用戶名 密碼)
sudo vim /etc/vsftpd/virtual_users.txt
# 示例內容:
ftp_virtual user1pass
ftp_virtual2 user2pass

# 生成數據庫文件
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
sudo chmod 600 /etc/vsftpd/virtual_users.db

# 配置PAM認證(編輯/etc/pam.d/vsftpd)
sudo vim /etc/pam.d/vsftpd
# 注釋原有內容,添加以下兩行:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users

# 配置VSFTP虛擬用戶
sudo vim /etc/vsftpd/vsftpd.conf
# 添加以下內容:
guest_enable=YES
guest_username=ftpuser  # 虛擬用戶映射的系統用戶
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER  # 虛擬用戶主目錄
chroot_local_user=YES
allow_writeable_chroot=YES

# 重啟服務
sudo systemctl restart vsftpd

通過以上步驟,可完成CentOS上VSFTP的基礎權限設置。根據實際需求調整vsftpd.conf中的參數(如chroot、userlist等),即可實現不同用戶的權限控制。

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