本文主要是介绍VSFTP在centos7上安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
5、vsftpd服务安装和配置
本章节介绍如何安装和配置Vsftpd软件。
5.1、安装vsftpd
1.检查vsftpd是否安装。
rpm -qa|grep vsftpd
2.如果没有安装,请获取安装包后,上传服务器,并安装vsftpd。
rpm -ivh vsftpd*.rpm(或者直接通过yum安装:yum install -y vsftpd)
具体请参见如下图。
图 5-1安装vsftpd
5.2、创建vsftpd密码文件
3.进入vsftpd目录。
cd /etc/vsftpd
4.创建密码文件。
vi vsftpd_login.txt
具体请参见如下图。
图 5-2创建vsftpd密码文件
5.设置ftp用户名和密码,请将如下样例两行填加到vsftpd_login.txt中。
ftpinyjyjs@123ftpoutyjyjs@123
如果有多个用户名和密码,请依次按照用户名、密码的顺序填加到密码文件中。
5.3、生成虚拟用户帐户数据库
5.以root用户登录,执行如下命令生成虚拟用户账户数据库vsftpd_login.db。
db_load -T -t hash -f /etc/vsftpd/vsftpd_login.txt /etc/vsftpd/vsftpd_login.db
6.赋予文件可读可写权限。
具体请参见如下图。
图 5-4生成虚拟用户账号数据库
5.4、生成vsftpd.vu
7.以root用户登录,并编辑文件vsftpd.vu。
vi /etc/pam.d/vsftpd.vu
8.将如下内容填加到vsftpd.vu文件。
#64位操作系统
#auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login#account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginauth required pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required pam_userdb.so db=/etc/vsftpd/vsftpd_loginauth sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.6、创建ftp用户权限目录
使用如下命令创建FTP用户权限目录,具体请参见如下图。
cd /etc/vsftpdmkdir user.d
5.7、修改vsftpd.conf文件
9.以root用户登录,进入vsftpd目录。
cd /etc/vsftpd
10.修改vsftpd.conf文件,具体参数含义如下(请在原有配置文件基础上修改,以下项是需要修改的项,不是全量配置项)
#取消匿名用户登录anonymous_enable=NO#指定授权文件pam_service_name=vsftpd.vu#启用虚拟用户guest_enable=YESguest_username=app#这里和前面通过useradd创建的用户名一致,云渡一般就直接用云渡应用(exch服务)的用户就可以#只用ftp用户的权限目录user_config_dir=/etc/vsftpd/user.dpasv_min_port=12300 #被动模式时,指定最小端口范围,主动模式时不需要pasv_max_port=12910 #被动模式时,指定最大端口范围,主动模式时不需要allow_writeable_chroot=YESfile_open_mode=0766 #指定上传文件后的文件权限,和local_umask=011的意思一样
5.8、配置ftp用户的权限
11.以root用户登录,编辑ftpin文件,设置如下配置项,具体可参见如下。
vi /etc/vsftpd/user.d/ftpin #ftpin这个和前面的vsftpd_login.txt中的用户名保持一致
write_enable=YESanonymous_enable=NOanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_umask=022download_enable=Yes#该目录为虚拟用户通过ftp登录后的根目录,目录需要自己手动创建
local_root=/home/app/yundu/data/ftp/IN
12.以root用户登录,编辑ftpout文件,设置如下配置项,具体可参见如下:
vi /etc/vsftpd/user.d/ftpout #ftpout这个和前面的vsftpd_login.txt中的用户名保持一致
write_enable=YESanonymous_enable=NOanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_umask=022download_enable=Yeslocal_root=/home/app/yundu/data/ftp/OUT #这里的ftpout目录需要自己手动创建,名称要是实际的用户名,和vsftpd_login.txt中的名称保持一致
5.9、重启vsftpd
使用如下命令重启vsftpd:
service vsftpd restart 或 systemctl start vsftpd
5.9、验证vsftp是否可用
打开ftp客户端,用前面设置的ftp用户名密码登录,并上传文件,查看是否可以上传成功,可以则表明VSFTP安装和设置是OK的。
常见FAQ:
Q1.无法启动vsftp,启动报错:
Answer:修改/etc/vsftpd/vsftpd.conf文件中的listen=NO,然后重启即可。
Q2.虚拟用户登录后无法创建目录,提示:550 Create directory operation failed.
Answer:seLinux防火墙问题,关闭防火墙即可解决
#查看seLinux状态
[root@Video in]# getenforce
Enforcing --显示这个说明防火墙是开启状态
#临时关闭防火墙
[root@Video in]# setenforce 0
#永久关闭防火墙
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled,保存后退出
需要重启操作系统才能生效
这篇关于VSFTP在centos7上安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!