1、安装
安装ftp:yum install -y vsftpd
将ftp设置开机启动:systemctl enable vsftpd.service
2、配置
安装好后在ftp配置文件里进行配置 : vim /etc/vsftpd/vsftpd.conf
在viw中使用命令 :set number 打开行号显示
#修改配置 12 行 anonymous_enable=NO #修改配置 33 行 anon_mkdir_write_enable=YES #修改配置48行 chown_uploads=YES #修改配置72行 async_abor_enable=YES #修改配置83行 ascii_upload_enable=YES #修改配置84行 ascii_download_enable=YES #修改配置87行 ftpd_banner=Welcome to blah FTP service. #修改配置101行 chroot_local_user=YES #添加下列内容到vsftpd.conf末尾 use_localtime=YES listen_port=21 idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=40000 pasv_max_port=40010 accept_timeout=5 connect_timeout=1 allow_writeable_chroot=YES
3、生成用户文件
配置文成后创建用:vim /etc/vsftpd/virtusers
第一行为用户名,第二行为密码。不能使用root作为用户名
将/etc/vsftpd/virtusers生成用户数据文件:db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
设定PAM验证文件,并指定对虚拟用户数据库文件进行读取:chmod 600 /etc/vsftpd/virtusers.db
配置PAM认证信息,编辑/etc/pam.d/vsftpd文件:vi /etc/pam.d/vsftpd
将配置文件中原有的 auth 及 account 的所有配置行均注释掉,然后在末尾加上:
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
如果系统为32位,上面lib64改为lib
4、配置用户访问权限
新建系统用户vsftpd,用户目录为/home/vsftpd:
用户登录终端设为/bin/false(即:使之不能登录系统):useradd vsftpd -d /home/vsftpd -s /bin/false
为文件夹指定访问用户:chown -R vsftpd:vsftpd /home/vsftpd
建立虚拟用户个人配置文件:mkdir /etc/vsftpd/vconf
进入文件夹:cd /etc/vsftpd/vconf,
这里建立虚拟用户admin配置文件:touch admin
编辑admin用户配置文件:vi admin
写入配置信息:
local_root=/home/vsftpd/admin/ write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
创建admin用户根目录:mkdir -p /home/vsftpd/admin/
设置目录操作权限:chmod -R 777 /home/vsftpd/admin
编辑SELINUX配置文件:vim /etc/selinux/config (不设置这个可能上传一些文件时没上传完整,导致异常)
#注释掉下面的行 SELINUX=enforcing #增加 SELINUX=disabled
最后:reboot,重启系统。