FTP安装及配置

  • A+
所属分类:Linux
系统环境:Centos 7
软件版本:
1.检查系统是否安装vsftpd
[root@localhost ~]# rpm -qa | grep vsftpd 
2.如没有安装用yum安装,也可用光盘安装,libdb-utils用来加密虚拟账户信息
[root@localhost ~]# yum install -y vsftpd ftp libdb-utils
[root@localhost ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd      日志文件
/etc/pam.d/vsftpd            PAM认证文件
/etc/vsftpd/ftpusers         禁止使用vsftpd的用户列表
/etc/vsftpd/user_list        禁止或允许使用vsftpd用户列表
/etc/vsftpd/vsftpd.conf      主配置文件
/var/ftp                     匿名用户主目录
/var/ftp/pub                 匿名用户的下载目录
3.启动服务
[root@localhost ~]# systemctl start vsftpd.service
[root@localhost ~]# systemctl enable vsftpd.service
4.添加防火墙
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=21/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# 
5.修改配置文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
#服务器独立运行
listen=YES
listen_ipv6=NO
#设定不允许匿名访问
anonymous_enable=NO
#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
local_enable=YES
#使用户不能离开主目录
chroot_list_enable=YES
#设定支持ASCII模式的上传和下载功能
ascii_upload_enable=YES
ascii_download_enable=YES
#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
pam_service_name=vsftpd
#设定启用虚拟用户功能
guest_enable=YES 
#指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
guest_username=ftp
#设定虚拟用户文件存放路径。(配置文件名=虚拟用户名)
user_config_dir=/etc/vsftpd/fuser_conf
#配置vsftpd日志(可选)
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
6.创建用户密码文本,奇数行是用户名,偶数行是密码
vim /etc/vsftpd/fuser_passwd.txt
long
123456
test
123
#生成虚拟用户认证的db文件
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/fuser_passwd.txt /etc/vsftpd/fuser_passwd.db
7.编辑认证文件,全部注释掉原来的,增加下面
[root@localhost ~]# vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/fuser_passwd
account required pam_userdb.so db=/etc/vsftpd/fuser_passwd
8.创建虚拟用户配置文件
[root@localhost ~]# mkdir /etc/vsftpd/fuser_conf
文件名等于fuser_passwd.txt里面的账户名,否则配置文件无效 
[root@localhost ~]# vim /etc/vsftpd/fuser_conf/test
local_root=/opt/ftp/test
write_enable=YES 
anon_umask=022 
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES 
anon_other_write_enable=YES
[root@localhost ~]# vim /etc/vsftpd/fuser_conf/long
local_root=/opt/ftp/long
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
9.设置权限,对主目录不能有写的权限所以/opt/ftp为755,主目录下面的子目录再设置777权限
[root@localhost ~]# mkdir -p /opt/ftp/test /opt/ftp/long
[root@localhost ~]# chmod -R 755 /opt/ftp
[root@localhost ~]# chmod -R 777 /opt/ftp/test /opt/ftp/long
#建立限制用户访问目录的空文件
touch /etc/vsftpd/chroot_list
#如果启用vsftpd日志需手动建立日志文件
touch /var/log/xferlog
touch /var/log/vsftpd.log



			
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: