在Linux FTP服務器上設置用戶權限是一個涉及多個步驟的過程,通常使用vsftpd(Very Secure FTP Daemon)作為FTP服務器軟件。以下是詳細的步驟指南:
首先,確保你的系統上已經安裝了vsftpd。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install vsftpd
編輯vsftpd的配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
根據你的需求進行配置。以下是一些常用的配置選項:
listen=YES
:啟用獨立模式。listen_ipv6=NO
:禁用IPv6支持(如果不需要)。anonymous_enable=NO
:禁止匿名用戶登錄。local_enable=YES
:允許本地用戶登錄。write_enable=YES
:允許用戶上傳文件。chroot_local_user=YES
:將本地用戶限制在其主目錄中。allow_writeable_chroot=YES
:允許chroot目錄可寫(如果需要)。userlist_enable=YES
:啟用用戶列表。userlist_file=/etc/vsftpd.userlist
:指定用戶列表文件。userlist_deny=NO
:允許用戶列表中的用戶登錄。創建一個新的FTP用戶并設置密碼:
sudo adduser ftpuser
sudo passwd ftpuser
按照提示輸入密碼。
確保FTP用戶的主目錄權限正確:
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
如果你啟用了 chroot_local_user
,需要確保用戶的根目錄及其所有父目錄都是不可寫的:
sudo chown root:root /home/ftpuser
sudo chmod 755 /home/ftpuser
啟動vsftpd服務并設置為開機自啟:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
確保防火墻允許FTP流量。如果你使用的是UFW(Uncomplicated Firewall),可以這樣配置:
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp # FTPS
sudo ufw allow 40000:50000/tcp # Passive mode ports
sudo ufw reload
使用FTP客戶端(如FileZilla)連接到你的FTP服務器,測試是否可以正常登錄和上傳/下載文件。
如果你啟用了用戶列表,可以在 /etc/vsftpd.userlist
文件中添加允許登錄的用戶:
sudo nano /etc/vsftpd.userlist
添加用戶名,每行一個。
然后在 /etc/vsftpd.conf
中啟用用戶列表:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
通過以上步驟,你應該能夠在Linux FTP服務器上成功設置用戶權限。根據具體需求,你可能需要進一步調整配置。