vsftpd 搭建记录

配置FTP服务器与安全设定
本文档详细介绍了如何在Linux系统中安装和配置vsftpd服务,包括创建用户和组,设置权限,编辑FTP配置文件以限制用户权限,启用用户主目录限制,设置白名单,禁用防火墙和SELINUX,以及修改FTP端口。此外,还提供了用户目录配置文件的创建方法。

1.添加用户和组,更改密码

useradd -d /ftp/data -s /sbin/nologin -g ftp ftpuser

passwd ftpuser

2.分配权限  #测试好像不做这一步也行

mkdir -p /ftp/data  # 创建用户目录
 


chown ftpuser:ftp /ftp/data # 将刚创建的目录拥有者更换为ftp用户组下的用户
 


chmod 700 /ftp/data # 为目录设置访问权限,700的意思是除目录拥有者外同组或其他用户均无权限

3.安装vsftpd

rpm -hiv "/vsftpd-3.0.2-29.el7_9.x86_64.rpm"

4.编辑FTP主配置文件

  vim /etc/vsftpd/vsftpd.conf # 编辑ftp配置文件
  
  需要修改的:
            anonymous_enable=NO  #关闭匿名用户

            userlist_enable=NO   #配合白名单

  需要添加的:
            chroot_local_user=YES  #所有用户都限制在其FTP主目录下

            
            chroot_list_enable=NO  #不使用列外的用户列表

           
            allow_writeable_chroot=YES  #允许用户对主目录有写权限
            

            user_config_dir=/etc/vsftpd/userconfig  #配置FTP用户登录指向主目录配置文件位置

            
            userlist_deny=NO  #NO代表userlist是白名单

            
            userlist_file=/etc/vsftpd/user_list  #配置登录FTP白名单用户文件位置

5.用户目录配置文件

  mkdir /etc/vsftpd/userconfig #创建存放用户ftp主目录配置文件的文件夹
 
  vim /etc/vsftpd/userconfig/ftpuser #创建与用户同名的文件在其中配置用户目录路径

  local_root=/ftp/data #文件需要添加的内容

6.启动

  systemctl restart vsftpd  #重启

  chkconfig vsftpd on       #添加为开机启动
  

7.注意事项

   systemctl  disable firewalld.service  #禁用防火墙
 
   /etc/shells文件里面添加 /sbin/nologin #出现530登录失败时检查

   /etc/selinux/config  设置SELINUX=disabled  #出现500时 关闭安全检查

  

8.修改端口
  
  /etc/vsftpd/vsftpd.conf # 编辑ftp配置文件

  listen_port=2112   #添加2112为指定登录传输的端口

  /etc/services      #编辑服务

  ftp             2112/tcp #修改端口21为2113
  ftp             2112/udp

  systemctl restart vsftpd  #重启
 

<think>好的,用户想知道如何在Linux系统上安装和配置vsftpd服务器。首先,我需要回忆一下相关的步骤和注意事项。根据提供的引用内容,特别是引用[1]和引用[2],安装是通过yum命令进行的,所以应该先指导用户安装vsftpd。然后配置部分,引用[3]提到了配置文件的位置是/etc/vsftpd/vsftpd.conf,里面需要设置一些参数,比如允许本地用户登录、限制用户目录等。 接下来,用户可能还需要启动和启用服务,这部分我记得用systemctl命令。另外,防火墙设置可能需要调整,允许FTP端口,或者使用被动模式的相关端口。引用中提到的匿名用户配置和本地用户的不同权限也需要分开说明,比如anonymous_enable的设置。 还有安全方面的考虑,比如chroot_local_user和allow_writeable_chroot,这些配置可以防止用户越权访问。需要确保用户理解如何正确设置这些选项,避免配置错误导致的安全问题。此外,引用[3]还提到了local_root的配置,可以指定用户的家目录下的子目录,进一步限制访问范围。 最后,测试配置是否生效,可能需要重启服务,创建测试用户,使用FTP客户端连接。可能还需要处理SELinux的问题,如果系统启用了SELinux,可能需要额外的步骤来允许FTP服务。比如设置布尔值或者调整策略。 用户可能还会遇到无法连接的情况,这时候需要检查防火墙状态、vsftpd是否正在运行、配置文件是否有语法错误等。另外,被动模式的配置可能需要指定端口范围,并在防火墙中开放这些端口,确保数据传输正常。 总结一下,回答应该分步骤:安装、配置文件的修改、启动服务、防火墙设置、测试以及常见问题处理。同时,需要引用提供的参考资料,比如引用[1]到[4],确保信息准确可靠。最后,生成相关问题,帮助用户进一步了解vsftpd的配置和优化。</think>### 如何在Linux系统中安装和配置vsftpd服务器? #### 1. 安装vsftpd 在Red Hat/CentOS等基于RPM的Linux系统中,使用以下命令安装: ```bash sudo yum install vsftpd # 适用于Red Hat/CentOS [^1][^2] ``` 对于Debian/Ubuntu系统,使用: ```bash sudo apt-get install vsftpd ``` --- #### 2. 基础配置 配置文件路径为`/etc/vsftpd/vsftpd.conf`,需根据需求修改以下参数: ```bash # 允许匿名用户登录(默认关闭,建议按需开启) anonymous_enable=NO # 允许本地用户登录 local_enable=YES # 限制用户只能访问自己的家目录(防越权) chroot_local_user=YES allow_writeable_chroot=YES # 允许写入权限 [^3] # 指定用户登录后的默认目录(可选) local_root=/home/testuser/ftpfiles # 用户将限制在此目录内 ``` --- #### 3. 用户权限控制 - **匿名用户**:若需启用匿名访问,设置: ```bash anonymous_enable=YES anon_root=/var/ftp # 匿名用户的根目录 anon_upload_enable=YES # 允许匿名上传(需谨慎) ``` - **本地用户黑白名单**: - 创建文件`/etc/vsftpd/user_list`,添加允许/禁止的用户名 - 在配置文件中启用: ```bash userlist_enable=YES userlist_deny=NO # 仅允许user_list中的用户 ``` --- #### 4. 启动服务与防火墙设置 ```bash # 启动服务并设为开机自启 sudo systemctl start vsftpd sudo systemctl enable vsftpd # 开放FTP端口(默认21) sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload ``` --- #### 5. 测试连接 使用FTP客户端(如FileZilla)或命令行: ```bash ftp localhost # 输入本地用户名和密码 ``` --- #### 6. 高级配置(可选) - **被动模式**:指定被动模式端口范围: ```bash pasv_min_port=40000 pasv_max_port=40100 ``` - **日志记录**:启用详细日志: ```bash xferlog_enable=YES xferlog_file=/var/log/vsftpd.log ``` --- #### 常见问题解决 - **SELinux限制**:若用户无法上传文件,执行: ```bash sudo setsebool -P ftpd_full_access=1 # 临时关闭限制 [^4] ``` - **目录权限错误**:确保用户对目标目录有读写权限。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值