centos7下如何安装ftp服务
作者:奈小奈
这篇文章主要介绍了centos7下如何安装ftp服务问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
centos7安装ftp服务
安装
安装vsftpd :
[root@ftp ~]# yum install -y vsftpd
安装epel-release ,借助epel的yum扩展源来下载db4-utils:
[root@ftp ~]# yum install -y epel-release
安装db4-utils :
[root@ftp ~]# yum install -y db4-utils
建立用户
1.建立系统账户(和虚拟账户相关联的)
[root@ftp ~]# useradd virftp -s /sbin/nologin
2.建立虚拟用户的账号文件,并赋予权限
[root@ftp ~]# vi /etc/vsftpd/vsftpd_login test1 000000 #奇数行为用户名,偶数行为上一行用户名所对应的密码 test2 123456 [root@ftp ~]# chmod 600 /etc/vsftpd/vsftpd_login
3.对账号文件生成对应的库文件
[root@ftp ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
配置用户
1、创建目录用于存放用户的文件
[root@ftp ~]# mkdir /etc/vsftpd/vsftpd_user_conf [root@ftp ~]# cd /etc/vsftpd/vsftpd_user_conf/ [root@ftp vsftpd_user_conf]# vi test1 local_root=/home/virftp/test1 #账户的家目录 anonymous_enable=NO #不允许匿名账号登录 write_enable=YES #可写 local_umask=022 #用户的umask值 anon_upload_enable=NO #不允许匿名账号上传文件 anon_mkdir_write_enable=NO #不允许匿名账户可写
2、创建用户的家目录及文件
[root@ftp~]# mkdir /home/virftp/test1 [root@ftp ~]# touch /home/virftp/test1/ly.txt
3、给家目录赋予权限,并映射到系统账号
[root@ftp ~]# chown -R virftp:virftp /home/virftp/
4、修改登录认证文件,将虚拟用户密码文件写入
[root@ftp~]# vi /etc/pam.d/vsftpd auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login #添加 account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login #添加 #%PAM-1.0 session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include password-auth account include password-auth session required pam_loginuid.so session include password-auth
配置vsftpd并启动
1、修改vsftpd的全局配置文件,并启动vsftpd
[root@ftp ~]# vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO #找到并修改为此句 anon_upload_enable=NO #找到并修改为此句 anon_mkdir_write_enable=NO #找到并修改为此句 #添加以下内容 chroot_local_user=YES guest_enable=YES guest_username=virftp #虚拟用户 virtual_use_local_privs=YES #现在使用的是虚拟用户 user_config_dir=/etc/vsftpd/vsftpd_user_conf allow_writeable_chroot=YES [root@ftp ~]# systemctl start vsftpd
登录ftp
1、登录 (安装lftp软件,登录vsftpd)
[root@ftp ~]# yum install -y lftp [root@ftp ~]# lftp test1@127.0.0.1 Password: lftp test1@127.0.0.1:~> ls -rw-r--r-- 1 1000 1000 0 Dec 03 08:21 ly.txt lftp test1@127.0.0.1:/> quit
centos7安装ftp服务登录不上的坑
防火墙的设置
1. 需要关闭window的防火墙以及杀毒软件的拦截
直接百度,有很多,就不再赘述
2.关闭cenos7的防火墙 或者防火墙开启 21 端口
直接关闭
#查看防火墙状态 systemctl status firewalld.service #关闭防火墙 systemctl stop firewalld.service
关闭防火墙成功:
防火墙开启 21 端口
#开放端口 firewall-cmd --zone=public --add-port=21/tcp --permanent
Selinux关闭或者修改后才支持ftp服务
1.直接关闭Selinux
#修改配置项SELINUX=disabled vi /etc/selinux/config
如果修改配置项后,需要重启系统才会生效,如果不想重启系统可以使用下面设置Selinux属性的方法
2.修改设置Selinux属性
#查看Selinux 中关于vsftpd 的参数 getsebool -a | grep ftp
如果看到上面属性是关闭的
#运行以下命令修改: setsebool -P allow_ftpd_full_access on setsebool -P ftpd_home_dir on #重启vsftpd service vsftpd restart
测试ftp本地是否可以登录
#安装ftp命令 yum -y install ftp # 测试本地登录 ftp IP ftp 192.168.0.XXX
登陆成功
然后用工具登录试一试(我用的是Xftp)
卸载vsftpd
#RPM Package Manager,RPM包管理器卸载的方法 – rpm -q 软件名... #查询软件包是否安装 – rpm -ivh 软件名-版本信息.rpm... #安装软件包 – rpm -e 软件名... #卸载程序 rpm -q vsftpd #查询软件是否安装 rpm -ql vsftpd #查询已安装软件的安装清单 rpm -e vsftpd #卸载软件程序 # rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm #卸载
常用命令
#查看所有安装的服务 systemctl list-unit-files --type=service #查看所有运行服务 netstat -tlnp #查看ftp服务端口号 getsebool -a | grep ftp
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。