洪煥江
摘要:隨著科技日新月異,時代步伐的高速向前,互聯(lián)網(wǎng)作為該時代的產(chǎn)物,已經(jīng)滲透到社會人們生活的各行各業(yè)。伴隨著互聯(lián)網(wǎng)技術不斷提高,我國逐漸步入“大數(shù)據(jù)、云計算”時代。在“大數(shù)據(jù)、云計算”時代的今天,為中職計算機網(wǎng)絡專業(yè)開設《cetos7操作系統(tǒng)》這門課程,以就業(yè)為導向為學生打下堅實的基礎。centos7作為目前流行的新版本的linux系統(tǒng),需要老師和學生一起去不斷地努力研究和學習,解決各類問題,以提高自身的技術水平。本文以vsftp的應用進行研究和學習為切入點,解決搭建vsftp服務器過程碰到的各類問題。
關鍵詞:大數(shù)據(jù)、云計算;centos7;vsftp
中圖分類號:G712?文獻標識碼:A?文章編號:1672-9129(2020)09-0050-02
1?研究學習的必要性
1.1 centos系統(tǒng)版本更新后內(nèi)容變化大。centos7由centos6升級而來,在原有的centos6版本基礎上進行了很大的改變。單純的以舊版本的內(nèi)容去與學生教學,則會拋棄新知識,效果會適得其反。
1.2 centos開啟全命令學習模式,難度大,攔路虎多。中職計算機專業(yè)學生英文基礎差,理解能力弱,加上centos7以全命令的方式學習,命令之多數(shù)不勝數(shù),使教師學生無從下手。另外學習centos服務過程中的攔路虎多,單就一條命令足以影響整個實驗結果,探索與學習也是迫不及待的。
1.3 cnetos7為目前主流操作系統(tǒng),安全性較好。與windows系統(tǒng)相比,centos7既免費,系統(tǒng)安全性又較高。就當前而言,絕大多數(shù)的網(wǎng)絡服務器基本上使用linux操作系統(tǒng)。而vsftp作為該系統(tǒng)的一項常用的服務功能,仔細研究和學習也是不可或缺的。
以下將以vsftp服務器的搭建過程為例,基于中職學生的學習,對centos7中的vsftp的應用進研究和學習。
2?研究學習理論知識,實踐部署vsftp服務器
2.1vsftp介紹。ftp也叫文件傳輸協(xié)議,是計算機中最早出現(xiàn)的服務之一,是一個tcp協(xié)議,其功能是在服務器與客戶端之間進行文件的上傳和下載。簡單地說ftp就是實現(xiàn)兩臺計算機之間的拷貝。而vsftp(very secure file transfer protocol)則是centos7系統(tǒng)中一種非常安全的ftp協(xié)議,它所使用系統(tǒng)服務為vsfpd服務。它主要由三種登錄的訪問方式,分別是匿名用戶登錄、本地用戶登錄和虛擬用戶登錄,以下主要圍繞這三種登錄方式進行研究分析。
2.2vsftp服務的部署。在搭建vsftp服務器之前,首先需要對該服務器進行部署。所謂部署,就是在搭建vsftp之前需要為其進行的一系列的準備工作,一般主要由以下幾個步驟。
(1)安裝vsftpd服務。
yum install vsftpd -y
(2)手工啟動vsftpd服務。
systemctl start vsftpd
(3)vsftpd開機自啟動設置。
systemctl enable vsftpd
(4)檢查服務是否已經(jīng)啟動。
systemctl status vsftpd
(5)設置防火墻,使用戶能夠訪問服務器的vsftp服務。
①關閉selinux
setenforce 0
②防火墻開放ftp端口
firewall-cmd --add-service=ftp --zone=public
2.3主配置文件及相關說明
(1)vsftp主配置文件
在vsftp配置中,有一個最重要的文件,即主配置文件,其包含該服務所有的配置信息(默認的服務配置信息和自定義的服務配置信息)。vsfp服務安裝后,其主配置文件保存在目錄etc/vsftpd下,文件名為/vsftpd.conf。
(2)控制列表文件
控制列表文件,通俗地說,就是用戶登錄的黑白名單。這里主要有兩個文件,一個叫ftpusers文件,另一個叫user_list文件。
①ftpusers文件
ftpusers文件只能作為黑名單存在,也就是說只要在此文件中的用戶名單,則是被拉入了vsftp登錄時的黑名單,不能登錄vsftp,此文件可以進行修改。
②user_list
user_list文件既可以做黑名單,也可以做白名單,具體需要和主配置文件匹配操作。當其為白名單時,若以上兩相文件中有相同用戶名時,則是屬于黑名單,同樣不能登錄ftp的,
3?探索學習vsftp服務搭建
3.1以匿名用戶的方式登錄。使用匿名用戶的登錄時,用戶名一般為anonymous或ftp,密碼為空或以郵件的形式。默認情況下,部署好vsftp后,匿名用戶匿名只能下載,不能上傳,主配置文件中默認匿名用戶訪問的目錄為/var/ftp。當對匿名用戶登錄有特殊需求時,如需要匿名用戶可以上傳文件時,那么需要按如下操作步驟進行配置。
(1)修改主配置文件vsftpd.conf
①開啟匿名用戶上傳功能
anon_upload_enable=YES
②允許匿名用戶對目錄及文件具有寫的功能
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
(2)設置主目錄權限
①去掉匿名用戶主目錄的寫權限,只有把主目錄的寫權限去掉,匿名用戶才允許登錄ftp。
chmod a-w /var/ftp
(2)/var/ftp/目錄沒有了寫權限,上傳文件就不可以在主目錄下,所以需要建立一個子目錄pub,并給它添加權限,匿名用戶就只能在子目錄pub中上傳和下載。
chown ftp /var/ftp/pub
②以本地用戶的方式登錄。部署完vsftp后,本地用戶默認情況下與匿名用戶不同,它登錄后既具有下載權限也具有上傳權限。假設以本地用戶user為例,使用user用戶登錄后,它的主目錄為/home/user。但是當user用戶登錄后,可以隨意切換到該服務器的各個目錄(包括根目錄),此時便存在著一個重大的安全隱患。為了消除隱患,一般需要讓本地用戶登錄vsftp時進行家目錄鎖定,使該用戶不能切換到家目錄以外的其他目錄。以下為具體操作步驟。
(1)在主配置vsftpd.conf中把以下幾行注釋去掉
①開啟對本地用戶chroot的限制,YES為默認所有用戶都不能切出家目錄,NO代表默認用戶都可以切出家目錄。
chroot_local_user=YES
②啟用特殊例外用戶列表
chroot_list_enable=YES
③指定存放特殊例外用戶的列表位置。
chroot_list_file=/etc/vsftpd/chroot_list
(2)在目錄/etc/vsftpd/下創(chuàng)建文件chroot_list文件,把需要例外的用戶添加到此文件中,此處可以理解為白名單,即放入文件的用戶為可以切換出家目錄。對于此列表,需要結合上文匹配使用。當chroot_local_user的值是YES則該文件中的用戶是可以切出家目錄,如果是NO,該文件中的用戶則能不出家目錄,一行只能寫一個用戶。
(3)更改目錄權限,若以本地用戶user為例。
①去除主目錄user的寫權限
chmod u-w /home/user/
②添加子目錄ftp,并設置寫權限
chown ftp /home /user/ftp
若要在使家目錄/home/user可以具備寫的權限,也可以在主配置文件vsftpd.conf中添加命令allow_writeable_chroot=YES來代替家目錄權限的設置。
(4)對于本地用戶的登錄,也可以通過ftpuser和user_list這兩個用戶列表文件來控制訪問。
2.3以虛擬用戶的方式登錄
(1)ftp使用過程中的安全問題
ftp在操作使用中暴露出以下眾多的問題:
①ftp在傳輸過程中,是以明文的方式進行的,當客戶端采用本地用戶登錄時,那么會直接將服務器的本地用戶暴露在互聯(lián)網(wǎng)中,如果沒有相關的安全設置,ftp客戶端用戶會使用本地用戶去登錄你的計算機。
②其次需要大量的ftp用戶賬戶時,管理員則必須創(chuàng)建大量的本地用戶,又給安全帶來了不小的挑戰(zhàn)。
綜上所述,其實如果ftp登錄的用戶不是本地系統(tǒng)真實存在的用戶,那么系統(tǒng)的安全問題就能夠解決了,這就引出了虛擬用戶。
(2)虛擬用戶方式登錄的操作
在創(chuàng)建虛擬用戶后,給每個虛擬用戶單獨建立目錄,并建立自己的配置文件,這樣每個用戶都可以單獨來配置自已的權限,并可以單獨指定上傳目錄。詳細地操作可以按如下進行。
①添加虛擬用戶及口令文件
在/etc/vsftpd/目錄下創(chuàng)建vuser.txt文件,此處文件名可以任意,存放文件位置也任意,并在文件中添加一行用戶名一行密碼。
vim /etc/vsftpd/vuser.txt
aa
123
bb
123
②把新建立的虛擬用戶名和密碼打包生成數(shù)據(jù)庫文件,并賦予600權限。
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db
③編輯vsftpd的PAM認證文件,文件位于目錄/etc/pam.d/下,清空文件中所有的內(nèi)容,只添加以下兩行。
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
其中l(wèi)ib64代表64位系統(tǒng)。
④把虛擬用戶和本地用戶user(假設存在user本地用戶)進行關聯(lián),創(chuàng)建宿主目錄vftproot并賦予權限。
useradd -d /home/vftproot -s /sbin/nologin user
chmod 755 /home/vftproot
⑤修改主配置文件vsftpd.conf。
allow_writeable_chroot=YES #這樣可以避免主目錄需要去除寫的權限。
guest_enable=YES #開啟虛擬用戶
guest_username=user#映射虛擬用戶至本地用戶
user_config_dir=/etc/vsftpd/vusers_dir#指定虛擬用戶配置文件存放位置
pam_ service_name=vsfpd pam #認證文件
⑥建立存放虛擬用戶配置文件的主目錄
mkdir /etc/vsftpd/vusers_dir
⑦在vusers_dir目錄下為每個虛擬用戶建立各自的配置文件。若沒有為某用戶創(chuàng)建其配置文件,則這一用戶是依據(jù)主配置文件的全局配置為準。以下給aa用戶添加配置文件。
vim /etc/vsftpd/vusers_dir/aa
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/tmp/aa #給aa指定獨立的上傳目錄。
⑧建立user用戶上傳目錄,并添加權限。
mkdir /tmp/aa
chown user /tmp/aa/
⑨重啟vsftpd服務并測試
systemctl vsftpd restart
配置完后可以達到如下效果:
(1)禁止匿名用戶登錄(配置文件修改)
(2)禁止本地系統(tǒng)用戶登錄(pam文件修改)
(3)允許虛擬用戶登錄(配置文件修改)
(4)aa的上傳目錄是/tmp/aa,并且允許看,下載,上傳
(5)如果bb用戶沒有定義上傳下載的主目錄,則bb用戶上傳目錄是虛擬用戶的默認目錄/home/vftproot,只能查看,下載,而不能上傳。
4?結語
本文基于中職學生的基礎以及需要達到的知識層面,通過對vsftp服務器搭建學習中存在的各類問題,系統(tǒng)的羅列出vsftp三種登錄方式在搭建服務器時詳細過程。當學生在學習過程中觸類不同的登錄方式時,理解剖析,積極應對,冷靜處理。通過vsftp服務的研究探索,進一步強化對centos7系統(tǒng)服務的掌握,努力提升學習興趣,擴大知識層面,為跨入“大數(shù)據(jù)、云計算”的大門打下堅實的基礎。
參考文獻:
[1]高志君.Linux系統(tǒng)管理與服務器配置(基于CentOS7)[M].北京:電子工業(yè)出版社.2018.
[2]唐乾林,黎現(xiàn)云.Linux基礎與服務配置(基于CentOS7.6)[M]北京:人民郵電出版社2019.