安装网上一些资料部署,发现老是出现一些坑,因此,根据本身学习和部署,在此来发表本身的文章。
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