Linux文件服务器实战详解(匿名用户)

一、进程与线程

二、vsftp服务器

1.文件传输协议(file transfer protocol,FTP)

基于该协议ftp客户端和服务端实现文件共享,上传下载文件

FTP基于TCP协议生成一个虚拟的连接,用于控制ftp连接信息。同时再生成一个TCP连接用于FTP数据传输

    2.ftp传输模式

3.FTP安装配置

a.yum方式安装

b.源码便宜安装

1)yum install -y vsftpd*

2)vsftpd安装后的配置文件路径,启动vsftpd服务以及查看进程是否启动 

 rpm -ql | more
  systemctl start vsftpd
  ps -ef | grep vsftpd

3)Vsftpd默认配置文件

  [xj@www ~]$ sudo cat /etc/vsftpd/vsftpd.conf |grep -v "^#"|grep -v "^$"   去掉注释和空行

anonymous_enable=YES     开启匿名用户访问
  local_enable=YES     启用本地系统用户访问
  write_enable=YES      本地系统用户写入权限
  local_umask=022     本地用户创建文件以及目录默认权限掩码
  dirmessage_enable=YES     打印目录显示信息,用于用户第一次访问目录时信息提示
  xferlog_enable=YES    启用上传/下载日志记录
  connect_from_port_20=YES  FTP:使用20端口号进行数据传输
  xferlog_std_format=YES      日志文件将根据xferlog的保证格式写入
  listen=YES              vsftp不以独立的服务启动,通过xinetd服务管理,建议改为YES
  listen_ipv6=NO            启用IPv6监听
  pam_service_name=vsftpd      登陆Ftp服务器,依据/etc/pam.dvsftpd中的内容进行认证
  userlist_enable=YES          vsftp.user_list和ftpusers配置文件里用户禁止访问ftp
  tcp_wrappers=YES          设置vsftpd和tcp wrapper结合进行主机访问控制,vsftpd服务器检查/etc/hosts.allow和/etc/hosts/deny中的设置来决定请求链接的主机是否允许访问ftp服务器

   4)FTP默认为主动模式,设置被动模式的方法如下: 

pasv_enable=YES
  pasv_main_port=6000
  pasv_max_port=60100

   5)匿名用户的配置,访问路径为/var/ftp/pub,默认只有查看权限,如需上传下载删除,需加入以下代码: 

anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  anon_other_write_enable=YES

     由于默认vsftp匿名用户有anonymous和ftp,所以如需上传删除和修改权限,需要修改/var/ftp/pub有写入权限,(以下任一命令即可)

 chown -R ftp pub/
  chown o+w pub/

问题区

1.vsftpd.service: control process exited, code=exit...s=2

 由于centos7中vsftp的配置文件默认将 listen_ipv6=YES 这一行没有注释掉,而我们目前的网络环境还不支持ipv6,

从而导致出现错误无法启动,

所以解决方法是将 listen_ipv6=YES更改为:listen_ipv6=NO,或将这一行注释掉

按上面的方法注释掉 listen_ipv6=YES后,成功启动vsftp

上传文件时:

2.553 Could not create file.
  getsebool -a|grep ftp
  setsebool allow_ftpd_full_access on

3.500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
  chmod a-w /var/ftp

总结

以上所述是小编给大家介绍的Linux文件服务器实战详解(匿名用户),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关推荐