前言:本篇文章,集互聯(lián)網(wǎng)好友的成果、本菜鳥實(shí)踐摸索的結(jié)果,整理綜合而得。本人在CSDN、百度、B站等各大網(wǎng)站進(jìn)行了有限的搜索,都沒有看到完全適配的答案。
如果你也是國(guó)產(chǎn)電腦的受“益”者,也在找尋FTP服務(wù)端安裝與配置的方法,Linux系統(tǒng)的基礎(chǔ)不扎實(shí)的話,那你找對(duì)地方了。本案例已在實(shí)機(jī)上穩(wěn)定運(yùn)行1個(gè)月,目前仍在穩(wěn)定運(yùn)行中。
歡迎交流,基于國(guó)產(chǎn)電腦的更多其他軟件工具的安裝配置,以期提升辦公效率。
目錄
一、電腦基本信息
二、安裝FTP
1.輸入vsftpd(尚未安裝的結(jié)果)
2.輸入vsftpd(已安裝的結(jié)果)
三、配置FTP
(1)修改VSFTPD的配置文件(vsftpd.conf)
1.找到vsftpd.conf文件
2.修改vsftpd.conf文件
3.修改vsftpd.conf文件的參數(shù)
(2)補(bǔ)充添加本地用戶vur
(3)配置賬號(hào)密碼驗(yàn)證機(jī)制
1.建立FTP目錄和賬號(hào)密碼文件
2.把TXT文件轉(zhuǎn)db庫文件
3.給數(shù)據(jù)庫文件權(quán)限,防止其他用戶查看密碼。
4.配置vsftpd的PAM認(rèn)證文件。
(4)配置虛擬用戶的conf配置文件
1.創(chuàng)建nyjbgs用戶的配置文件
2.創(chuàng)建dayinji用戶的配置文件
(5)設(shè)置FTP文件的訪問權(quán)限。
四、FTP其他相關(guān)
1.相關(guān)命令
2.開機(jī)自啟動(dòng)vsftpd?
3.服務(wù)器的防火墻。
4.固定IP。
一、電腦基本信息
銀河麒麟版本:kylin?V10 版權(quán)所有KylinOS
系統(tǒng)內(nèi)核:
Linux4.4.131-20210120.kylin.desktop-generic-aarch64-with-Kylin-v10-juniper
CPU:Phytium,FT-2000/4(64位,4核)
注:用于核對(duì)對(duì)比操作環(huán)境的差異。只要咱們是同行一般沒什么差異哈,不過得是銀河麒麟系列系統(tǒng)。我單位還有統(tǒng)信系統(tǒng)的國(guó)產(chǎn)電腦(可能不太適用)
二、安裝FTP
一般電腦都自帶安裝了。CTRL+ALT+T,打開終端。
1.輸入vsftpd(尚未安裝的結(jié)果)
顯示以下信息,代表未安裝。
?按照提示,再輸入sudo apt install vsftpd
輸入用戶密碼(自己)
等待安裝結(jié)束(一大串)——安裝結(jié)束。
2.輸入vsftpd(已安裝的結(jié)果)
顯示以下信息,代表這個(gè)程序已經(jīng)有了(安裝成功),但是缺個(gè)文件(下一步就進(jìn)行文件配置)
?不放心,可以再輸入vsftpd -v
顯示以下信息,我的版本就是3.0.3。代表成功安裝了3.0.3的vsftpd
?注:“程序名稱”+“空格”+“-v”,可查詢?cè)摮绦虻陌姹?,基本通用所有程序?/p>
三、配置FTP
(1)修改VSFTPD的配置文件(vsftpd.conf)
1.找到vsftpd.conf文件
一般在系統(tǒng)盤的etc文件夾中,
注:不同的操作系統(tǒng)會(huì)有一些差異,但是這個(gè)配置文件名稱是一致的,若找不到,可以在系統(tǒng)盤中進(jìn)行搜索,記住或者復(fù)制路徑
2.修改vsftpd.conf文件
終端輸入vim /etc/vsftpd.conf
該代碼可以進(jìn)入配置文件并進(jìn)行修改(如果沒有vim,可以使用vi)
3.修改vsftpd.conf文件的參數(shù)
藍(lán)色內(nèi)容為解釋,方便他人理解。白色內(nèi)容為程序的參數(shù)。
配置文件的初始參數(shù)為以下內(nèi)容:(可以跳過)
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
經(jīng)過自己的摸索(網(wǎng)上各類教程、解釋)和需求(設(shè)置多個(gè)虛擬用戶,給虛擬用戶配置不同的權(quán)限,適用于局域網(wǎng)FTP),配置了以下自己的參數(shù)(一行行講解),按i進(jìn)入編輯狀態(tài)。
listen=YES
listen_address=192.168.***.***
listen_port=5021
connect_from_port_20=YES
#啟動(dòng)IPV4地址的監(jiān)聽
#監(jiān)聽地址:自己電腦的IP地址
#監(jiān)聽端口:默認(rèn)為21,建議修改至更高,提高他人找尋難度。
#確定數(shù)據(jù)端口為20。跟電路中弱電控制強(qiáng)電是一個(gè)邏輯。21端口是信息端口,接受連接、登錄、離線等各種控制信息。20端口是數(shù)據(jù)端口,上傳下載的文件就是通過這個(gè)端口傳輸。
local_enable=YES
write_enable=YES
local_umask=022
#允許本地用戶登錄,設(shè)置的多個(gè)虛擬用戶需要集中寄托于一個(gè)本地用戶。
#允許寫入修改功能。
#本地用戶的掩碼:022對(duì)應(yīng)本地用戶創(chuàng)建新目錄和文件的權(quán)限755。掩碼等級(jí) 對(duì)應(yīng) 權(quán)限等級(jí)(有特殊需求可自行對(duì)應(yīng)修改),使用默認(rèn)值022就行。
anon_upload_enable=NO
anon_mkdir_write_enable=NO
#匿名用戶上傳文件:拒絕
#匿名用戶創(chuàng)建修改文件:拒絕。我們是虛擬用戶模式,需要賬號(hào)密碼登錄。
pasv_enable=YES
pasv_min_port=50210
pasv_max_port=50310
pasv_address=192.168.***.***
#啟動(dòng)被動(dòng)(PASV)模式。經(jīng)過網(wǎng)上查詢有主動(dòng)、被動(dòng)兩種模式,其中被動(dòng)模式比較適用。被動(dòng)模式:客戶端拿著開放的端口找服務(wù)器。主動(dòng)模式:服務(wù)器拿著開放端口找客戶端。網(wǎng)上解釋:因?yàn)榇蟛糠挚蛻舳硕际窃诼酚善骱竺?,沒有獨(dú)立的公網(wǎng)IP地址,服務(wù)器想要主動(dòng)連接客戶端,難度太大,在現(xiàn)在真實(shí)的互聯(lián)網(wǎng)環(huán)境里面幾乎是不可能完成的任務(wù)。簡(jiǎn)單的說:一個(gè)單位的某人找另一個(gè)單位對(duì)接,很容易(一查地址就行),一個(gè)單位想找另個(gè)單位的某人,很麻煩(要先打通單位的座機(jī),再拿著人名問手機(jī)號(hào))
#端口號(hào)最低線多少。
#端口號(hào)最高線多少,之間就是客戶端可以對(duì)接的
#被動(dòng)模式中,客戶端找服務(wù)器的地址。
dirmessage_enable=YES
#啟動(dòng)之后,初次登錄FTP,系統(tǒng)會(huì)自動(dòng)掃描目錄、查找文件.message,并顯示.message文件里面的信息,沒有則就不顯示,也沒有什么影響。如果想搞個(gè)裝逼的歡迎儀式,可以研究研究。
use_localtime=YES
#啟用本地時(shí)間,一般都使用本地時(shí)間,有跨國(guó)業(yè)務(wù)的,有時(shí)差的地區(qū),可以關(guān)注該設(shè)置參數(shù)。
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
#啟動(dòng)日志功能,可以看到用戶上傳下載信息。
#啟用標(biāo)準(zhǔn)日志格式。
#日志文件vsftpd.log的存放路徑/var/log/vsftpd.log,愛存哪里就存哪里,可以自定義修改。
tcp_wrappers=YES
#開啟IP的黑白名單。僅僅兩個(gè)配置(允許、拒絕)文件:/etc/hosts.allow和/etc/hosts.deny
chown_uploads=NO
#NO=禁止上傳文件更改宿主,YES=允許上傳文件更改宿主
idle_session_timeout=360000
data_connection_timeout=360000
#超過多少秒,信號(hào)端口沒有動(dòng)靜,踢掉。連上了什么都不做,占我服務(wù)器資源,踢掉。
#超過多少秒,數(shù)據(jù)端口沒有動(dòng)靜,踢掉。下載下一半掉網(wǎng)了,連了一會(huì)不下載了,踢掉。
guest_enable=YES
guest_username=vur
virtual_use_local_privs=YES
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/vconf
#啟動(dòng)虛擬用戶模式。
#設(shè)置的虛擬用戶集中映射在vur本地用戶上。虛擬的靈魂需要一個(gè)實(shí)際的載體。
#虛擬用戶和本地用戶可以擁有同等權(quán)限。
#不允許虛擬用戶離開自己的訪問根目錄。修改虛擬用戶的配置文件可以滿足不同的需求,比如權(quán)限不一樣,訪問目錄不一樣。
#在vsftpd目錄中專門建立的一個(gè)vconf目錄,用于專門存放各個(gè)虛擬用戶相應(yīng)配置文件。我們現(xiàn)在編輯的是主配置文件,后面編輯虛擬用戶配置文件。
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#用戶將被限制在其用戶的主目錄之內(nèi),不得跳出。
#啟用名單通行制度。YES則啟用白名單。NO則啟動(dòng)黑名單。chroot_local_user與chroot_list_enable的不同組合,可以帶來四種的功能。1.名單上的用戶受限制。2.名單上的用戶不受限制。3.名單之外的用戶受限制。4.名單之外的用戶不受限制。
#vsftpd.chroot_list名單文件的存放路徑/etc/vsftpd.chroot_list,同樣是愛存哪就存哪,沒有這個(gè)文件就必須創(chuàng)建一個(gè)同名文件(TXT格式就行,每行放一個(gè)用戶名就行)。(我電腦的這個(gè)列表文件是空的,設(shè)置了個(gè)寂寞。但是不影響使用大的安全,因?yàn)樵O(shè)置了虛擬用戶不能跳出FTP的根目錄。)
ascii_upload_enable=YES
ascii_download_enable=YES
#允許以ASCII編碼形式,上傳文件。
#允許以ASCII編碼形式,下載文件。
ls_recurse_enable=NO
#不允許使用“l(fā)s -R”這個(gè)命令。ls就是列出目錄清單的命令,ls -R就是列出所有目錄和所有文件清單的命令。對(duì)于大型的FTP服務(wù)器,里面有很多目錄和很多文件。如果所有進(jìn)來的人都要服務(wù)器列一遍所有目錄和文件,到最后只下載一個(gè)文件,服務(wù)器這就很崩潰,你在玩我呢。
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
#驗(yàn)證機(jī)制
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
#以上三行參數(shù)沒有改動(dòng),也沒搞清楚實(shí)際用途,不影響現(xiàn)有需求。
utf8_filesystem=YES
#啟用utf8編碼模式。統(tǒng)一標(biāo)準(zhǔn)可以防止上傳或下載文件的中文名稱發(fā)生亂碼。
(2)補(bǔ)充添加本地用戶vur
在終端輸入adduser vur,按提示輸入相關(guān)信息(連續(xù)回車),即可創(chuàng)建本地用戶vur。
?注:因?yàn)樘摂M用戶需要集中映射到本地用戶,所以需要?jiǎng)?chuàng)建本地用戶vur。vur這個(gè)名字是常用的(可以改成自己喜歡的,但是配置文件中要同步修改),翻譯過來也是虛擬virtual?user。
(3)配置賬號(hào)密碼驗(yàn)證機(jī)制
1.建立FTP目錄和賬號(hào)密碼文件
終端輸入:cd /etc
#跳轉(zhuǎn)到etc目錄中
mkdir vsftpd
#創(chuàng)建名為vsftpd的目錄
cd vsftpd
#跳轉(zhuǎn)到vsftpd目錄中
vim vur_list
#創(chuàng)建vur_list文件(txt),并打開編輯。名稱定為vur_list是方便管理和記憶。vur是本地用戶名,_list是列表文件的意思。
?按i進(jìn)入編輯模式。
第一行 為虛擬用戶1的賬號(hào),第二行為虛擬用戶1的密碼。
第三行 為虛擬用戶2的賬號(hào),第四行為虛擬用戶2的密碼。
以此類推
按ESC,退出編輯模式,輸入:wq,進(jìn)行保存并退出。
2.把TXT文件轉(zhuǎn)db庫文件
把vur_list文本文件轉(zhuǎn)換為vur_list.db數(shù)據(jù)庫文件
使用db_load命令,把賬號(hào)密碼文本文件(vur_list),用HASH算法生成FTP用戶數(shù)據(jù)庫文件(vur_list.db)
終端在vsftpd目錄下,輸入:
db_load -T -t hash -f vur_list.txt?vur_list.db
?沒安裝db_load 程序,沒關(guān)系。
直接輸入命令安裝:apt install db-util
3.給數(shù)據(jù)庫文件權(quán)限,防止其他用戶查看密碼。
用root身份,利用chmod命令,給vur_list.db賦權(quán)。
chmod 600 /etc/vsftpd/vur_list.db
600代表其他人不可讀寫
?4.配置vsftpd的PAM認(rèn)證文件。
在pam.d目錄(我的在etc目錄中)中,找到vsftpd,一般都有的。
vim /etc/pam.d/vsftpd
?這個(gè)文件是自帶的命令參數(shù),現(xiàn)在需要把所有的命令行用#注釋掉,然后輸入以下參數(shù)。
auth required pam_userdb.so db=/etc/vsftpd/vur_list
account required pam_userdb.so db=/etc/vsftpd/vur_list
#你的vur_list.db在哪里,路徑就連到哪里,連接時(shí)候需要把.db去掉,因?yàn)閐b=這里就規(guī)定了文件類型。啟動(dòng)了兩種驗(yàn)證(auth、account)
auth:主要是接受用戶名和密碼,進(jìn)而對(duì)該用戶的密碼進(jìn)行認(rèn)證,并負(fù)責(zé)設(shè)置用戶的一些秘密信息。
account:主要是檢查帳戶是否被允許登錄系統(tǒng),帳號(hào)是否已經(jīng)過期,帳號(hào)的登錄是否有時(shí)間段的限制等等。
:wq,保存并退出
?(圖片還沒改過來,以文字為準(zhǔn))
(4)配置虛擬用戶的conf配置文件
在/etc/vsftpd目錄中,創(chuàng)建vconf目錄。要與主配置文件其中一行的參數(shù)(user_config_dir=/etc/vsftpd/vconf)保持一致。這里創(chuàng)建配置用戶配置文件的文件名必須與上面創(chuàng)建的用戶名一致。
1.創(chuàng)建nyjbgs用戶的配置文件
終端在/etc/vsftpd/vconf目錄中,輸入vim nyjbgs
#創(chuàng)建用戶1的配置文件,并打開編輯
配置內(nèi)容如下:
local_umask=022
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=No
local_root=/home/FTP
allow_writeable_chroot=YES
2.創(chuàng)建dayinji用戶的配置文件
終端在/etc/vsftpd/vconf目錄中,輸入vim dayinji
#創(chuàng)建用戶1的配置文件,并打開編輯
配置內(nèi)容如下:
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=No
download_enable=NO
local_root=/home/FTP
allow_writeable_chroot=YES
(5)設(shè)置FTP文件的訪問權(quán)限。
為保證其他用戶可以訪問,給予rwxr-xr-x權(quán)限:
chown vur:vur /home/FTP
chmod -R 777?/home/FTP
?三位數(shù)字對(duì)應(yīng)所有者、群組、其他
?有意義的三種權(quán)限分別為:0、5、7
0(沒有任何權(quán)限)
5(讀和執(zhí)行,基本權(quán)限)
7(讀、寫和執(zhí)行,最高權(quán)限)
?-R 表示對(duì)該目錄及其子目錄都進(jìn)行賦權(quán)操作。
四、FTP其他相關(guān)
1.相關(guān)命令
systemctl enable?vsftpd 開啟
systemctl start vsftpd?啟動(dòng)
systemctl stop?vsftpd?停止
systemctl restart vsftpd?重啟動(dòng)
systemctl status?vsftpd?查詢狀態(tài)
netstat -antup | grep ftp?在端口中,查詢FTP關(guān)鍵詞,并以簡(jiǎn)要格式呈現(xiàn)。
2.開機(jī)自啟動(dòng)vsftpd?
更改/etc/rc.local (常用)
vim /etc/rc.local
關(guān)鍵是找到rc.local文件在那,搜索就行,我這操作環(huán)境就在/etc目錄下。中間的路徑直接粘貼復(fù)制。
意思就是啟動(dòng)完所有該啟動(dòng)的之后,再執(zhí)行以下代碼命令。
在exit 0的上一行添加systemctl start vsftpd,保存退出。
重啟之后,直接查詢啟動(dòng)狀態(tài),顯示活躍即設(shè)置成功。
3.服務(wù)器的防火墻
我們電腦沒有安裝這玩意。
4.固定IP
如果你的電腦是自動(dòng)獲取IP地址的,還需要手動(dòng)設(shè)置下IP地址。
?linux系統(tǒng)相對(duì)于WIN系統(tǒng),給予了很大修改操作權(quán)限,但是兼容性需要自己去列情況。文章來源:http://www.zghlxwxcb.cn/news/detail-489878.html
就像進(jìn)入人體一樣,復(fù)雜的也有,簡(jiǎn)單的也有,改造的空間和潛力很大,可以學(xué)到的也很多,是可以調(diào)教成真正屬于自己的操作系統(tǒng)。文章來源地址http://www.zghlxwxcb.cn/news/detail-489878.html
到了這里,關(guān)于linux 銀河麒麟V10 VSFTPD服務(wù)端安裝、配置的圖文教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!