vsftp 常用配置(匿名/系统用户/虚拟用户)
2020-07-10 15:18
483 查看
vsftp 常用配置(匿名/系统用户/虚拟用户)
vsftp(Very Secure FTP)服务是一款FTP软件,它安全、高效、稳定,在企业中很常用。
一、vsftp安装
1.1 安装vsftp
yum install vsftp* -y
1.2 查看/etc/vsftpd/vsftp.conf
配置文件
#拒绝匿名用户登录 anonymous_enable=NO #启用本地系统用户访问 local_enable=YES #本地用户写权限 write_enable=YES #本地用户上传文件的权限为-rw-r--r-- (最高权限666-022=644 local_umask=022 #是否显示目录说明文件(需要自己创建.message) dirmessage_enable=YES #记录使用者上传下载信息,保存路径:/var/log/vsftpd.log xferlog_enable=YES #数据传输使用20端口 connect_from_port_20=YES #以xferlog格式写入日志 xferlog_std_format=YES #YES为standalone启动 NO为通过Xinetd管理 listen=NO #启用ipv6监听 listen_ipv6=YES #通过/etc/pam.d/vsftpd进行认证 pam_service_name=vsftpd #禁止/etc/vsftpd中的user_list和ftpusers用户访问(黑名单) userlist_enable=YES #通过/etc/host.allow、host.deny中的IP进行访问控制 tcp_wrappers=YES
1.3 启动vsftp,并通过windows访问
systemctl restart vsftpd.service
二、匿名用户配置
2.1 在上面配置文件中加入以下代码
# 匿名用户登陆的username ftp_username=ftp # 是否允许匿名用户创建目录 anon_mkdir_write_enable=YES # 是否允许匿名用户对文件增、删、改 anon_other_write_enable=YES # 是否允许匿名用户上传文件 anon_upload_enable=YES
2.2 赋予匿名用户ftp权限访问pub文件夹,重启vsftpd
chown -R ftp /var/ftp/pub
chmod 755 /var/ftp/pub
systemctl restart vsftpd.service
2.3 匿名访问测试
测试可以正常写入数据,OK
三、系统用户配置(财务部caiwubu 研发部yanfabu 市场部shichangbu)分别访问自己的目录
3.1 创建系统用户(测试)
useradd caiwubu useradd yanfabu useradd shichangbu echo "666666" | passwd --stdin caiwubu echo "666666" | passwd --stdin shichangbu echo "666666" | passwd --stdin yanfabu
3.2 修改/etc/vsftpd/vsftpd.conf配置文件
#拒绝匿名用户登录 anonymous_enable=NO #启用本地系统用户访问 local_enable=YES #本地用户写权限 write_enable=YES #本地用户上传文件的权限为-rw-r--r-- (最高权限666-022=644 local_umask=022 #是否显示目录说明文件(需要自己创建.message) dirmessage_enable=YES #记录使用者上传下载信息,保存路径:/var/log/vsftpd.log xferlog_enable=YES #数据传输使用20端口 connect_from_port_20=YES #以xferlog格式写入日志 xferlog_std_format=YES #YES为standalone启动 NO为通过Xinetd管理 listen=NO #启用ipv6监听 listen_ipv6=YES #通过/etc/pam.d/vsftpd进行认证 pam_service_name=vsftpd #禁止/etc/vsftpd中的user_list和ftpusers用户访问(黑名单) userlist_enable=YES #通过/etc/host.allow、host.deny中的IP进行访问控制 tcp_wrappers=YES
3.3 访问测试
登录进去,创建test文件夹,在/home/caiwubu下可以正常显示
四、虚拟用户访问
系统用户访问可以解决匿名用户带来的安全问题,但是系统用户一般可以用于登录linux系统,存在安全隐患,故可以使用多个虚拟用户映射一个服务器系统用户,对外只暴露虚拟用户,该虚拟用户不能登录linux系统,并且可以设置相应的权限来保障系统安全
4.1 创建虚拟用户列表
vim /etc/vsftpd/virtusers_list
# 第一行账号 第二行密码 以此类推 caiwubu 666666 yanfabu 666666
4.2 生成虚拟用户数据文件
#db_load 将virtusers中的密码加密,并生成virtusers.db给系统使用,virtusers文件可删除 db_load -T -t hash -f /etc/vsftpd/virtusers_list /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 700 /etc/vsftpd/virtusers.db
4.3 配置pam验证文件
vim /etc/pam.d/vsftpd在行首插入如下,其他的注释
auth required pam_userdb.so db=/etc/vsftpd/virtusers account required pam_userdb.so db=/etc/vsftpd/virtusers #db=后面的文件要与步骤二中的一致
4.4 新建一个系统用户(不需要设置密码,不需要登录系统)
useradd -s /sbin/nologin ftpuser
4.5 配置虚拟用户配置文件
mkdir -p /etc/vsftpd/vsftpd_user_conf/
vim /etc/vsftpd/vsftpd_user_conf/caiwubu
# 财务部用户登录的根目录 local_root=/home/ftpuser/caiwubu write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
vim /etc/vsftpd/vsftpd_user_conf/yanfabu
# yanfabu用户登录的根目录 local_root=/home/ftpuser/yanfabu write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
创建 虚拟用户登录的根目录
mkdir -p /home/ftpuser/{caiwubu,yanfanbu}
chown -R ftpuser:ftpuser /home/ftpuser
4.6 配置vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES # ---------virtusers config-------------------- # 启用pam认证 pam_service_name=vsftpd # 启用虚拟用户 guest_enable=YES # 虚拟用户映射系统用户ftpuser guest_username=ftpuser # 虚拟用户与本地用户权限相同 virtual_use_local_privs=YES # 虚拟用户配置文件目录 user_config_dir=/etc/vsftpd/vsftpd_user_conf # -----------(可选)访问权限控制---------------- # 将用户目录限制为根目录(看不到家目录的其他目录) allow_writeable_chroot=YES # 是否禁止本地用户切换到家目录上级目录,绑定家目录为用户的根目录 chroot_local_user=NO # 是否启用chroot列表文件,写入文件中的用户将锁定家目录 chroot_list_enable=NO # 指定用户列表文件的文件路径 chroot_list_file=/etc/vsftpd/chroot_list # ------------(可选) 被动模式------------------- # 启用被动模式 pasv_enable=YES # 端口范围 pasv_min_port=30000 pasv_max_port=31000 # Connect_from_port_20=NO 需要修改上面的此项
4.7 重启vsftp的服务,使用windows打开测试
systemctl restart vsftpd.service
注意:如果输入账号密码打不开,使用linux系统ftp连接过去,会提示报错信息
例如 提示
anon_world_readable_only的
bool值错误,打开配置文件
vim /etc/vsftpd/vsftpd_user_conf/caiwubu
发现该bool值后面有空格,删除后可以正常访问
(4.8 可选)实际生产中需要对虚拟用户进行访问控制
4.8.1 限制虚拟用户访问其他目录
在vim /etc/vsftpd/vsftpd.conf配置中添加如下
# 将用户目录限制为根目录(看不到家目录的其他目录) allow_writeable_chroot=YES # 是否禁止本地用户切换到家目录上级目录,绑定家目录为用户的根目录 chroot_local_user=YES
连接只能看到自己的家目录文件。
4.8.2 如果只需要个别用户可以访问其他目录,需要创建chroot_list文件
vim /etc/vsftpd/chroot_list
# 用户名称 yanfabu
vim /etc/vsftpd/vsftpd.conf
# 指定用户列表文件的文件路径 chroot_list_file=/etc/vsftpd/chroot_list # chroot_list_file文件中的用户可以切换到其他目录 chroot_local_user=YES chroot_list_enable=YES
测试完,研发部可以访问其他目录
相关文章推荐
- linux学习笔记 第六篇 (ftp虚拟用户的独立配置)(Linux系统的常用修复)
- VSFTP配置<一> ------ 匿名用户与系统用户配置详解
- vsftp匿名用户,本地用户,虚拟用户mysql认证详情配置
- vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
- linux——安装vsftp及配置虚拟匿名用户脚本
- VSFTP服务器配置之虚拟用户
- 详解vsftp服务器通过匿名用户、本地用户、虚拟用户三种登录方式实现文件传输
- vsftp的虚拟用户配置
- Centos 7安装配置 vsftp服务(虚拟用户登录)
- vsftp如何配置虚拟用户实现不同用户拥有不同权限和不同目录
- vsftp如何配置虚拟用户实现不同用户拥有不同权限和不同目录
- vsftp高级应用:配置虚拟用户
- vsftp配置ftp服务--虚拟用户登录
- vsftp虚拟用户pam认证文件的创建和配置
- vsftp虚拟用户配置
- vsftp 虚拟用户配置
- VsFTP+本地文件认证+SSl实现虚拟用户配置
- vsftp虚拟用户安装配置
- vsftp虚拟用户配置
- 配置vsFTP的虚拟用户认证