建立簡單的FTP服務器
yum -y install vsftpd.x86_64
查看FTP程序生成的文件
/etc/vsftpd/vsftpd.conf 這個是配置文件
/etc/vsftpd/ftpusers 這個是用戶名單
/etc/vsftpd/user_list 這個也是用戶名單
/usr/sbin/vsftpd 這個是vsftp的主程序
/usr/lib/systemd/system/vsftpd.service 這個是服務啟動程序
在安裝ftp程序時,系統生成個了ftp用戶和組
啟動FTP服務
測試下
配置參數
anonymous_enable 默認開啟
允許匿名訪問
我把YES改成NO
結果
anon_upload_enable 默認關閉
這個是允許匿名用戶上傳文件
而且這個參數依賴於write_enable=YES
我把這個參數開啟來
這個報錯是由於ftp用戶對於共享的目錄沒有寫權限,將/var/ftp/pub的屬主改為ftp
anon_mkdir_write_enable 默認關閉
這個是允許匿名用戶創建目錄
我把參數開起來
anon_other_write_enable 默認沒有參數
這個是允許匿名用戶刪除及重命名文件
我把這個參數打開
自己手動添加這個參數
Local_enable 默認是開的
允許系統其它用戶登錄FTP 所有非匿名用戶生效 這個命令很不安全
我把它關閉
Local_umask 默認是022
這個參數用來修改本地用戶上傳文件的權限的
上傳文件的權限就是622 (用6減)
創建目錄的權限就是733(用7減)
dirmessage_enable 默認是開啟的
這個參數是指定登錄FTP目錄時彈出來的信息,默認使用.message文件,也可以通過message_file指定,提示文件需要在FTP目錄內。
其他參數
xferlog_enable 是否啟動日誌功能 默認是開啟的
xferlog_std_format 是否使用標準的日誌格式 標準的日誌格式不容易讀
xferlog_file=/var/log/xferlog 指定FTP日誌文件路徑
chown_uploads 上傳文件默認是將文件數組和屬主修改為ftp,該選項就是指定是否需要修改上傳文件的屬性。如果允許,那麽上傳文件的屬性將被修改為chown_username指定的屬組和屬主。如果不設置chown_username 那麽默認的屬主為root 屬組是ftp
這個上傳我用的用戶是anonymous
默認的屬性是0600 我改成了0400
idle_session_timeout FTP會話超時時間
listen_port 服務監聽的端口
local_max_rate 傳輸限速,默認不限速(0)
anon_max_rate 匿名用戶的最大傳輸速率。 0表示無限制
max_clients 最大並發連接數 0表示無限制
max_per_ip 每個IP允許建立的ftp連接數
connect_timeout 主動模式下,服務器與客戶端建立數據連接的超時時間
data_connection_timeout 被動模式下,客戶端與服務器建立數據連接的超時時間
ftpd_banner=xxx FTP登錄提示語
chroot_local_user
是否允許本地用戶只能訪問自己的家目錄。默認是可以訪問其他目錄(NO)
現在我改成YES
但是改成YES之後,用戶不能登錄了
這是因為新版的FTP增強了安全性,需要將用戶的家目錄的權限中的w權限刪除
再次登錄
chroot_list_enable
這個也是限制用戶通過FTP訪問其他目錄的,不過chroot_local_user是對全部用戶有效, 這個參數是對指定用戶有效。
如果chroot_local_user+chroot_list_enable的條件 那麽chroot_list_file是個白名單
可以改變工作目錄
如果只有chroot_list_enable 那麽chroot_list_file 是個黑名單
我現在註釋掉chroot_local_user
userlist_enable
userlist_enbale=YES(默認就是YES) + ftpusers=黑名單 不允許登錄 但是可以輸入密碼
userlist_enable=YES +userlist_deny =NO +userlist_file(user_list) =白名單
userlist_enable=YES +userlist_deny =YES +userlist_file(user_list) =黑名單 不允許登錄 不要求輸入密碼
建立簡單的FTP服務器