以下是Linux 新手的啰嗦。 這個ftp 配置搞了我幾天。后面再繼續寫kubernetes 和 docker 相關的。自已整理,一切以簡單易用為目標。
前面有幾個相對不怎么需要配置的步驟。
1. 安裝vsftpd 服務端 (如果有就不需要再安裝了)
yum -y install vsftpd
2. 安裝后啟動服務
systemctl start vsftpd
3. 設置為開機啟動
systemctl enable vsftpd
到這里。主動模式應該就能直接訪問了。 但上傳和下載應該還是有問題
下面的都是配置(包括添加用戶。分配權限。設置ftp的訪問模式...)
添加用戶組 ftpgroups 這個隨意命名
groupadd ftpgroups
添加用戶並分配到新的組 如果說目錄沒有那就使用 mkdir /home/ftp/ 創建目錄就行了。
目錄的權限分配到ftpgroups組下的用戶ftpadmin。個人理解。
useradd -d /home/ftp -g ftpgroups ftpadmin
更改用戶的登錄模式,ftp用戶不需要登錄系統。
usermod -s /sbin/nologin ftpadmin
設置密碼。需要輸入兩次密碼。含有確認一次。
passwd ftpadmin
更改目錄及子目錄的所屬用戶 -R 代表目錄及子目錄
chown -R ftpadmin /home/ftp
更改目錄訪問權限(讀、寫、執行之類的)
chmod 777 /home/ftp
使用 vim 或者 vi 編輯 vsftpd.conf 文件 。 我這個是個人剛弄的服務器。所以沒啥資料,搞壞了就重裝。如果有資料建議先備份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 這個bak 隨意命名。你記得就行了。
vim /etc/vsftpd/vsftpd.conf
vim 中輸入 a, i, o 中任意鍵進入編輯模式。
以下是我的CentOS 7.x 服務器的一些改過動配置。簡而言之。除了這些其他的基本可以不動。 這里面的每一項。文件里面都有說明。這里不一一解釋。本着簡單易用的方式,我也沒細看。。
anonymous_enable=NO
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增
allow_writeable_chroot=YES
這下面配置的是被動模式。我就是被這個破配置搞了幾天。一直不能在windows上進行訪問
pasv_enable=YES
pasv_min_port=33000
pasv_max_port=33020
按 ESC退出編輯模式並輸入 :wq 保存並退出
接着編輯 chroot_list
vim /etc/vsftpd/chroot_list
添加一個用戶
ftpadmin
保存
:wq
接着編輯 vsftpd
vim /etc/pam.d/vsftpd
注釋下面這行內容
#auth required pam_shells.so
還是保存
:wq
防火牆端口。21是主動模式端口。
firewall-cmd --zone=public --add-port=21/tcp --permanent
要編輯防火牆了。所以先看看 防火牆是不是開着的。我就直接啟動服務了。
systemctl start firewalld.service
添加被動端口。
firewall-cmd --zone=public --add-port=33000-33020/tcp --permanent
刷新配置
firewall-cmd --reload
最后重啟吧
reboot
補充:如果使用有問題。可以查查下面的。
setsebool 是用來修改SElinux策略內各項規則的布爾值。這里把ftpd的訪問權限放開。
setsebool allow_ftpd_full_access on
順帶提一下多用戶,其實就是把上面添加用戶以及分配文件夾的過程走一下。
以添加網站ftp 文件夾為例
useradd -d /home/wwwroot -g ftpgroups website
usermod -s /sbin/nologin website
passwd website
chown -R website /home/wwwroot
chmod 777 /home/wwwroot
然后可以使用新賬號了