搭建vsftp服务器实验
发布时间:2021-07-21 浏览次数:682次 作者:湖南省计算产业生态创新中心 (长沙)
1. 搭建vsftp服务器实验
1.1. 查看是否安装vsftp安装包,没有直接安装vsftp
vsftp是very secure ftp 的缩写。
ps -ef |grep vsftpd
rpm -qa | grep vsftpd
yum -y install vsftpd
1.2. 启动服务并设置开机自启动
systemctl start vsftpd.service
systemctl enable vsftpd.service
systemctl status vsftpd.service
1.3. 配置/etc/vsftpd目录下文件
ftpusers //用来指定哪些用户不能访问ftp服务器
user_list //这个文件中的用户是否可以登录到服务器,取决于vsftpd.conf文件中的userlist_enable和userlist_deny这两个选项。
vsftpd.conf //ftp服务器的主配置文件
注:配置文件中的解释
anonymous_enable=YES开启匿名用户登录
local_enable=YES开启本地用户登录
write_enable=YES开启写权限以便上传
local_umask=022设置上传后文件为user=rwx, group=, other=
这样,用户上传文件后,是不能删除和修改了。因为用户属于group组。
解决方法是,设置local_umask=002。
最终文件权限是777-文件夹掩码-local_umask掩码
anon_upload_enable=YES开启匿名用户上传权限
统一匿名上传用户上传的文件的属性
chown_uploads=YES
chown_username=ftp
设定chroot配置,禁止特定用户访问上一级目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
userlist_enable=YES这个选项如果是YES,那/etc/vsftpd/user_list中的用户将被禁止访问ftp。如果是NO,则只有user_list里面的用户才能访问ftp
1.3.1. 匿名用户访问配置
vi /etc/vsftpd/vsftpd.conf
将这两个选项设置为YES :anon_upload_enable=YES和 anon_mkdir_write_enable=YES (一般默认已经有了的,将前面的'#'去掉就行了)。这样实现匿名用户上传和下载文件了。
anonymous_enable=YES
注释:
注:ftp访问失败请清除防火墙配置(iptables -F),方可访问
1.3.2. 非匿名用户访问
vi /etc/vsftpd/vsftpd.conf
先将匿名用户访问关掉:
anon_upload_enable=NO
在配置文件末尾添加:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
创建用户
useradd ftp1
passwd ftp1
测试一下,直接使用ftp1登录,发现是登录不上的。
将用户ftp1放入/etc/vsftpd/vsftpd.user_list文件中
再次访问,使用ftp1用户,可以登录到ftp服务器
注:非匿名用户目录在home目录下
1.4. 使用 TLS 加密 vsftpd 连接(待续)
为了对抗 FTP 固有的不安全性(使用明文传输)。vsftpd 进程可以使用 TLS 来对连接和传输进行加密。FTP 客户端必须支持 TLS。
vsftpd.conf 设置 ssl_enable 为 YES 打开 TLS 的支持。
vi /etc/vsftpd/vsftpd.conf