加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux中构建想要的vsftp服务怎么操作,步骤是什么

发布时间:2023-08-18 21:35:38 所属栏目:Linux 来源:网络
导读:   跟大家讲解下有关“Linux中搭建想要的vsftp服务怎么操作,步骤是什么”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助
  跟大家讲解下有关“Linux中搭建想要的vsftp服务怎么操作,步骤是什么”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。
 
  当我们在服务器上安装好了vsftpd这个软件后,并且已经理解该软件的主配置文件/etc/vsftpd/vsftpd.conf后,我们就可以搭建出自己想要的ftp服务了。
 
  指定端口等
 
  listen_port=21 设置监听的端口
 
  download_enable=YES 允许下载文件
 
  max_clients=100 限制并发客户端连接数
 
  max_per_ip=100 限制统一ip的并发链接数
 
  禁止匿名、实体用户登陆
 
  首先把匿名用户登陆给关了,不给匿名用户浏览权限。
 
  anonymous_enable=NO
 
  那么为什么不允许实体用户登陆呢?因为实体用户本就可以用更安全的sftp登陆,所以,就不用使用ftp协议登陆了。另外,因为ftp是明文传输协议,如果账号密码被截获了,那就不好了。
 
  如何禁止实体用户登陆呢?在文章下面配置虚拟用户的第三步骤会讲到,把/etc/pam.d/vsftpd下的所有内容都注释掉。
 
  主动连接、被动连接设置
 
  我们想要搭建既要支持主动连接模式也支持被动连接,那么设置如下:
 
  主动连接模式的端口设置
 
  connect_from_port_20=YES
 
  设置防火墙,将21端口放行,另外不用开启20端口,直接对于主机主动向外请求的而响应的数据包允许进入本机(establish/related)。
 
  iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP服务
 
  iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
 
  开启被动模式,被动连接的端口限定为10001~11000中的任意一个。
 
  pasv_enable=YES
 
  pasv_min_port=10001
 
  pasv_max_port=11000
 
  设置防火墙,允许10000~11000之间的端口开放。
 
  iptables -A INPUT -p tcp --dport 10001::11000 -j ACCEPT # ftp被动连接端口
 
  配置虚拟用户
 
  配置虚拟用户的步骤如下:
 
  建立虚拟用户口令文件
 
  生成虚拟用户口令认证文件
 
  编辑vsftpd的PAM认证文件
 
  建立本地映射目录并设置宿主目录权限
 
  修改配置文件。
 
  给每一个虚拟用户弄一个单独的配置文件
 
  1.建立虚拟用户的口令文件,该文件的格式为奇数行为用户名,偶数行为密码。下面建立一个这样的文件/etc/vsftpd/vusers,内容如下:
 
  ftptest1
 
  111111
 
  ftptest2
 
  222222
 
  2.生成虚拟用户口令认证文件,执行如下命令:
 
  db_load -T -t hash -f  /etc/vsftpd/vusers  /etc/vsftpd/login.db
 
  当命令正确执行后,就会出现 /etc/vsftpd/login.db文件。为了安全起见,我们将该文件的权限设置为600.
 
  chmod 600 login.db
 
  3.编辑虚拟用户所需的PAM配置文件
 
  vim /etc/pam.d/vsftpd
 
  将之前的内容全部给注释掉,并新加入两行
 
  auth    required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login
 
  account   required    /lib64/security/pam_userdb.so  db=/etc/vsftpd/login
 
  注意,如果是32位的去掉lib后面64,另外login后面不用加入后缀的。这样操作之后,实体用户就不能登陆ftp服务了。
 
  4.建立本地映射目录并设置宿主目录权限。
 
  建立虚拟用户的宿主用户
 
  # useradd -d /home/vsftp -s /sbin/nologin ftpuser
 
  修改目录权限为755
 
  # chmod 755 /home/vsftp/
 
  5.修改配置文件。
 
  把下面几行配置信息写入到/etc/vsftpd/vsftpd.conf配置文件中。
 
  # 开启虚拟用户登陆功能
 
  guest_enable=YES
 
  # 将虚拟用户与宿主用户对应
 
  guest_username=ftpuser
 
  # pam认证文件(该配置默认存在)
 
  pam_service_name=vsftpd
 
  # vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了,所以要加入下面配置
 
  allow_writeable_chroot=YES
 
  6.给每一个虚拟用户建立单独的配置文件。
 
  若想给每一个虚拟用户都建立单独的配置文件,则需要在主配置文件中加入
 
  user_config_dir=/etc/vsftpd/config
 
  指定虚拟用户的配置文件路径。接下来给两个虚拟用户建立各自的配置文件:
 
  # ftptest1虚拟用户的配置文件
 
  # 创建虚拟用户家目录
 
  # mkdir /home/vsftp/ftptest1
 
  # chown ftpuser:ftpuser /home/vsftp/ftptest1/
 
  # 建立配置文件
 
  # mkdir /etc/vsftpd/config
 
  # vim /etc/vsftpd/config/ftptest1  <=== 虚拟用户各自配置文件和自己的用户名对应起来
 
  # 指定家目录
 
  local_root=/home/vsftp/ftptest1
 
  # 允许相关权限
 
  download_enable=yes
 
  anon_upload_enable=yes
 
  anon_other_write_enable=YES
 
  anon_mkdir_write_enable=yes
 
  anon_world_readable_only=no
 
  # 设置最大传输速度,单位b/s
 
  anon_max_rate=100000
 
  注意:目前还没给ftptest2虚拟用于建立单独的配置文件,那么对于此用户就使用主配置文件的配置(/etc/vsftpd/vsftpd.conf)
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章