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文件服务器实战详解(匿名用户),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • Linux使用scp远程传输命令进行服务器文件互传(阿里云服务器)

    前几天 WordPress大学 所在的服务器环境不太稳定,CPU 占用总是 100%,折腾了好几次都没有找到原因,只好考虑重新配置环境,考虑到配置和优化好环境需要几个小时,总不能将网站停掉吧,所以要将 WordPress大学 网站临时迁移到另外的服务器运行,配置好再迁回来. 看来下阿里云的两个云服务器,都是同一个区的,所以决定通过内网进行文件传输,速度快不说(正常传输文件的速度能达到35m~50m/s),还不占用公网带宽. 阿里云云服务器有一个安全组策略,可能需要设置下 内网入.出方向的IP白名

  • linux使用scp实现服务器A向服务器B传输文件

    scp是有Security的文件copy,基于ssh登录.操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令. 复制代码 代码如下: scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root 然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了. 如果想反过来操作,把文件从远程主机copy到当前系统,也很简单. 复制代码 代码如下: scp root@172.19.2.

  • Linux下SVN服务器自动更新文件到Web目录的方法

    说明: 服务器操作系统:CentOS 服务器IP:192.168.21.134 SVN安装路径:/usr/local/svn SVN项目路径:/home/svn SVN登录账号:osyunwei SVN登录密码:123456 Web站点根目录:/home/web 实现目的: 当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录 具体操作: 一.使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录 cd /home/svn/h

  • Windwos下使用winscp和批处理实现通过SSH端口上传文件到Linux服务器上

    Windwos下使用winscp和批处理实现通过SSH端口上传文件到Linux服务器上 今天同事想在windows上使用winscp上传文件到linux服务器上,又想偷懒想使用批处理来进行上传,还好只固定上传一个php文件,多了还真不好搞. 1.下载winscp 大家可以去网上自己找,我把winscp安装在c:下的 2.把要执行的命令保存到文件winscp.bat里,这个winscp.bat可以自己创建,我是放在d:下的. winscp.bat脚本内容: 复制代码 代码如下: option co

  • linux系统中rsync+inotify实现服务器之间文件实时同步

    之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停的产生的,造成不知道主服务器给备份服务器传输了多少文件,磁盘空间就那么大,做备份的原因:一个是为了保持文件,另外一个是解决主服务器的磁盘饱满问题,但由于不知道备份服务器到底接收了多少文件,所以主服务器里的文件不敢删除(如果没有备份的情况下删除,问题就严重了,我这个是政府的项目,服务器里的文件都是重要的,删错了

  • linux服务器之间传输文件的四种方式

    本文为大家分享了linux服务器之间传输文件的四种方式,供大家参考,具体内容如下 1. scp [优点]简单方便,安全可靠:支持限速参数  [缺点]不支持排除目录 [用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 . 命令格式: scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 举例

  • Linux文件服务器实战详解(系统用户)

    ftp匿名用户设置完成之后任何人都可以访问服务器端文件,目录,甚至可以修改删除文件和目录,,那如何存放私密文件并保证文件或者目录专属于拥有者呢,就需要使用vsftp系统用户来实现了. 1.在linux系统创建多个用户(useradd)并给用户设置密码 [root@www ~]# useradd xj1 [root@www ~]# useradd xj2 [root@www ~]# echo 123456|passwd --stdin xj1 [root@www ~]# echo 123456|p

  • 查看linux服务器上mysql配置文件路径的方法

    在类NUIX的系统中,配置文件的位置一般在/etc/my.cnf 或者 /etc/MySQL/my.cnf 我们见过有些人尝试修改配置文件但是不生效,因为他们修改的并不是服务器读取的文件.例如Debian下,/etc/mysql/my.cnf才是MySQL读取的配置文件,而不是/etc/my.cnf. 如果不知道当前使用的配置文件路径,可以尝试下面的操作: 对于服务器上只有一个MySQL实例的典型安装,这个命令很有用 以上就是小编为大家带来的查看linux服务器上mysql配置文件路径的方法全部

  • 使用scp获取远程linux服务器上的文件 linux远程拷贝文件

    一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. 二.scp有什么用? 1.我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的. 2.我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无

  • Linux文件服务器实战详解(虚拟用户)

    vsftpd基于系统用户访问ftp服务器,系统用户越多越不利于管理,不利于系统安全,这样就以vsftp虚拟防护的方式来解决. 虚拟用户没有实际的真实系统用户,,而是通过映射到其中一个真实用户以及设置相应权限来访问验证,虚拟用户不能登陆系统. 1.安装虚拟用户需要用到的软件以及认证模块 [root@www ~]# yum install pam* libd-utils libdb* --skip -broken -y 2.创建虚拟用户临时文件 /etc/vsftpd/ftpusers.txt xj

随机推荐