1. 程式人生 > >建立簡單的FTP服務器

建立簡單的FTP服務器

命令 ftp用戶 生效 b2b 有效 service RoCE 就是 訪問

安裝及啟動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

這個參數用來修改本地用戶上傳文件的權限的

我改成044
技術分享圖片
技術分享圖片
上傳文件的權限就是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服務器