阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7搭建基于虚拟用户的FTP服务

187次阅读
没有评论

共计 3032 个字符,预计需要花费 8 分钟才能阅读完成。

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

CentOS 7 下基本搭建 FTP 服务过程如下:

CentOS 7 搭建基于虚拟用户的 FTP 服务

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

新建一个文本:

CentOS 7 搭建基于虚拟用户的 FTP 服务

输入用户名和密码:

CentOS 7 搭建基于虚拟用户的 FTP 服务

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

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

CentOS 7 搭建基于虚拟用户的 FTP 服务

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

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

CentOS 7 搭建基于虚拟用户的 FTP 服务

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

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

CentOS 7 搭建基于虚拟用户的 FTP 服务

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

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

CentOS 7 搭建基于虚拟用户的 FTP 服务

CentOS 7 搭建基于虚拟用户的 FTP 服务

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

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

CentOS 7 搭建基于虚拟用户的 FTP 服务

打开后写入相应权限

CentOS 7 搭建基于虚拟用户的 FTP 服务

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

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

CentOS 7 搭建基于虚拟用户的 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:指定虚拟用户独立的配置文件目录;

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3032字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中