首先網(wǎng)絡(luò)、防火墻方面的基本要求要滿足,比如靜態(tài)ip、防火墻是否可以通過ftp的流量。
就可以在CentOS 7下開始搭建ftp服務(wù)器了,我們使用vsftpd這款ftp服務(wù)軟件。(文中包含匿名訪問及用戶驗(yàn)證的相關(guān)配置,基于虛擬用戶的配置見http://www.haoyitu.cn/Linux/2019-03/157279.htm )
—–安裝vsftpd并匿名訪問:
1、準(zhǔn)備好vsftpd軟件的安裝包(系統(tǒng)盤里也有),安裝vsftpd服務(wù)。
安裝以后執(zhí)行systemctl start vsftpd
啟動vsftpd就可以匿名訪問ftp服務(wù)器了,雖說匿名,不過也是有相應(yīng)的系統(tǒng)賬號 “ ftp ” 。默認(rèn)匿名用戶的ftp根目錄是/var/ftp/
,只有讀取的權(quán)限,而且本地/var/ftp/目錄對ftp賬號要有相應(yīng)的權(quán)限)如若匿名用戶需要更大的權(quán)限,可以更改 vsftpd 服務(wù)的配置文件
2、打開vsftpd服務(wù)的配置文件
3、為了方便預(yù)覽,我把大多數(shù)注釋的內(nèi)容都刪除了
4、以下為匿名用戶權(quán)限最大的配置文件信息:
匿名用戶常見配置項(xiàng)的含義說明:
- anonymous_enable=YES:是否允許匿名訪問;
- anon_umask=022:設(shè)置匿名用戶所上傳文件的默認(rèn)權(quán)限掩碼值(反掩碼);
- anon_root=/var/ftp:設(shè)置匿名用戶的FTP根目錄;
- anon_upload_enable=YES;是否允許匿名用戶上傳文件;
- anon_mkdir_write_enable=YES:是否允許匿名用戶由創(chuàng)建目錄的寫入權(quán)限;
- anon_other_write_enable=YES:是否允許匿名用戶有其他寫入權(quán)限,如對文件改名、覆蓋及刪除文件等;
—–基于用戶驗(yàn)證的FTP服務(wù):
以下是需要用戶驗(yàn)證的 ftp 服務(wù)配置文件,配置文件的默認(rèn)路徑為/etc/vsftpd/vsftpd.conf
以上配置文件最終的效果是,每個(gè)系統(tǒng)用戶都可登錄ftp服務(wù)器,并且權(quán)限最大,ftp的默認(rèn)根目錄為系統(tǒng)用戶的宿主目錄下。(對于本地系統(tǒng)用戶設(shè)置權(quán)限,直接更改用戶宿主目錄的權(quán)限更方便些)
關(guān)于本地用戶常見的配置項(xiàng)及含義說明:
- local_enable=YES:是否允許本地用戶訪問;
- local_umask=022:設(shè)置本地用戶所上傳文件的默認(rèn)權(quán)限掩碼值(反掩碼);
- local_root=/var/ftp:設(shè)置本地用戶的FTP根目錄(默認(rèn)為用戶的宿主目錄);
- chroot_local_user=YES:是否將FTP本地用戶禁錮在宿主目錄中;
- allow_writeable_chroot=YES:允許被限制用戶的主目錄具有寫權(quán)限;
- local_max_rate=0:限制本地用戶的最大傳輸速率(0為無限制),單位為字節(jié)/秒(B/s)
在/etc/vsftpd/目錄下還有兩個(gè)配置文件ftpusers
和userlist
- ftpusers文件:此文件中列出的用戶將禁止登錄vsftpd服務(wù)器。默認(rèn)包含root、bin、daemon等用于系統(tǒng)運(yùn)行的特殊用戶;
-
user_list文件:此文件中包含的用戶可能被禁止,可能被允許,具體取決于主配置文件vsftpd.conf中的設(shè)置,當(dāng)存在“userlist——enable=YES”時(shí),user_list列表文件方可生效,若繼續(xù)指定“userlist_deny=YES”,則功能與ftpusers文件一樣,表示禁止此列表中的用戶登錄;若指定“userlist_deny=NO”,則僅允許列表中的用戶登錄。
-----關(guān)于ftp所有配置項(xiàng)的詳細(xì)解釋 -----關(guān)于匿名用戶:
- anonymous_enable=YES:是否允許匿名訪問;
- anon_umask=022:設(shè)置匿名用戶所上傳文件的默認(rèn)權(quán)限掩碼值(反掩碼);
- anon_root=/var/ftp:設(shè)置匿名用戶的FTP根目錄;
- anon_upload_enable=YES;是否允許匿名用戶上傳文件;
- anon_mkdir_write_enable=YES:是否允許匿名用戶由創(chuàng)建目錄的寫入權(quán)限;
- anon_other_write_enable=YES:是否允許匿名用戶有其他寫入權(quán)限,如對文件改名、覆蓋及刪除文件等;
—–關(guān)于本地用戶:
- local_enable=YES:是否允許本地用戶訪問;
- local_umask=022:設(shè)置本地用戶所上傳文件的默認(rèn)權(quán)限掩碼值(反掩碼);
- local_root=/var/ftp:設(shè)置本地用戶的FTP根目錄(默認(rèn)為用戶的宿主目錄);
- chroot_local_user=YES:是否將FTP本地用戶禁錮在宿主目錄中;
- allow_writeable_chroot=YES:允許被限制用戶的主目錄具有寫權(quán)限;
- local_max_rate=0:限制本地用戶的最大傳輸速率(0為無限制),單位為字節(jié)/秒(B/s)
—–關(guān)于全局配置:
- listen=NO: 是否以獨(dú)立運(yùn)行的方式監(jiān)聽服務(wù);
- listen_address=0.0.0.0:設(shè)置監(jiān)聽f t p服務(wù)的ip地址;
- listen_port=21:設(shè)置監(jiān)聽ftp服務(wù)的端口號;
- write_enable=YES:啟用任何形式的寫入權(quán)限,(如上傳、刪除文件等)都需要開啟此項(xiàng);
- download_enable=YES:是否允許下載文件(建立僅限于瀏覽、上傳的FTP服務(wù)器時(shí),可將此項(xiàng)設(shè)置為“NO”);
- dirmessage_enable=YES:用戶切換進(jìn)入目錄時(shí)顯示 “.message”文件(如果已存在)的內(nèi)容;
- xferlog_enable=YES:啟用xferlog日志,默認(rèn)記錄到 /var/log/xferlog;
- xferlog_std_format=YES:啟用標(biāo)準(zhǔn)的xferlog日志格式,若禁用此項(xiàng),將使用vsftpd自己的日志格式;
- connect_from_port_20=YES:允許服務(wù)器主動模式(從20端口建立數(shù)據(jù)連接);
- pasv_enable=NO:禁止被動模式連接;默認(rèn)允許被動模式連接;
- pasv_max_port=24600:設(shè)置用于被動模式的服務(wù)器最大端口號;
- pasv_min_port=24500:設(shè)置用于被動模式的服務(wù)器最大端口號;
- pam_service_name=vsftpd.vu:設(shè)置用于用戶認(rèn)證的PAM文件位置(/etc/pam.d/目錄中對應(yīng)的文件名);
- userlist_enable=YES:是否啟用userl_ist用戶列表文件;
- userlist_deny=YES:是否禁用user_list列表文件中的用戶賬號;
- max_clients=0:最多允許多少個(gè)客戶端同時(shí)連接(0為無限制);
- max_per_ip=0:對來自同一個(gè)ip地址的客戶端,最多允許多少個(gè)并發(fā)連接(0為無限制);
- tcp_wrappers=YES:是否啟用tcp_wrappers主機(jī)訪問控制;
—–關(guān)于虛擬用戶的配置項(xiàng):
- guest_username=test:指定映射的系統(tǒng)用戶名稱;
- guest_enable=YES:是否啟用虛擬用戶;
- allow_writeable_chroot=允許被限制用戶的主目錄具有寫權(quán)限(此項(xiàng)必須寫入,否則可能會報(bào)錯(cuò))
- anon_world_readable_only=NO:允許用戶下載目錄內(nèi)容
- anon_other_write_enable=YES:允許匿名用戶有其他寫入權(quán)限,如重命名、覆蓋及刪除文件等;
- user_config_dir=/etc/vsftpd/vusers_dir:指定虛擬用戶獨(dú)立的配置文件目錄;
更多Vsftpd相關(guān)教程見以下內(nèi)容:
Linux CentOS 6.5 下搭建 vsftpd ftp服務(wù)器 http://www.haoyitu.cn/Linux/2016-07/133319.htm
CentOS安裝vsftpd-3.0.2及安全配置 http://www.haoyitu.cn/Linux/2016-12/138040.htm
openSUSE 13.2/13.1 下安裝配置 FTP服務(wù)器 vsftpd http://www.haoyitu.cn/Linux/2014-12/110070.htm
CentOS7基于虛擬用戶的vsftpd http://www.haoyitu.cn/Linux/2016-11/137150.htm
Ubuntu 14.04 配置vsftpd實(shí)現(xiàn)FTP服務(wù)器 – 通過FTP連接AWS http://www.haoyitu.cn/Linux/2016-08/133933.htm
FTP協(xié)議詳解與vsftpd在Linux上的安裝配置 http://www.haoyitu.cn/Linux/2016-09/134831.htm
CentOS 6.7 安裝vsftpd服務(wù)器 http://www.haoyitu.cn/Linux/2017-04/142612.htm
CentOS 7.3安裝配置Vsftpd文件服務(wù)器 http://www.haoyitu.cn/Linux/2017-06/144886.htm
Vsftpd3.0–FTP服務(wù)器搭建之本地用戶篇 http://www.haoyitu.cn/Linux/2017-04/142699.htm
CentOS7基于虛擬用戶的vsftpd http://www.haoyitu.cn/Linux/2016-11/137150.htm
如何在Ubuntu 18.04 LTS上安裝帶有TLS的VsFTPD服務(wù)器 http://www.haoyitu.cn/Linux/2018-10/154930.htm
Ubuntu 16.04下vsftpd 安裝配置實(shí)例 http://www.haoyitu.cn/Linux/2017-06/144807.htm