【Linux常用服务器配置——Vsftpd服务】
目錄
1.簡介
2.FTP兩種傳輸模式
3.安裝vsftpd
4.設(shè)置開機(jī)啟動vsftpd
5.啟動vsftpd
6.查看ftp是否啟動
7.開啟防火墻,開放21端口
8.安裝vsftpd虛擬用戶需要的軟件和認(rèn)證模塊
9.創(chuàng)建虛擬用戶臨時文件
10.生成虛擬用戶數(shù)據(jù)認(rèn)證文件?
11.設(shè)置認(rèn)證文件的權(quán)限為755
12.配置pam認(rèn)證文件
13.新建一個系統(tǒng)用戶(ftpuser)作為虛擬用戶的映射,這個用戶不用密碼、登錄
14.創(chuàng)建虛擬用戶配置文件所放置的目錄
15.設(shè)置vsftpd配置文件
16.為每個虛擬用戶創(chuàng)建配置文件
17.創(chuàng)建虛擬用戶各自的家目錄
18.設(shè)置權(quán)限
19.配置selinux允許ftp訪問home和外網(wǎng)訪問
20.重啟vsftpd服務(wù)
21.客戶端測試
1.簡介
FTP,File Transfer Protocol,文件傳輸協(xié)議,基于該協(xié)議FTP客戶端與服務(wù)端可以實現(xiàn)共享文件、上傳文件、下載文件。FTP基于C/S模式,FTP客戶端與服務(wù)器端有兩種傳輸模式,分別是FTP主動模式、FTP被動模式,主被動模式均是以FTP服務(wù)器端為參照。
2.FTP兩種傳輸模式
1)FTP主動模式:客戶端從一個任意的端口N(N>1024)連接到FTP服務(wù)器的port 21命令端口,客戶端開始監(jiān)聽端口N+1,并發(fā)送FTP命令“port N+1”到FTP服務(wù)器,FTP服務(wù)器以數(shù)據(jù)端口(20)連接到客戶端指定的數(shù)據(jù)端口(N+1)。
2)FTP被動模式:客戶端從一個任意的端口N(N>1024)連接到FTP服務(wù)器的port 21命令端口,客戶端開始監(jiān)聽端口N+1,客戶端提交PASV命令,服務(wù)器會開啟一個任意的端口(P >1024),并發(fā)送PORT P命令給客戶端。客戶端發(fā)起從本地端口N+1到服務(wù)器的端口P的連接用來傳送數(shù)據(jù)。
注意
centos 7默認(rèn)是沒有開啟FTP服務(wù)的,必須手動開啟。
安裝服務(wù)修改配置文件之后,需要重啟服務(wù),使配置生效。
3.安裝vsftpd
[root@master ~]# rpm -qa |grep vsftpd [root@master ~]# yum list installed|grep vsftpd以上查詢均無任何信息,說明vsftpd沒有安裝。現(xiàn)在通過命令“yum -y install vsftpd”直接在線安裝,需要聯(lián)網(wǎng)才可以正常進(jìn)行,命令中的“-y”表示不用輸入確定,直接一路安裝到底。
[root@master ~]# yum -y install vsftpd 已加載插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com * updates: mirrors.aliyun.com …… 安裝 1 軟件包 總下載量:171 k 安裝大小:353 k …… 已安裝:vsftpd.x86_64 0:3.0.2-25.el7 完畢!4.設(shè)置開機(jī)啟動vsftpd
[root@master ~]# systemctl enable vsftpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.5.啟動vsftpd
[root@master ~]# systemctl start vsftpd.service6.查看ftp是否啟動
[root@master ~]# ps -e |grep ftp11547 ? 00:00:00 vsftpd [root@master ~]# systemctl status vsftpd.service ● vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)Active: active (running) since 五 2019-03-22 02:32:14 CST; 55s agoProcess: 11543 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)Main PID: 11547 (vsftpd)7.開啟防火墻,開放21端口
[root@master ~]# firewall-cmd --permanent --zone=public --add-port=21/tcp success [root@master ~]# firewall-cmd --permanent --zone=public --add-service=ftp success [root@master ~]# firewall-cmd --reload success [root@master ~]# firewall-cmd --list-all public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-client ftpports: 111/tcp 111/udp 2049/tcp 2049/udp 4001-4004/tcp 4001-4004/udp 873/tcp 21/tcp8.安裝vsftpd虛擬用戶需要的軟件和認(rèn)證模塊
[root@master ~]# yum -y install pam* libdb-utils libdb* –skip-broken 已加載插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com …… 完畢!9.創(chuàng)建虛擬用戶臨時文件
[root@master ~]# vi /etc/vsftpd/ftpusers.txt添加如下內(nèi)容:
tql pas369 lxy zb2598 zidb pq6527文件中奇數(shù)行為用戶名,偶數(shù)行為上一行用戶對應(yīng)的密碼。
10.生成虛擬用戶數(shù)據(jù)認(rèn)證文件?
[root@master ~]# db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/login.db11.設(shè)置認(rèn)證文件的權(quán)限為755
[root@master ~]# chmod 755 /etc/vsftpd/login.db12.配置pam認(rèn)證文件
[root@master ~]# vi /etc/pam.d/vsftpd在文件中注釋掉原來的內(nèi)容,然后加入下面兩行內(nèi)容:
auth required pam_userdb.so db=/etc/vsftpd/login account required pam_userdb.so db=/etc/vsftpd/login13.新建一個系統(tǒng)用戶(ftpuser)作為虛擬用戶的映射,這個用戶不用密碼、登錄
[root@master ~]# useradd ftpuser -s /sbin/nologin14.創(chuàng)建虛擬用戶配置文件所放置的目錄
[root@master ~]# mkdir -p /etc/vsftpd/user_conf15.設(shè)置vsftpd配置文件
[root@master ~]# vi /etc/vsftpd/vsftpd.conf在配置文件中將“anonymous_enable=YES”改為:
anonymous_enable=NO listen=YES將“l(fā)isten_ipv6=YES”改為:
listen_ipv6=NO在文件末尾加入以下內(nèi)容:
# 啟用虛擬用戶 guest_enable=YES # 映射虛擬用戶到系統(tǒng)用ftpuser guest_username=ftpuser # 設(shè)置虛擬用戶配置文件所在的目錄 user_config_dir=/etc/vsftpd/user_conf# 虛擬用戶擁有本地用戶的權(quán)限將“xferlog_file=/var/log/xferlog”之前的“#”刪除;將“l(fā)isten=NO”改為:
virtual_use_local_privs=YES # 鎖定用戶目錄 chroot_local_user=YES # 禁止用戶列表功能virtual_use_local_privs=YES # 鎖定用戶目錄 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list allow_writeable_chroot=YES 建立根目錄鎖定的帳戶文件 [root@master ~]# touch /etc/vsftpd/chroot_list16.為每個虛擬用戶創(chuàng)建配置文件
[root@master ~]# vi /etc/vsftpd/user_conf/tql加入內(nèi)容為:
# 虛擬用戶家目錄路徑 local_root=/home/ftpuser/tql # 允許虛擬用戶有寫得權(quán)限 write_enable=YES # 允許匿名用戶可以下載和讀取的權(quán)限 anon_world_readable_only=YES # 允許匿名用戶有上傳文件權(quán)限,在write_enable=YES時有效 anon_upload_enable=YES # 允許匿名用戶有創(chuàng)建目錄權(quán)限write_enable=YES時有效 anon_mkdir_write_enable=YES # 允許匿名用戶有其他權(quán)限,在write_enable=YES時有效 anon_other_write_enable=YES添加第二個虛擬用戶:
[root@master ~]# vi /etc/vsftpd/user_conf/lxy加入內(nèi)容為:
local_root=/home/ftpuser/lxy write_enable=YES anon_world_readable_only=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES添加第三個虛擬用戶:
[root@master ~]# vi /etc/vsftpd/user_conf/zidb加入內(nèi)容為:
local_root=/home/ftpuser/zidb write_enable=YES anon_world_readable_only=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES17.創(chuàng)建虛擬用戶各自的家目錄
[root@master ~]# mkdir -p /home/ftpuser/tql [root@master ~]# mkdir -p /home/ftpuser/lxy [root@master ~]# mkdir -p /home/ftpuser/zidb18.設(shè)置權(quán)限
[root@master ~]# chown -R ftpuser:ftpuser /home/ftpuser19.配置selinux允許ftp訪問home和外網(wǎng)訪問
[root@master ~]# setsebool -P allow_ftpd_full_access on [root@master ~]# setsebool -P tftp_home_dir on20.重啟vsftpd服務(wù)
[root@master ~]# systemctl restart vsftpd21.客戶端測試
在用戶根目錄下創(chuàng)建空文件,以便于測試。
[root@master ~]# touch /home/ftpuser/lxy/test{01..10} [root@master ~]# ls /home/ftpuser/lxy/ test01 test02 test03 test04 test05 test06 test07 test08 test09 test101)用瀏覽器測試FTP 在瀏覽器地址欄輸入如下地址后回車,即可看到如圖8-1所示的結(jié)果。
ftp://lxy:zb2598@192.168.125.1282)FTP客戶端測試FTP 用CuteFTP客戶端連接也同樣沒有問題,其相關(guān)信息如下:
狀態(tài):> 連接: Friday 16:07:53 03-22-2019 狀態(tài):> 正在連接到 192.168.125.128 狀態(tài):> 正在連接到 192.168.125.128 (ip = 192.168.125.128) 狀態(tài):> Socket 已連接。正在等待歡迎消息...220 (vsFTPd 3.0.2) 狀態(tài):> 已連接,正在驗證... 命令:> USER lxy331 Please specify the password. 命令:> PASS ********230 Login successful. 狀態(tài):> 登錄成功 命令:> TYPE I200 Switching to Binary mode. 狀態(tài):> 該站點支持?jǐn)帱c續(xù)傳 命令:> PWD257 "/" 命令:> TYPE A200 Switching to ASCII mode.至此Vsftpd服務(wù)就配置完了
?
總結(jié)
以上是生活随笔為你收集整理的【Linux常用服务器配置——Vsftpd服务】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微服务相关面试题
- 下一篇: linux 桌面小部件,在Ubuntu中