vsftp 是linux 下經常使用的FTP 服務端 衆所周知 安全性高 WINDOWS 下主要用的是 server_u 設置權限 線程 流量控制得比較好 linux
下面主要介紹一下 VSFTP 配置文件 以及如何簡單安裝windows
1.安裝安全
#yum -y install vsftpd 服務器
2.修改配置文件網絡
#vi /etc/vsftpd/vsftpd.confsession
# 是否容許匿名登陸FTP服務器,默認設置爲YES容許app
# 用戶可以使用用戶名ftp或anonymous進行ftp登陸,口令爲用戶的E-mail地址。異步
# 如不容許匿名訪問則設置爲NOasync
anonymous_enable=YEStcp
# 是否容許本地用戶(即linux系統中的用戶賬號)登陸FTP服務器,默認設置爲YES容許
# 本地用戶登陸後會進入用戶主目錄,而匿名用戶登陸後進入匿名用戶的下載目錄/var/ftp/pub
# 若只容許匿名用戶訪問,前面加上#註釋掉便可阻止本地用戶訪問FTP服務器
local_enable=YES
# 是否容許本地用戶對FTP服務器文件具備寫權限,默認設置爲YES容許
write_enable=YES
# 掩碼,本地用戶默認掩碼爲077
# 你能夠設置本地用戶的文件掩碼爲缺省022,也可根據我的喜愛將其設置爲其餘值
#local_umask=022
# 是否容許匿名用戶上傳文件,須將全局的write_enable=YES。默認爲YES
#anon_upload_enable=YES
# 是否容許匿名用戶建立新文件夾
#anon_mkdir_write_enable=YES
# 是否激活目錄歡迎信息功能
# 當用戶用CMD模式首次訪問服務器上某個目錄時,FTP服務器將顯示歡迎信息
# 默認狀況下,歡迎信息是經過該目錄下的.message文件得到的
# 此文件保存自定義的歡迎信息,由用戶本身創建
#dirmessage_enable=YES
# 是否讓系統自動維護上傳和下載的日誌文件
# 默認狀況該日誌文件爲/var/log/vsftpd.log,也能夠經過下面的xferlog_file選項對其進行設定
# 默認值爲NO
xferlog_enable=YES
# Make sure PORT transfer connections originate from port 20 (ftp-data).
# 是否設定FTP服務器將啓用FTP數據端口的鏈接請求
# ftp-data數據傳輸,21爲鏈接控制端口
connect_from_port_20=YES
# 設定是否容許改變上傳文件的屬主,與下面一個設定項配合使用
# 注意,不推薦使用root用戶上傳文件
#chown_uploads=YES
# 設置想要改變的上傳文件的屬主,若是須要,則輸入一個系統用戶名
# 能夠把上傳的文件都改爲root屬主。whoever:任何人
#chown_username=whoever
# 設定系統維護記錄FTP服務器上傳和下載狀況的日誌文件
# /var/log/vsftpd.log是默認的,也能夠另設其它
#xferlog_file=/var/log/vsftpd.log
# 是否以標準xferlog的格式書寫傳輸日誌文件
# 默認爲/var/log/xferlog,也能夠經過xferlog_file選項對其進行設定
# 默認值爲NO
#xferlog_std_format=YES
# 如下是附加配置,添加相應的選項將啓用相應的設置
# 是否生成兩個類似的日誌文件
# 默認在/var/log/xferlog和/var/log/vsftpd.log目錄下
# 前者是wu_ftpd類型的傳輸日誌,能夠利用標準日誌工具對其進行分析;後者是vsftpd類型的日誌
#dual_log_enable
# 是否將本來輸出到/var/log/vsftpd.log中的日誌,輸出到系統日誌
#syslog_enable
# 設置數據傳輸中斷間隔時間,此語句表示空閒的用戶會話中斷時間爲600秒
# 即當數據傳輸結束後,用戶鏈接FTP服務器的時間不該超過600秒。能夠根據實際狀況對該值進行修改
#idle_session_timeout=600
# 設置數據鏈接超時時間,該語句表示數據鏈接超時時間爲120秒,可根據實際狀況對其個修改
#data_connection_timeout=120
# 運行vsftpd須要的非特權系統用戶,缺省是nobody
#nopriv_user=ftpsecure
# 是否識別異步ABOR請求。
# 若是FTP client會下達「async ABOR」這個指令時,這個設定才須要啓用
# 而通常此設定並不安全,因此一般將其取消
#async_abor_enable=YES
# 是否以ASCII方式傳輸數據。默認狀況下,服務器會忽略ASCII方式的請求。
# 啓用此選項將容許服務器以ASCII方式傳輸數據
# 不過,這樣可能會致使由"SIZE /big/file"方式引發的DoS攻擊
#ascii_upload_enable=YES
#ascii_download_enable=YES
# 登陸FTP服務器時顯示的歡迎信息
# 若有須要,可在更改目錄歡迎信息的目錄下建立名爲.message的文件,並寫入歡迎信息保存後
#ftpd_banner=Welcome to blah FTP service.
# 黑名單設置。若是很討厭某些email address,就可使用此設定來取消他的登陸權限
# 能夠將某些特殊的email address抵擋住。
#deny_email_enable=YES
# 當上面的deny_email_enable=YES時,能夠利用這個設定項來規定哪些郵件地址不可登陸vsftpd服務器
# 此文件需用戶本身建立,一行一個email address便可
#banned_email_file=/etc/vsftpd/banned_emails
# 用戶登陸FTP服務器後是否具備訪問本身目錄之外的其餘文件的權限
# 設置爲YES時,用戶被鎖定在本身的home目錄中,vsftpd將在下面chroot_list_file選項值的位置尋找chroot_list文件
# 必須與下面的設置項配合
#chroot_list_enable=YES
# 被列入此文件的用戶,在登陸後將不能切換到本身目錄之外的其餘目錄
# 從而有利於FTP服務器的安全管理和隱私保護。此文件需本身創建
#chroot_list_file=/etc/vsftpd/chroot_list
# 是否容許遞歸查詢。默認爲關閉,以防止遠程用戶形成過量的I/O
#ls_recurse_enable=YES
# 是否容許監聽。
# 若是設置爲YES,則vsftpd將以獨立模式運行,由vsftpd本身監聽和處理IPv4端口的鏈接請求
listen=YES
# 設定是否支持IPV6。如要同時監聽IPv4和IPv6端口,
# 則必須運行兩套vsftpd,採用兩套配置文件
# 同時確保其中有一個監聽選項是被註釋掉的
#listen_ipv6=YES
# 設置PAM外掛模塊提供的認證服務所使用的配置文件名,即/etc/pam.d/vsftpd文件
# 此文件中file=/etc/vsftpd/ftpusers字段,說明了PAM模塊能抵擋的賬號內容來自文件/etc/vsftpd/ftpusers中
#pam_service_name=vsftpd
# 是否容許ftpusers文件中的用戶登陸FTP服務器,默認爲NO
# 若此項設爲YES,則user_list文件中的用戶容許登陸FTP服務器
# 而若是同時設置了userlist_deny=YES,則user_list文件中的用戶將不容許登陸FTP服務器,甚至連輸入密碼提示信息都沒有
#userlist_enable=YES/NO
# 設置是否阻扯user_list文件中的用戶登陸FTP服務器,默認爲YES
#userlist_deny=YES/NO
# 是否使用tcp_wrappers做爲主機訪問控制方式。
# tcp_wrappers能夠實現linux系統中網絡服務的基於主機地址的訪問控制
# 在/etc目錄中的hosts.allow和hosts.deny兩個文件用於設置tcp_wrappers的訪問控制
# 前者設置容許訪問記錄,後者設置拒絕訪問記錄。
# 如想限制某些主機對FTP服務器192.168.57.2的匿名訪問,編緝/etc/hosts.allow文件,如在下面增長兩行命令:
# vsftpd:192.168.57.1:DENY 和vsftpd:192.168.57.9:DENY
# 代表限制IP爲192.168.57.1/192.168.57.9主機訪問IP爲192.168.57.2的FTP服務器
# 此時FTP服務器雖能夠PING通,但沒法鏈接
tcp_wrappers=YES
設置FTP用戶 而且鎖定主目錄
建立test123用戶 並指定 主目錄爲/opt/test123
#useradd -d /opt/test123 test123
#passwd test123
windows>ftp 192.168.18.66
220 Welcome to renneng manager FTP server
用戶(192.168.18.60:(none)): test123
331 Please specify the password.
密碼:
ftp>pwd
/opt/test123
ftp>cd ..
ftp>pwd
/opt
主目錄設定了 /opt/test123 可是沒法鎖定目錄
通過多方查證 搜索 驗證
在vsftpd.conf 中 加入local_root=/opt 設置如下項
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
添加/etc/vsftpd/chroot_list 文件 並在其中添加FTP帳戶名
重啓服務後 登陸主目錄 爲/opt 而且沒法訪問上一級目錄
驗證以下
C:\>ftp 192.168.18.60
鏈接到 192.168.18.60。
220 Welcome to renneng manager FTP server
用戶(192.168.18.60:(none)): test123
331 Please specify the password.
密碼:
230 Login successful.
ftp>pwd
257 "/"
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwx------ 3 500 500 4096 Apr 01 06:04 test123
226 Directory send OK.
ftp: 收到 65 字節,用時 0.00秒 65000.00千字節/秒。
ftp> cd ..
250 Directory successfully changed.
ftp> pwd
257 "/"
ftp>
主目錄鎖定成功 至此 vsftp 設置完結