以 vsftpd 為例,建立僅能存取特定目錄的 FTP 帳號,禁止 SSH 登入。
useradd -d /alidata/www/test test passwd test
usermod -s /sbin/nologin test # 限制 usermod -s /bin/bash test # 恢復
usermod -d /new/path test
編輯 /etc/vsftpd/vsftpd.conf:
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
編輯 /etc/vsftpd/vsftpd.chroot_list,每行一個受限帳號:
test
重啟服務:/etc/init.d/vsftpd restart
usermod -s /usr/bin/passwd test
userdel test
ssl_enable=YES 強制 FTPS 加密傳輸。pasv_min_port/pasv_max_port 並對應開啟防火牆,解決被動模式連線問題。/var/log/vsftpd.log 或 /var/log/xferlog。完成設定後,使用者僅能透過 FTP 存取指定目錄,大幅降低系統風險。