FTP服务器配置
特点:可跨操作系统,建立临时数据连接
FTP协议中典型消息 FTP错误列表
三种用户
本地用户(Real用户)
拥有shell登录账户,其登录目录为用户自己的家目录($HOME),本地用户既可以下载又可以上传
虚拟用户(guest用户)
其登录目录是vsftpd为其指定的目录,通常既可以下载又可以上传
匿名用户(anonymous用户)
无账号,其登录目录是匿名FTP服务器的根目录(默认为/var/ftp),只提供下载,不提供上传或受到一定限制
管理vsftp服务
systemctl {start|stop|status|restart} vsftpd
systemctl {enable|disable} vsftpd
开启防火墙及21端口
firewall-cmd --add-service=ftp --permanent
firewall-cmd --add-port=21 --permanent
若想服务器在开机时便开启 输入systemctl enable vsftpd和systemctl start vsftpd
任务1
配置匿名服务器
(1)备份FTP服务器的配置文件vsftpd.conf或从软件包里复制匿名服务器到vsftpd配置文件目录中
(2)修改FTP服务器配置文件使其允许匿名用户登录
vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
(3)重启vsftpd
(4)创建提供上传的匿名目录文件
mkdir /var/ftp/incoming
chmod 755 /var/ftp
chmod 777 /var/ftp/incoming
chown ftp /var/ftp/incoming
(5)关闭shell Unix
setenforce 0
(6)重启vsftpd
经常使用vsftpd可以及时检查到配置文件的错误
任务2
配置不同本地FTP用户的不同配置
(1)为了使效果明显,在vsftpd配置文件中设置平均速度以及每个IP可连接数
vi /etc/vsftpd/vsftpd.conf
local_max_rate=20000
anon_max_rate=10000
max_per_ip=5
user_config_dir=/etc/vsftpd/userconf
(2)增加新用户
adduser user1
passwd user1
(3)创建userconf目录
mkdir /etc/vsftpd/userconf
(4)对不同用户设置不同配置
vi /etc/vsftpd/userconf/user1
local_max_rate=50000
use_localtime=YES
(5)重启vsftpd
任务3(两种限制)
1.把本地用户限制到自家目录(即不允许访问其他目录)
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
2.拒绝本地用户访问FTP服务器
vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
如果希望userlist里的用户访问FTP服务器,就修改userlist_deny=NO。但这也意味着除了userlist的本地用户不可访问FTP服务器
任务3
添加虚拟用户
(1)修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
chroot_local_enable=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=vuftp
user_config_dir=/etc/vsftpd/vuserconf
pam_service_name=vsftpd.vu
(2)创建虚拟用户映射本地用户
adduser -d /srv/vuser vuftp
(3)创建虚拟用户
su - vuftp -c ‘mkdir user1’
(4)创建虚拟用户登录账号口令文件,并转化成数据库文件
vi /etc/vsftpd/logins.txt
user1
123456
db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/logins.db
chmod 600 /etc/vsftpd/logins.*
(5)创建虚拟用户登录认证使用的pam配置文件
vi /etc/pam.d/vsftpd.vu
auth required pam_listfile.do item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_userdb.so db=/etc/vsftpd/logins.db
account required pam_userdb.so db=/etc/vsftpd/logins.db
(5)创建虚拟用户配置文件
vi /etc/vsftpd/vuserconf/user1
local_root=/srv/ftp/vuser/user1
anon_world_readable_only=NO //可浏览目录权限
anon_upload_enable=YES //可上传权限
anon_mkdir_write_enable=YES //可创建目录、写权限
anon_other_write_enable=YES //可删除目录、改名权限
(6)重启vsftpd