Linux 网络管理(5)

211 阅读3分钟

这是我参与更文挑战的第18天 ,活动详情查看更文挑战

安装vsftpd

yum install -y vsftpd

  • 默认会创建一个名为ftp用户,home目录为: /var/ftp

  • 默认是监听IPV6端口

启动

  • 独立工作模式 : 默认情况,进入ftp用户的home目录 service vsftpd start

  • 借助xinetd管理的工作模式: 将前面的选项设置为“listen_ipv6=NO” 并配置/etc/xinetd.d/vsftpd文件

独立工作模式下的配置

vsFTPd的配置文件有三个:

  • /etc/vsftpd/vsftpd.conf:vsFTPd的主配置文件
anonymous_enable=YES	//允许匿名登录
local_enable=YES	//允许本地用户登录
write_enable=YES	//开放本地用户的写权限
dirmessage_enable=YES	//当切换目录时,显示该目录的信息。
connect_from_port_20=YES	//使用FTP数据端口20的连接请求
userlist_enable=YES	//与前面介绍的vsftpd.user_list配置文件有关,后面介绍
listen=YES	//是否允许vsFTPd运行在独立启动模式;如果值为NO,则需要使用其它软件启动vsFTPd。
tcp_wrappers=YES	
  1. userlist_enable 用法:YES/NO

若是启动此功能,则会读取/etc/vsftpd.user_list 当中的使用者名称。只有出现在文件中的用户名才能登录ftp。

此项功能可以在询问密码前就出现失败讯息,而不需要检验密码的程序。默认值为关闭。

  1. userlist_deny 用法:YES/NO

这个选项只有在userlist_enable 启动时才会被检验。

如果将这个选项设为YES,则在 /etc/vsftpd.user_list 中的使用者将无法登入﹔若设为NO,则只有在/etc/vsftpd.user_list 中的使用者才能登入。

此项功能可以在询问密码前就出现错误讯息,而不需要检验密码的程序。

# 限制指定的本地用户不能访问,而其它本地用户可以访问。
userlist_enable= YES
userlist_deny= YES
userlist_file= /etc/vsftpd.user_list

# 限制指定的本地用户可以访问,而其它本地用户不可以访问。
userlist_enable= YES
userlist_deny= NO
userlist_file= /etc/vsftpd.user_list

  • /etc/vsftpd/ftpusers : vsFTPd的访问控制 在/etc/vsftpd.ftpusers配置文件中保存了一个用户列表,如果用户名在这个列表中,它就不能通过网络进行FTP登录。

  • /etc/vsftpd/user_list: 允许/禁止用户列表

vsFTPd的启动与关闭

  • service vsftpd [start|stop|restart]

  • /etc/rc.d/init.d/vsftpd [start|stop|restart]

  • /etc/init.d/vsftpd [start|stop|restart]

ftp 使用

  • ftp xx.xx.xx.xx | open xx.xx.xx.xx
  • get | mget
  • put | mput
  • binary | acsii 设置文件传输方式
  • cd 在远程主机切换目录
  • lcd 在本地主机切换目录
  • ls 在远程主机上执行ls
  • mkdir 在远程主机上创建目录
  • close 关闭
  • quit 退出

xinetd模式启动vsFtpd

  1. service vsftpd stop

  2. 修改/etc/vsftpd/vsftpd.conf 将 listen_ipv6=YES 改为 listen_ipv6 =NO

  3. 新增一个文件:/etc/xinetd.d/vsftpd 内容如下:

service ftp #注意这里的名字是ftp不是vsftpd{
    	socket_type  = stream	#使用TCP的Socket类型
	wait = no	#多线程
    	user  = root
    	server  = /usr/sbin/vsftpd
    	server_args  = /etc/vsftpd/vsftpd.conf
    	disable   = no
     }

stand alone VS xinetd

运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护系统资源。 但是对于访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降。 因此在选择基于哪种工作模式的时候,需要根据服务的使用情况具体情况具体分析。