vsftpd服务
1.什么是ftp
FTP ( 文件传输协议 )是 INTERNET上仍常用的最老的网络协议之一 ,它为系统提供了通过网络与远程服务器进行传输的简单方法。
准备工作:
[root@localhost ~]# vim /etc/sysconfig/selinux
7 SELINUX=disabled
[root@localhost ~]# getenforce
Disabled ##查看状态
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
IPADDR=172.25.254.131
PREFIX=24
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
PERSISTENT_DHCLIENT=1
[root@localhost ~]# systemctl restart network
[root@localhost ~]# vim /etc/yum.repos.d/rhel_dvd.repo
# Created by cloud-init on Thu, 10 Jul 2014 22:19:11 +0000
[rhel_dvd]
gpgcheck = 0
enabled = 1
baseurl = http://172.25.254.131/rhel7.2
name = Remote classroom copy of dvd
2.安装ftp
yum install vsftpd -y
systemctl start vsftpd
systemctl start firewalld
firewall-cmd --list-all ##查看防火墙对什么设备开启
firewall-cmd --permanent --add-service=ftp ##防火墙对ftp开启
firewall-cmd --reload ##重新启动防火墙
systemctl enable vsftpd
lftp ip ##能登陆并且显示,表示安装成功
3.vsftpd文件信息
/etc/vsftpd/vsftpd.conf ##配置目录
systemctl restart vsftpd ##重启服务
4.vsftpd服务的配置参数
1)匿名用户设定
12 anonymous_enable=YES|NO ##匿名用户登陆限制
<匿名用户上传>
vim /etc/vsftpd/vsftpd.conf
19 write_enable=YES
29 anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
<匿名用户家目录修改>
anon_root=/direcotry
<匿名用户上传文件默认权限修改>
anon_umask=xxx
<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO
<匿名用户下载>
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
<匿名用户删除>
anon_other_write_enable=YES|NO
<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
chown_upload_mode=0644
<最大上传速率>
anon_max_rate=102400
<最大链接数>
max_clients=1
2)本地用户设定
local_enable=YES|NO ##本地用户登陆限制
write_enable=YES|NO ##本地用户写权限限制
<本地用户家目录修改>
local_root=/directory
<本地用户上传文件权限>
local_umask=xxx
<限制本地用户浏览/目录>
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
<用户黑名单建立>
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
<限制本地用户登陆>
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
<用户白名单建立>
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
<用户白名单设定>
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
3)ftp虚拟用户的设定
<创建虚拟帐号身份>
vim /etc/vsftpd/loginusers ##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db
vim /etc/pam.d/ckvsftpd ##文件名称任意
account required pam_userdb.so db=/etc/vsftpd/loginusers
auth required pam_userdb.so db=/etc/vsftpd/loginusers
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES
<虚拟帐号身份指定>
guest_username=ftpuser
chmod u-w /home/ftpuser
<虚拟帐号家目录独立设定>
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER
mkdir /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}
<虚拟帐号配置独立>
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高