专栏首页小手冰凉centos 7虚拟用户访问FTP

centos 7虚拟用户访问FTP

在vsftpd服务中,虚拟用户被默认作为匿名用户进行处理以降低权限,因此对应的配置项通常以anon_开头。 基本搭建过程如下:

cent OS7搭建基于虚拟用户的FTP服务

1、创建文本格式的用户名/密码列表 文本中奇数行为用户名,偶数行为上一行中用户所对应的密码。如:执行以下操作添加两个用户mike、john,密码分别为123,456

新建一个文本:

cent OS7搭建基于虚拟用户的FTP服务

输入用户名和密码:

cent OS7搭建基于虚拟用户的FTP服务

2、创建Berkeley DB格式的数据库文件

有了文本格式的用户名/密码列表文件后,以此文件作为数据源通过db_load工具创建Berkeley DB格式的数据库文件:

cent OS7搭建基于虚拟用户的FTP服务

在db_load命令中,-f 选项用于指定数据源文件,-T 选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件, “ -t hash ” 选项指定读取数据文件的基本方法。

为了保证数据安全,可以将文件权限设置为 “600” ,避免数据外泄:

cent OS7搭建基于虚拟用户的FTP服务

3、添加虚拟用户的映射账号、创建FTP根目录:

如以下操作添加了一个名为 “test” 的系统用户账号(此账号无须设置密码及登录shell),并结合实际情况更改目录权限,指定的宿主目录,默认是所有虚拟用户的根目录(可以最后对每个用户的配置文件单独设置)

cent OS7搭建基于虚拟用户的FTP服务

4、为虚拟用户建立PAM认证文件

vsftpd服务默认的PAM认证文件位于 /etc/pam.d/vsftpd ,可以执行以下操作在/etc/pam.d目录下建立一个名为vsftpd.vu的PAM认证文件,用于虚拟用户认证控制。

cent OS7搭建基于虚拟用户的FTP服务

cent OS7搭建基于虚拟用户的FTP服务

以上内容,通过 “ db=/etc/vsftpd/vusers”参数指定了要使用的虚拟用户数据库文件位置(省略了.db扩展名)

5、为不同的虚拟用户建立独立的配置文件(为了给不同虚拟用户设置不同的权限,若所有的虚拟用户权限一致,则可忽略这一步)

cent OS7搭建基于虚拟用户的FTP服务

打开后写入相应权限

cent OS7搭建基于虚拟用户的FTP服务

保存退出后,并以同样的方式建立其他用户的独立的配置文件。

6、更改 /etc/vsftpd/vsftpd.conf 的配置文件如下:

cent OS7搭建基于虚拟用户的FTP服务

以上各主要配置项字段含义如下: anonymous_enable=NO:禁止匿名用户访问; local_enable=YES:允许本地系统用户访问; write_enable=YES:启用任何形式的写入权限,(如上传、删除文件等)都需要开启此项; local_umask=022:设置本地用户所上传的默认权限掩码; listen=NO:是否以独立运行的方式监听服务; pam_service_name=vsftpd.vu:设置用于用户认证的PAM文件位置; guest_username=test:指定映射的系统用户名称; guest_enable=YES:是否启用虚拟用户; allow_writeable_chroot=允许被限制用户的主目录具有写权限(此项必须写入,否则可能会报错) anon_world_readable_only=NO:允许用户下载目录内容 anon_other_write_enable=YES:允许匿名用户有其他写入权限,如重命名、覆盖及删除文件等; user_config_dir=/etc/vsftpd/vusers_dir:指定虚拟用户独立的配置文件目录

若都有一样的权限,直接在上面这个配置文件写入就好,若有不一样的权限,可以写入到用户单独的配置文件中,也可在在用户单独的配置文件中指定新的根目录

保存退出配置文件后,执行systemctl start vsftpd启动ftp服务即可使用。

                                  -----关于ftp所有配置项的详细解释

                                        -----关于匿名用户:

anonymous_enable=YES:是否允许匿名访问; anon_umask=022:设置匿名用户所上传文件的默认权限掩码值(反掩码); anon_root=/var/ftp:设置匿名用户的FTP根目录; anon_upload_enable=YES;是否允许匿名用户上传文件; anon_mkdir_write_enable=YES:是否允许匿名用户由创建目录的写入权限; anon_other_write_enable=YES:是否允许匿名用户有其他写入权限,如对文件改名、覆盖及删除文件等; -----关于本地用户:

local_enable=YES:是否允许本地用户访问; local_umask=022:设置本地用户所上传文件的默认权限掩码值(反掩码); local_root=/var/ftp:设置本地用户的FTP根目录(默认为用户的宿主目录); chroot_local_user=YES:是否将FTP本地用户禁锢在宿主目录中; allow_writeable_chroot=YES:允许被限制用户的主目录具有写权限; local_max_rate=0:限制本地用户的最大传输速率(0为无限制),单位为字节/秒(B/s) -----关于全局配置:

listen=NO: 是否以独立运行的方式监听服务; listen_address=0.0.0.0:设置监听f t p服务的ip地址; listen_port=21:设置监听ftp服务的端口号; write_enable=YES:启用任何形式的写入权限,(如上传、删除文件等)都需要开启此项; download_enable=YES:是否允许下载文件(建立仅限于浏览、上传的FTP服务器时,可将此项设置为“NO”); dirmessage_enable=YES:用户切换进入目录时显示 “.message”文件(如果已存在)的内容; xferlog_enable=YES:启用xferlog日志,默认记录到 /var/log/xferlog; xferlog_std_format=YES:启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式; connect_from_port_20=YES:允许服务器主动模式(从20端口建立数据连接); pasv_enable=NO:禁止被动模式连接;默认允许被动模式连接; pasv_max_port=24600:设置用于被动模式的服务器最大端口号; pasv_min_port=24500:设置用于被动模式的服务器最大端口号; pam_service_name=vsftpd.vu:设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名); userlist_enable=YES:是否启用userl_ist用户列表文件; userlist_deny=YES:是否禁用user_list列表文件中的用户账号; max_clients=0:最多允许多少个客户端同时连接(0为无限制); max_per_ip=0:对来自同一个ip地址的客户端,最多允许多少个并发连接(0为无限制); tcp_wrappers=YES:是否启用tcp_wrappers主机访问控制; -----关于虚拟用户的配置项:

guest_username=test:指定映射的系统用户名称; guest_enable=YES:是否启用虚拟用户; allow_writeable_chroot=允许被限制用户的主目录具有写权限(此项必须写入,否则可能会报错) anon_world_readable_only=NO:允许用户下载目录内容 anon_other_write_enable=YES:允许匿名用户有其他写入权限,如重命名、覆盖及删除文件等; user_config_dir=/etc/vsftpd/vusers_dir:指定虚拟用户独立的配置文件目录;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Cisco ASA 之 Easy 虚拟专用网

    具体原理及参数可以参考:https://blog.51cto.com/14227204/2449696 这里我就不详细说明了,大致原理都一样,我就直接开整了 1...

    小手冰凉
  • Linux 当文件系统坏掉了该怎么整

    小手冰凉
  • Docker Swarm群集配置实战——第二战

    注:这篇博文的环境基于上一篇博文中搭建的环境,具体可以参考博文:Docker Swarm群集配置实战

    小手冰凉
  • centos7-vsftpd文件服务器

    文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协...

    yuezhimi
  • 3 FTP文件传输服务

    用户控制列表文件: /etc/vsftpd/ftpusers(黑名单)、/etc/vsftpd/user_list

    py3study
  • 学习笔记 | 传统企业互联网改革之道

    最近在看刘润老师的《互联网+战略版:传统企业,互联网在踢门》,学习了传统企业互联网改革的价值模型与三大模式,醍醐灌顶受益良多。因此,我将我学到的总结下来成文,分...

    Edison Zhou
  • 跳槽季观察:离职、转行背后的互联网行业大变迁

    从事媒体工作三年半后,曾倩选择转行做了一家互联网企业的公关。媒体人转行做公关,这是再常见不过的选择。握有媒体资源的记者被一些企业视为再合适不过的公关人员。

    华章科技
  • numpy模块(对矩阵的处理,ndarray对象)

    https://docs.scipy.org/doc/numpy/reference/?v=20190307135750

    小小咸鱼YwY
  • LeetCode 0954. 二倍数对数组

    给定一个长度为偶数的整数数组 arr,只有对 arr 进行重组后可以满足 “对于每个 0 ,都有 arr2 * i + 1 = 2 arr[2 i]” 时,...

    Yano_nankai
  • MySQL查询的生命周期

    当你执行一次MySQL查询时,有没有仔细想过,在查询结果返回之前,经过了哪些步骤呢?这些步骤有可能消耗了超出想象的时间和资源。因此,在对MySQL的查询进行优化...

    MySQLSE

扫码关注云+社区

领取腾讯云代金券