安裝網上一些資料部署,發現老是出現一些坑,因此,根據本身學習和部署,在此來發表本身的文章。
1、環境,VMware workstation Pro 15軟件建立虛擬機,系統cento7.6
首先,裝完後關機再開機一下,咱們先把本地yum源作好,關機開機後,會掛載鏡像。
這樣就有CentOS 的鏡像了,而後咱們進行掛載:
mkdir -pv /dvd
mount /dev/cdrom /mnt/
cp -pr /mnt/ /dvd
umount /dev/cdrom /mnt/
咱們把掛載的文件複製到/dvd下,這樣重啓或再開機時,不用擔憂centos鏡像掉了,
而後yum部署繼續操做:
cd /etc/yum.repos.d/
mkdir -p bak
mv Centos bak/
touch CentOS.repo
vim CentOS.repo
[CentOS7.6]
name=CentOS7.6
baseurl=file:///dvd
gpgcheck=0
enabled=1
保存,退出。
而後:
yum repolist all
本地yum源就完成了
而後關閉防火牆和selinux
vim /etc/selinux/config
退出,保存,下一步reboot
而後關閉防火牆
systemctl stop firewalld.servicelinux
2、而後開始部署vsftpd了
yum -y install vsftpd ftp
如今已經完成安裝了,下面進行配置,首先我進行匿名配置:
(1)、匿名訪問權限:可上傳可下載,可刪除更改權限。
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.bak
vim vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
ls_recurse_enable=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
保存,退出
注:須要改的就這些,有些代碼這個vsftpd.conf裏面沒有,須要添加進去,有的去掉註釋就能夠了。也能夠直接把這代碼覆蓋到vsftpd.conf裏面,我試過沒問題。
(2)、爲此,還須要給登陸進去的目錄設置權限,不然沒法登陸和上傳下載,
chmod 777 /var/ftp/pub
(3)、下一步重啓vsftpd
systemctl restart vsftpd
如今咱們測試下:
首先咱們要知道ip
ip a
個人ip是192.168.11.3
ftp 192.168.11.3
密碼也填寫ftp
如今就完成了,也可使用windows上測試
這兩個目錄是沒法刪除和修改的,而且在這裏沒法添加文件,進入pud後才能夠或我建立的目錄bakk後才能夠進行上傳下載和刪除修改。
(4)、怎麼在這裏添加目錄呢?
其實就是在/var/ftp下建立目錄,而且給777權限就能夠了。
注:咱們這樣部署,匿名用戶權限很是的大,因此若是隻是給上傳和下載,沒有刪除、建立和修改:
(5)、註釋掉:anon_other_write_enable=YES這一行,或者刪除這一行或把YES改爲NO
完成後保存,退出,下一步:
systemctl restart vsftpd
這樣就修改完成了
(6)、若是隻是有上傳文件:
再註釋掉或刪除anon_world_readable_only=NO,或者把這個NO改爲YES也能夠的。
匿名訪問權限問題就到這裏了。
3、下一步咱們來進行讓本地用戶能夠登陸訪問:
(1)、首先把咱們這個備份一下
cp -pv vsftpd.conf vsftpd.conf.bak2
cp vsftpd.conf.bak vsftpd.conf
2)、咱們用原文件進行修改
vim vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
保存,退出,也能夠直接複製我這裏的代碼,試了,沒問題
(3)、而後就是建立用戶並禁止用戶登陸系統:
useradd ak -s /sbin/nologin
給用戶設置密碼:
passwd ak
建立用戶完成後,咱們還要把這個用戶寫入到/etc/vsftpd/chroot_list這個文件裏面
echo 「ak」 > /etc/vsftpd/chroot_list
而後重啓vsftpd:systemclt restart vsftpd
(4)、下一步開始測試了:
ftp 192.168.11.3
5)、我這樣設置,是限制了用戶只能在本身的家目錄了進行上傳下載,刪除、建立和修改。
可是卻能夠cd到根目錄上,仍是有很大的安全隱患的。
(6)、也能夠指定用戶都登陸到一個目錄上,只需在vsftpd.conf上添加:
local_root=/var/ftp
而後重啓vsftpd,用戶登陸後就到這個ftp目錄下了。
(7)、匿名用戶指定只需在vsftpd.conf上添加:
anon_root=/var/ftp
而後重啓vsftpd就能夠了
須要再次添加用戶,只需建立後:
echo 「用戶名」 >> /etc/vsftpd/chroot_list
而後重啓vsftpd就能夠了。
vsftpd部署就到此結束了vim