Linux中FTP服务器

目录

前期准备工作

匿名用户模式

本机用户模式

 虚拟用户模式

 重新安装vsftpd服务

创建用于进行FTP认证的用户数据库文件

创建vsftpd服务程序用于储存文件的根目录以及用于虚拟用户映射的系统本地用户

建立用于支持虚拟用户的PAM文件

修改vsftpd服务程序的主配置文件

 为两个虚拟用户设置不同的权限


前期准备工作

安装vsftpd服务程序

dnf install vsftpd
#清除防火墙的默认策略
iptables -F
#把当前已经被清理的防火墙策略状态保存下来
iptables-save

再把FTP协议添加到firewalld服务的允许列表中

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd --reload

过滤vsftpd服务程序的主配置文件

mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak

grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf

cat /etc/vsftpd/vsftpd.conf

接下来手动安装ftp客户端工具,以便在后续实验中查看结果

dnf install ftp

关闭SELINUX安全子系统

#临时关闭,在终端输入
setenforce 0
#永久关闭,永久关闭需要重启
vim /etc/selinux/config
#把SELINUX的值改为"disabled"

匿名用户模式

vsftpd服务程序默认关闭了匿名开放模式,选择开启匿名用户的一些权限

#打开vsftpd服务程序配置文件
vim /etc/vsftpd/vsftpd.conf

#输入
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

然后重启vsftpd服务程序,设置开机启动项

systemctl restart vsftpd

systemctl enable vsftpd

将目录的所有者身份改成系统账户ftp即可(增加权限)(在匿名开放认证下,默认访问的是/var/ftp目录

chown -R ftp /var/ftp/pub
#此方法可能会导致服务被“安全锁定”而不能登录
chown -R 777 /var/ftp

然后就可以用客户端执行命令连接到远程的FTP服务器

本机用户模式

配置本地用户参数

#打开配置文件
vim /etc/vsftpd/vsftpd.conf
#输入以下参数
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#然后重启服务程序
systemctl restart vsftpd
#添加到开机启动项
systemctl enable vsftpd

查看vsftpd服务程序所在目录中默认存放的两个“用户名单”的文件(ftpusers和user_list)里面写着的就不允许登录

cat /etc/vsftpd/user_list

cat /etc/vsftpd/ftpusers
#如果有你想要登陆的用户的名字,就把他从这里面删除

配置完成后使用客户端登陆

 虚拟用户模式

 重新安装vsftpd服务
dnf install vsftpd
创建用于进行FTP认证的用户数据库文件
cd /etc/vsftpd
vim vuser.list
#创建两个用户
zhangsan
redhat
lisi
redhat

#由于明文信息既不安全,也不符合让vsftpd服务程序直接加载的格式,因此需要转换一下
db_load -T -t hash -f vuser.list vuser.db
chmod 600 vuser.db
rm -f vuser.list 
创建vsftpd服务程序用于储存文件的根目录以及用于虚拟用户映射的系统本地用户
useradd -d /var/ftproot -s /sbin/nologin virtual
ls -ld /var/ftproot/
chmod -Rf 755 /var/ftproot/
建立用于支持虚拟用户的PAM文件
vim /etc/pam.d/vsftpd.vu

#添加以下内容
auth    required        pam_userdb.so    db=/etc/vsftpd/vuser
account required        pam_userdb.so    db=/etc/vsftpd/vuser
修改vsftpd服务程序的主配置文件
#过滤文件
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
cat /etc/vsftpd/vsftpd.conf

#打开配置文件
vim /etc/vsftpd/vsftpd.conf 

#添加以下内容
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES

pam_service_name=vsftpd.vu

 为两个虚拟用户设置不同的权限
mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
touch lisi
vim zhangsan

#添加以下内容
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

#修改vsftpd主配置文件
vim /etc/vsftpd/vsftpd.conf
#添加以下内容
user_config_dir=/etc/vsftpd/vusers_dir

#重启vsftpd服务程序
systemctl restart vsftpd
systemctl enable vsftpd

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪兽王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值