依然饭跑跑 发表于 2019-2-15 13:22:09

centos7安装Vsftpd-linux循序渐进

  一、 检查服务器是否已经安装
  rpm-qa|grep   vsftpd
  二、安装
  如果输入上面的命令提示没有,那么进行安装
  #yum install-yvsftpd
  三、检查服务是否正常启动
  1、启动 vsftp 服务
  #systemctl   startvsftpd
  2、检查服务是否正常启动
  #ps -ef | grep vsftpd
  3、把服务添加到开机启动项
  #systemctl   enablevsftpd
  四、修改 配置文件
  1、进到安装vsftpd安装目录
  #cd/etc/vsftpd
  2、编辑 vsftpd.conf 配置文件
vi vsftpd.conf修改 一下几个地方
  anonymous_enable=NO
  write_enable=YES
  local_enable=YES
  chroot_local_user=YES
  pam_service_name=vsftpd:
  listen=no
  添加一下 内容:
  userlist_enable=YES
  tcp_wrappers=YES
  allow_writeable_chroot=YES
  保存退出
  五、配置文件说明
  配置的选项及说明
  1、 核心设置
  local_enable=YES            //允许本地用户登录
  write_enable=YES             //本地用户的写权限
  local_umask=022             //使用FTP的本地文件权限,默认为077,一般设置为022
  pam_service_name=vsftpd    //验证方式
  connect_from_port_20=YES//启用FTP数据端口的数据连接
  listen=yes               // 以独立的FTP服务运行
  listen_port=23          //修改连接端口
  2、匿名登录设置
  anon_upload_enable=YES          // 如果允许匿名登录,是否开启匿名上传权限
  anon_mkdir_write_enable=YES   //如果允许匿名登录,是否允许匿名建立文件夹并在文件夹内上传文件
  anon_other_write_enable=yes    // 如果允许匿名登录,匿名帐号可以有删除的权限
  anon_world_readable_only=no    //如果允许匿名登录,匿名的下载权限,匿名为Other,可设置目录/文
  件属性控制
  anon_max_rate=30000// 如果允许匿名登录,限制匿名用户传输速率,单位bite
  3、限制登录
  userlist_enable=yes                                  //用userlist来限制用户访问
  userlist_deny=no                                    //名单中的人不允许访问
  userlist_file=/etc/vsftpd/userlist_deny.chroot   //限制名单文件放置的路径
  4、限制目录
  chroot_local_user=yes   //限制所有用户都在家目录
  chroot_list_enable=YES   //调用限制在家目录的用户名单
  chroot_list_file=/etc/vsftpd/chroot_list   //限制在家目录的用户名单所在路径
  5、日志设置
  xferlog_file=/var/log/vsftpd.log    //日志文件路径设置
  xferlog_std_format=YES             // 使用标准的日志格式
  6、安全设置
  idle_session_timeout=600       //用户空闲超时,单位秒
  data_connection_timeout=120   //数据连接空闲超时,单位秒
  accept_timeout=60            //将客户端空闲1分钟后断开
  local_max_rate=10000      //本地用户传输速率,单位bite
  max_clients=100            //FTP的最大连接数
  max_per_ip= 3             //每IP的最大连接数
  7、被动模式设置
  pasv_enable=yes       //是否开户被动模式
  pasv_min_port=3000   // 被动模式最小端口
  pasv_max_port=5000//#被动模式最大端口
  六 、如没有创建用户和路径需要创建要和指定用户路径
  如:
  mkdir       /home/ftp
  useradd -d /home/ftp -s /sbin/nologin test
  给相应的权限
  chowm -R test:test    /home/ftp
  七、问题解决
  vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误原因:
  是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
  解决这个错误的方法,可以用命令chmod a-w /home/test去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:allow_writeable_chroot=YES
http://i2.运维网.com/images/blog/201812/26/e08951e1a1581ba611994dfda23c2b44.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
  问题原因:/etc/vsftpd 目录下没有chroot_list文件
  ========================================================================================
服务运维
  systemctl restart vsftpd.service# 重启服务
  systemctl start vsftpd.service    # 启动服务
  systemctl status vsftpd.service   # 服务状态查看
  systemctl   enabledvsftpd       # 把服务添加到开机启动项
下载文件
  ftp> get readme.txt # 下载 readme.txt 文件
  ftp> mget *.txt   # 下载
上传文件
  ftp> put /path/readme.txt # 上传 readme.txt 文件
  ftp> mput *.txt         # 可以上传多个文件
  新建一个ftp用户:
  useradd -d /home/www/ftp-s /sbin/nologin
  -d /home/www/ftp指定将来的分享的根目录是:/home/www/ftp
  -s /sbin/nologin 使此账户只能登陆ftp不能通过ssh登陆
  给相应的权限
  chowm -R :    /home/www/ftp

页: [1]
查看完整版本: centos7安装Vsftpd-linux循序渐进