CentOS系統vsftpd更新與升級步驟
備份關鍵數據
升級前務必備份vsftpd配置文件及用戶數據,防止操作失誤導致數據丟失。常用備份命令:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak # 備份主配置文件
sudo cp -r /var/ftp /var/ftp.bak # 備份匿名用戶數據目錄(若有)
sudo cp -r /var/lib/vsftpd /var/lib/vsftpd.bak # 備份用戶會話及上傳文件數據
檢查當前版本
通過以下命令確認當前vsftpd版本,便于后續驗證升級結果:
vsftpd --version
輸出示例:vsftpd: version 3.0.2
。
更新系統軟件包
確保系統基礎軟件包為最新狀態,避免依賴沖突:
sudo yum update -y
YUM是CentOS默認的包管理工具,可自動解決依賴關系,操作簡便。
升級vsftpd
執行以下命令升級vsftpd至倉庫最新版本:
sudo yum update vsftpd -y
若需安裝特定版本(如3.0.2),可使用:
sudo yum install vsftpd-3.0.2 -y
重啟服務并驗證
升級完成后,重啟vsftpd服務使新版本生效:
sudo systemctl restart vsftpd
驗證版本:
vsftpd --version # 確認輸出版本已更新
sudo systemctl status vsftpd # 檢查服務運行狀態(應顯示“active (running)”)
若YUM倉庫中沒有所需版本,可通過源碼編譯安裝。
下載并解壓源碼包
訪問vsftpd官方網站(vsftpd.beasts.org)下載最新穩定版,或使用wget命令:
wget https://vsftpd.beasts.org/releases/vsftpd-3.0.5.tar.gz # 替換為最新版本鏈接
tar -zxvf vsftpd-3.0.5.tar.gz
cd vsftpd-3.0.5
安裝編譯依賴
編譯前需安裝必要依賴包,避免編譯失?。?/p>
sudo yum install openssl-devel pam-devel libcap-devel tcp_wrappers-devel -y
卸載舊版本
卸載系統自帶的舊版本vsftpd(避免殘留文件沖突):
sudo rpm -e $(rpm -qa | grep vsftpd)
編譯并安裝
執行以下命令編譯安裝:
./configure
make
sudo make install
恢復配置與服務
sudo cp -p /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.conf
/usr/local/sbin/vsftpd
,需修改配置文件中的user_list_file
路徑(若有):sudo vi /etc/vsftpd/vsftpd.conf
# 添加或修改:user_list_file=/etc/vsftpd/user_list
sudo vi /etc/systemd/system/vsftpd.service
內容如下:[Unit]
Description=vsftpd FTP server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf
ExecStop=/bin/kill -TERM $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start vsftpd
sudo systemctl enable vsftpd # 設置開機自啟
驗證升級結果
檢查vsftpd版本及服務狀態:
/usr/local/sbin/vsftpd -v # 確認版本已更新
sudo systemctl status vsftpd # 檢查服務是否運行正常
diff /etc/vsftpd/vsftpd.conf.bak /etc/vsftpd/vsftpd.conf
),調整不兼容的參數。sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo setsebool -P ftpd_full_access on
ftp localhost
或FileZilla)測試登錄、上傳/下載功能,確保服務正常。