Linux 搭建FTP服务

简介

想要在linux上搭建ftp服务是十分简单的,所以此贴并不在于安装服务,而是怎样去调试,使得我们对ftp的配置更加详细、娴熟,也是作为一个记录贴

配置

yum install -y vsftpd // 不多说,安装ftp服务(系统版本: Centos7)

在vsftpd安装完成后,会在etc目录下生成一个目录/etc/vsftpd

  • ftpusers // FTP黑名单 不受配置影响 比user_list优先级高
  • user_list // 取决于 userlist_enable userlist_deny 配置
  • vsftpd.conf // ftp 服务配置文件
  • vsftpd_conf_migrate.sh // 配置文件迁移脚本

vsftpd.conf

默认配置

  1. 匿名用户使用的登录名为ftp或anonymous,口令为空;
  2. 匿名用户不能离开匿名用户家目录;
  3. 本地用户的登录名为本地用户名,密码为此用户的密码;
  4. 本地用户可以在自己的家目录中进行读写操作;
  5. 本地用户可以离开家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载
  6. /etc/vsftpd/ftpusers 中的本地用户禁止登录

匿名用户

anonymous_enable=YES	# 是否启用匿名用户
no_anon_password=YES		# 匿名用户login事不询问口令
anon_upload_enable=(YES/NO)	# 匿名用户上传权限
anon_world_readable_only=(YES/NO)	# 匿名用户下载权限
anon_mkdir_write_enable=(YES/NO)	# 匿名用户的创建文件夹权限
anon_other_write_enable=(YES/NO)	# 匿名用户对文件和文件夹的删除和重命名权限
注: 匿名用户下载使用的是 nobody 用户,所以相应的other需要有R权限才能被下载。
wirte_enable=YES	# 全局设置,是否允许写入(无论是匿名用户还是本地用户,如果要启用上传权限,就要开启此配置)
anon_root=(none)	# 匿名用户主目录
// umask = 022 时,新建的目录 权限是755,文件的权限是 644
// umask = 077 时,新建的目录 权限是700,文件的权限时 600
anon_umask=(077)	# 匿名用户上传文件时的掩码,反掩码
chown_uploads=YES	# 所有匿名上传的文件的所属用户都会被更改为chown_username所指定的用户名
chown_username=whoever	# 匿名上传文件所属的用户名

本地用户

write_enable=YES	# 上传权限(全局设置,删除,重命名
local_umask=077	# 本地用户上传的文件umask值,和anon_umask规则一致
local_root=/home/username	# 当本地用户登录后,将登陆到指定目录下,默认为用户的家目录
user_config_dir=/etc/vsftpd/userconf	# 设置用户配置文件所在的目录,当配置了该选项后,用户登录服务器,服务器就会自动到这个目录下读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行跟进一步的配置
download_enable=YES	# 用户的下载权限,默认为YES,如果设置为NO,那么所有的下载请求都会被拒绝
chroot_local_enable=YES	# 如果设置为YES,本地用户将被锁定在其主目录
chroot_list_enable=YES	# 如果启动这项配置,那么所有在chroot_list_file中的用户都不能更改主目录。如果激活,那么会提供一个本地用户的列表(chroot_list),在此文件中的用户将被锁定在他们的主目录。
chroot_list_file=/etc/vsftpd/chroot_list	# 指定限制的用户文件

其他配置

ascii_upload_enable=YES/NO	# 设置是否启用ASCII模式上传数据
ascii_download_enable=YES/NO	# 设置是否启用ASCII模式下载数据tcp_wrappers=YES/NO	# 是否控制主机访问,如果为YES,vsftpd会检查/etc/hosts.allow 与 /etc/hosts.deny
userlist_enable=YES/NO	# 是否启用userlist文件
userlist_deny=YES/NO	# 决定vsftpd.user_list文件中的用户是否能够访问FTP服务器。若设置为YES,则vsftpd.user_list文件中的用户不允许访问FTP,若设置为NO,则只有vsftpd.user_list文件中的用户才能访问FTP。
userlist_file=/etc/vsftpd/user_list	# 控制用户访问ftp的文件
accept_time=60	# 设置超时时间
listen_port=21 	# FTP服务器建立连接所监听的端口
ftp_data_port=20	# 在PORT下,FTP数据连接所用端口
pasv_enable=YES/NO	# FTP是否启用被动模式
listen=YES/NO	# 设置ftp服务器是否以standalone模式运行
max_clients=0		# 设置ftp服务器允许的最大连接数
# Linux  服务  Service 
樱花正含苞待放,春天就要来了🌸
标题:Linux 搭建FTP服务
作者:bogendihong
地址:https://www.myjinji.top/articles/2020/06/03/1600854165094.html

评论

取消