定期變更 FTP 密碼是基本安全衛生,但若每次都需管理員介入,不僅增加 IT 負擔,也降低用戶合規意願。Serv-U 內建 SITE PSWD 指令支援用戶遠端自助修改密碼,本文詳述前置條件、操作步驟與指令語法,讓用戶透過標準 FTP 用戶端或命令列即可完成密碼變更。
tqxx)。未啟用此選項時,用戶執行 SITE PSWD 將收到 500 'SITE PSWD' not understood 或權限拒絕錯誤。
C:\> ftp 218.106.99.127 Connected to 218.106.99.127. 220 Serv-U FTP Server v5.1 for WinSock ready... User (218.106.99.127:(none)):
User (218.106.99.127:(none)): tqxx 331 User name okay, need password. Password: (輸入舊密碼,螢幕不顯示) 230 User logged in, proceed. ftp>
指令語法:
quote site pswd <舊密碼> <新密碼>
實際範例: 將密碼從 tqxx001 改為 12345678
ftp> quote site pswd tqxx001 12345678 230 Password changed okay.
ftp> quit 221 Goodbye!
重新連線測試新密碼 12345678 即可確認生效。
QUOTE SITE PSWD、quote site pswd 均可。SITE PSWD 執行紀錄 (用戶、時間、來源 IP),管理員可定期稽核異常變更。@echo off set FTP_HOST=218.106.99.127 set USER=tqxx set OLD_PASS=tqxx001 set NEW_PASS=NewStr0ngP@ssw0rd! echo open %FTP_HOST% > ftp_cmd.txt echo %USER% >> ftp_cmd.txt echo %OLD_PASS% >> ftp_cmd.txt echo quote site pswd %OLD_PASS% %NEW_PASS% >> ftp_cmd.txt echo quit >> ftp_cmd.txt ftp -s:ftp_cmd.txt del ftp_cmd.txt
⚠ 安全警示: 批次檔含明文密碼,僅供受控環境測試。生產環境請使用加密憑證儲存方案 (Windows Credential Manager、KeePass CLI、HashiCorp Vault) 或互動式輸入。
| 現象 | 可能原因 | 解決方案 |
|---|---|---|
| 500 'SITE PSWD' not understood | 未啟用「允許用戶修改密碼」或 Serv-U 版本過舊 | 啟用選項;升級 Serv-U 至 5.0 以上 |
| 530 Password change not allowed | 用戶屬於受限群組、密碼不符合複雜度策略、密碼歷史衝突 | 檢查群組原則、密碼策略;嘗試更複雜新密碼 |
| 530 Not logged in | 舊密碼錯誤 | 確認舊密碼正確 (區分大小寫、無前後空格) |
| 連線中斷/逾時 | 防火牆阻擋主動模式資料連線、伺服器負載過高 | 用戶端改用被動模式 (PASV);檢查伺服器資源 |
管理員可配合下列機制落實密碼週期更新:
SITE PSWD。SITE PSWD 將透過 LDAP 修改網域密碼 (需 Serv-U 企業版 + LDAP 模組)。賦能用戶自助管理密碼,不僅減輕管理負擔,更能培養全員安全責任感,構建「人人有責、人人能行」的安全文化基石。