centos7 搭建vsftp

来源:互联网 发布:div css模板源码 编辑:程序博客网 时间:2024/05/23 02:03


首先下载并安装vsftp

yum install vsftp

修改配置文件

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO    # 不允许匿名访问,禁用匿名登录
chroot_local_user=YES   # 启用限定用户在其主目录下
use_localtime=YES     # 使用本地时(自行添加)
chroot_list_enable=YES
local_enable=YES      # 允许使用本地帐户进行FTP用户登录验证
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES     # 启用上传和下载的日志功能,默认开启。
local_umask=022      # 设置本地用户默认文件掩码022
# FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022
listen_port=21

idle_session_timeout=300
 
data_connection_timeout=120 # 数据连接超时时间
guest_enable=YES       # 设定启用虚拟用户功能
guest_username=ftpuser    # 指定虚拟用户的宿主用户 ftpuser(就是我们后面会新建这个用户)
# guest_username=www
# 如果ftp目录是指向网站根目录,用来上传网站程序,
# 可以指定虚拟用户的宿主用户为nginx运行账户www,可以避免很多权限设置问题 
user_config_dir=/etc/vsftpd/vuser_conf  # 虚拟用户配置文件目录
virtual_use_local_privs=YES # NO时,虚拟用户和匿名用户有相同的权限,默认是NO
 
pasv_min_port=10060     # 被动模式最小端口号10060
pasv_max_port=10090     # 被动模式最大端口号10090
 
accept_timeout=5
connect_timeout=1


关闭防火墙

systemctl stop firewalld


关闭SELinux

vi /etc/selinux/config

# SELINUX=enforcing
# 注释掉
# SELINUXTYPE=targeted
# 注释掉
SELINUX=disabled
# 增加
:wq! #保存退出
setenforce 0


创建宿主用户

useradd ftpuser -d /home/vsftpd -s /bin/false
chown ftpuser:ftpuser /home/vsftpd -R 


建立虚拟用户文件


touch /etc/vsftpd/vuser_passwd

vi /etc/vsftpd/vuser_passwd

test  #用户名

12121212  #密码

生成虚拟用户数据文件


db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
chmod 600 /etc/vsftpd/vuser_passwd.db


创建虚拟用户配置


mkdir /etc/vsftpd/vuser_conf

cd /etc/vsftpd/vuser_conf

vi test

local_root=/home/vsftpd/test  # 用户 hss 配置目录,这个地方不一样
write_enable=YES       # 允许本地用户对FTP服务器文件具有写权限
anon_world_readable_only=NO
anon_upload_enable=YES    # 允许匿名用户上传文件(须将全局的write_enable=YES,默认YES)
anon_mkdir_write_enable=YES  # 允许匿名用户创建目录
anon_other_write_enable=YES  # 允许匿名用户删除和重命名权限(自行添加)


创建用户目录

mkdir -p /home/vsftpd/test


修改pam.d认证


vi /etc/pam.d/vsftpd


注释掉原来的auth和account

增加下面2行

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd


启动vsftpd服务


systemctl start vsftpd


0 0
原创粉丝点击