vsftpd服务的搭建

vsftpd服务的搭建

环境:linux

  • 系统centos7
  • ip:10.0.0.5

1.匿名开放模式

yum install vsftpd -y #安装vsftpd服务
systemctl start vsftpd #启动服务
参数 做用
anonymous_enable=YES 容许匿名访问
anon_umask=022 匿名用户上传文件的umask值
anon_upload_enable=YES 容许匿名用户上传文件
anon_mkdir_write_enable=YES 容许匿名用户建立目录
anon_other_write_enable=YES 容许匿名用户修改目录名称或删除目录
local_root=/var/ftp 设置root目录
chroot_local_user=YES 是否将全部用户限制在主目录
anon_root=/var/www 匿名用户登陆目录

一般默认安装的vsftpd就是匿名模式,当咱们启动服务后,须要放行相应服务端口,要注意的是,你要是修改了匿名用户目录,目录权限不能够是777,最好是755,登陆的主目录匿名用户是没法上传的,在主目录建立目录,修改其权限可写便可上传至该目录数据库

2.本地用户模式

本地用户模式能够和匿名模式一块儿使用,一般环境能够建立一位具备写权限的用户来上传文件,而匿名用户方便你们下载相关资料。
编辑/etc/vsftpd/vsftpd.confvim

local_enable=YES
write_enable=YES
local_umask=022

将以上三项写入配置文件,而后重启vsftpd服务,默认状况本地用户登陆是在本身的家目录,root用户被禁止登陆,如有需求能够修改user_list和ftpusers文件将登陆权限放开。centos

3.虚拟用户模式

虚拟用户模式是三个模式中最安全的一种验证方式,配置过程也会稍微复杂一些,虚拟用户模式也能够和匿名模式混用。安全

1.建立用户数据库文件ui

cd /etc/vsftpdd
vim vuser.list

建立用户文件
奇数行为用户名,偶数行为密码.
建立文件后须要对用户文件进行加密,并修改权限,而后将明文文件删除,以后建立一个用来虚拟用户登陆后映射本地用户的用户。加密

db_load -T -t hash -f vuser.list vuser.db
chmod 600 vuser.db
rm -f vuser.list
useradd -d /test -s /sbin/nologin

2.建立支持虚拟用户的PAM文件
新建并编辑/etc/pam.d/vsftpd.vu文件,写下建立的数据库文件的路径
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vusercentos7

在这里插入图片描述
3.修改vsftpd.conf配置文件spa

参数 做用
anonymous_enable=NO 禁止匿名开放模式
local_enable=YES 容许本地用户模式
guest_enable=YES 开启虚拟用户模式
guest_username=test 指定虚拟用户帐户
pam_service_name=vsftpd.vu 指定PAM文件
allow_writeable_chroot=YES 容许对禁锢的FTP根目录执行写入操做,并且不拒绝用户的登陆请求

配置示例

4.建立虚拟用户权限文件
如须要为每一个虚拟用户匹配不一样的权限,则须要为每一个虚拟用户建立权限文件3d

mkdir user_dir #建立放置权限的文件夹
cd user_dir
touch lemon

在以虚拟用户名建立的文件中,写入以下参数

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

而后在vsftpd.conf配置文件中追加虚拟用户权限文件夹的路径

user_config_dir=/etc/vsftpd/user_dir

以后重启vsftpd服务,至此配置过程完成,如发现服务未启动,没法打开,登陆等问题,请检查相关配置文件,查看防火墙配置(ftp服务主动和被动模式防火墙配置不一样需注意),SElinux的配置是否正常。

相关文章
相关标签/搜索