CentOS 7 配置ftp服务器

1:允许匿名用户模式

  [root@www ~]# yum install -y vsftpd

  [root@www ~]# yum install -y ftp

  [root@www ~]# vim /etc/vsftpd/vsftpd.conf(在开始位置添加以下内容)
    anonymous_enable=YES  (允许或者禁止匿名用户访问模式)
    anon_umask=022  (匿名用户上传文件的umask值)
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
  [root@www ~]# ls -ld /var/ftp/pub
  drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub

  [root@www ~]# chown -Rf ftp /var/ftp/pub

  [root@www ~]# getsebool -a | grep ftp
  ftp_home_dir --> off
  ftpd_anon_write --> off
  ftpd_connect_all_unreserved --> off
  ftpd_connect_db --> off
  ftpd_full_access --> off
  ftpd_use_cifs --> off
  ftpd_use_fusefs --> off
  ftpd_use_nfs --> off
  ftpd_use_passive_mode --> off
  httpd_can_connect_ftp --> off
  httpd_enable_ftp_server --> off
  sftpd_anon_write --> off
  sftpd_enable_homedirs --> off
  sftpd_full_access --> off
  sftpd_write_ssh_home --> off
  tftp_anon_write --> off
  tftp_home_dir --> off
  [root@www ~]# setsebool -P ftpd_full_access=on

 

  [root@www ~]# systemctl start vsftpd

  [root@www ~]# systemctl enable vsftpd

  完成!

2:允许本地用户登陆(除root用户,如果想允许root用户需删除/etc/vsftpd/user_list 和 /etc/vsftpd/ftpusers)

  [root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf:
  anonymous_enable=NO
  local_enable=YES
  write_enable=YES
  local_umask=022
  dirmessage_enable=YES
  xferlog_enable=YES
  connect_from_port_20=YES
  xferlog_std_format=YES
  listen=NO
  listen_ipv6=YES
  pam_service_name=vsftpd
  userlist_enable=YES
  tcp_wrappers=YES

  [root@linuxprobe ~]# getsebool -a | grep ftp
  ftp_home_dir --> off
  ftpd_anon_write --> off
  ftpd_connect_all_unreserved --> off
  ftpd_connect_db --> off
  ftpd_full_access --> off
  ftpd_use_cifs --> off
  ftpd_use_fusefs --> off
  ftpd_use_nfs --> off
  ftpd_use_passive_mode --> off
  httpd_can_connect_ftp --> off
  httpd_enable_ftp_server --> off
  sftpd_anon_write --> off
  sftpd_enable_homedirs --> off
  sftpd_full_access --> off
  sftpd_write_ssh_home --> off
  tftp_anon_write --> off
  tftp_home_dir --> off
  [root@linuxprobe ~]# setsebool -P ftpd_full_access=on

  [root@linuxprobe ~]# systemctl restart vsftpd
  [root@linuxprobe ~]# systemctl enable vsftpd

  完成!

3:虚拟用户模式

  [root@linuxprobe ~]# cd /etc/vsftpd/
  [root@linuxprobe vsftpd]# vim vuser.list(创建虚拟账户名称密码文件,奇数行名称,偶数行密码)
  zhangsan
  redhat
  lisi
  redhat

  [root@linuxprobe vsftpd]# db_load -T -t hash -f vuser.list vuser.db(用哈希(hash)算法将原始的明文信息文件转换成数据库文件,并且降低数据库文件的权限,并删除源文件)
  [root@linuxprobe vsftpd]# file vuser.db
  vuser.db: Berkeley DB (Hash, version 9, native byte-order)
  [root@linuxprobe vsftpd]# chmod 600 vuser.db
  [root@linuxprobe vsftpd]# rm -f vuser.list

  [root@linuxprobe ~]# useradd -d /var/ftproot -s /sbin/nologin virtual(创建一个虚拟账户,账户名;virtual,账户家目录:var/ftproot,不允许登录服务器,并升高账户家目录权限)
  [root@linuxprobe ~]# ls -ld /var/ftproot/
  drwx------. 3 virtual virtual 74 Jul 14 17:50 /var/ftproot/
  [root@linuxprobe ~]# chmod -Rf 755 /var/ftproot/

  [root@linuxprobe ~]# vim /etc/pam.d/vsftpd.vu(新建一个用于虚拟用户认证的 PAM 文件 vsftpd.vu,其中 PAM 文件内的“db=”参数为使用 db_load 命令生成的账户密码数据库文件的路径,但不用写数据库文件的后缀)
  auth  required  pam_userdb.so db=/etc/vsftpd/vuser
  account  required  pam_userdb.so db=/etc/vsftpd/vuser

  [root@linuxprobe ~]# mkdir /etc/vsftpd/vusers_dir/(新建一个目录,在里面分别创建两个以 zhangsan 和 lisi 命名的文件文件中写入允许的相关权限(使用匿名用户的参数))
  [root@linuxprobe ~]# cd /etc/vsftpd/vusers_dir/
  [root@linuxprobe vusers_dir]# touch lisi
  [root@linuxprobe vusers_dir]# vim zhangsan
  anon_upload_enable=YES  (允许匿名用户上传文件)
  anon_mkdir_write_enable=YES  (允许匿名用户创建目录)
  anon_other_write_enable=YES  (允许匿名用户修改目录名称或删除目录)

  (在 vsftpd 服务程序的主配置文件中通过 pam_service_name 参数将 PAM 认证文件的名称修改为 vsftpd.vu,并通过添加 user_config_dir 参数来定义这两个虚拟用户不同权限的配置文件所存放的路径)

  [root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
  anonymous_enable=NO
  local_enable=YES
  guest_enable=YES
  guest_username=virtual
  allow_writeable_chroot=YES
  write_enable=YES
  local_umask=022
  dirmessage_enable=YES
  xferlog_enable=YES
  connect_from_port_20=YES
  xferlog_std_format=YES
  listen=NO
  listen_ipv6=YES
  pam_service_name=vsftpd.vu
  userlist_enable=YES
  tcp_wrappers=YES

  user_config_dir=/etc/vsftpd/vusers_dir

  [root@linuxprobe ~]# getsebool -a | grep ftp
  ftp_home_dir –> off
  ftpd_anon_write –> off
  ftpd_connect_all_unreserved –> off
  ftpd_connect_db –> off
  ftpd_full_access –> off
  ftpd_use_cifs –> off
  ftpd_use_fusefs –> off
  ftpd_use_nfs –> off
  ftpd_use_passive_mode –> off
  httpd_can_connect_ftp –> off
  httpd_enable_ftp_server –> off
  sftpd_anon_write –> off
  sftpd_enable_homedirs –> off
  sftpd_full_access –> off
  sftpd_write_ssh_home –> off
  tftp_anon_write –> off
  tftp_home_dir –> off
  [root@linuxprobe ~]# setsebool -P ftpd_full_access=on  

  [root@linuxprobe ~]# systemctl restart vsftpd
  [root@linuxprobe ~]# systemctl enable vsftpd

   测试,完成!

转载于:https://www.cnblogs.com/languang9801/p/11095249.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是CentOS7配置FTP服务器的步骤: 1.安装vsftpd软件包: ``` sudo yum install vsftpd ``` 2.启动vsftpd服务: ``` sudo systemctl start vsftpd ``` 3.设置vsftpd服务开机自启: ``` sudo systemctl enable vsftpd ``` 4.配置vsftpd: 打开vsftpd的配置文件 /etc/vsftpd/vsftpd.conf,进行以下修改: ``` anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout=600 data_connection_timeout=120 listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES ``` 其中,配置项的含义如下: - anonymous_enable:启用匿名用户登录 - local_enable:启用本地用户登录 - write_enable:允许上传文件 - local_umask:本地用户的文件掩码 - anon_upload_enable:允许匿名用户上传文件 - anon_mkdir_write_enable:允许匿名用户创建目录 - xferlog_enable:启用传输日志 - xferlog_file:传输日志文件路径 - xferlog_std_format:传输日志使用标准格式 - idle_session_timeout:空闲连接超时时间 - data_connection_timeout:数据连接超时时间 - listen:监听所有的IP地址 - pam_service_name:使用PAM认证 - userlist_enable:启用用户列表 - tcp_wrappers:使用TCP包装器 5.创建FTP用户: ``` sudo useradd -m ftpuser sudo passwd ftpuser ``` 6.设置FTP用户的根目录: ``` sudo mkdir /home/ftpuser/ftp sudo chown ftpuser:ftpuser /home/ftpuser/ftp sudo chmod 755 /home/ftpuser/ftp ``` 7.配置防火墙: ``` sudo firewall-cmd --permanent --zone=public --add-service=ftp sudo firewall-cmd --reload ``` 至此,CentOS7配置FTP服务器的步骤就完成了。可以通过FTP客户端进行连接测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值