Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux vsftpd FTP 使用者帳號管理全攻略:新增、權限鎖定、目錄限制、密碼修改、刪除

編輯:Linux 教學

環境假設

  • FTP 服務:vsftpd
  • 新增使用者:test
  • 限制根目錄:/alidata/www/test
  • 作業系統:CentOS/RHEL 7/8

1. 建立使用者並指定家目錄

useradd -d /alidata/www/test -m test
# -m 強制建立家目錄 (若不存在)
passwd test
# 輸入兩次密碼

2. 限制僅能 FTP 登入 (禁止 Shell/SSH)

usermod -s /sbin/nologin test
# 解除限制 (恢復 Shell)
usermod -s /bin/bash test
若需允許使用者自行修改密碼但無 Shell,可指定 usermod -s /usr/bin/passwd test,登入後直接進入 passwd 提示。

3. 變更家目錄

usermod -d /new/path test
# 注意:不會自動移動現有檔案,需手動 mv 並 chown

4. 啟用 chroot 限制使用者無法跳出家目錄

vim /etc/vsftpd/vsftpd.conf
# 確保/新增以下設定
chroot_local_user=YES
# 或僅限制特定用戶 (建議)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# 編輯 chroot_list,每行一個受限用戶名
echo "test" > /etc/vsftpd/chroot_list
# 重啟服務
systemctl restart vsftpd
vsftpd 3.0+ 限制:家目錄不可寫入 (防止安全漏洞)。需建立子目錄供寫入:
mkdir -p /alidata/www/test/upload
chown test:test /alidata/www/test/upload
chmod 755 /alidata/www/test (家目錄不可寫)
chmod 775 /alidata/www/test/upload (子目錄可寫)

5. 允許使用者修改密碼 (無 Shell)

usermod -s /usr/bin/passwd test
# 使用者 FTP/SSH 登入後直接進入 passwd 互動修改密碼

6. 刪除使用者

# 僅刪除帳號,保留家目錄檔案
userdel test

# 連同家目錄一併刪除 (謹慎)
userdel -r test

7. 常見問題排查

現象可能原因解決
530 Login incorrect密碼錯誤 / /etc/passwd 與 /etc/shadow 不一致pwck grpck 檢查、重設密碼
500 OOPS: vsftpd: refusing to run with writable root inside chroot()家目錄可寫建立唯讀家目錄 + 可寫子目錄 (見上)
連線逾時 / 無法列出目錄被動模式埠口未開放pasv_min_port=40000 pasv_max_port=40100 於 vsftpd.conf + 防火牆開放
上傳失敗 553 Could not create file目錄權限不足 / SELinuxchcon -R -t public_content_rw_t /alidata/www/test/upload 或 setsebool -P ftp_home_dir on

vsftpd 設定截圖

Copyright © Windows教程網 All Rights Reserved