Linux第十五天 使用vsftpd服务传输文件
首先ftp服务有多种种类,vsftpd是算非常安全的一个。
安装vsftpd服务在rehl8上面,然后设计防火墙使其满足ftp的传输不被限制。
vsftpd允许用户以三种方式登陆到ftp服务里面,
-
匿名开放模式
可以说这是最不安全的一种方式,这里不在赘述。 -
本地用户模式
打开主配置文件,开启本地用户,关闭匿名用户登陆。
删除用户名单里面被禁止登陆的用户,
还是不能登陆,因为这里访问到用户的家目录被禁了,selinux的域策略,找到ftpd_full_access变成on状态即可。 -
虚拟用户模式
我觉得,这个是最安全的一个ftp传输文件的方式。虚拟用户的登陆是映射为本地用户的家目录的,而且可以设置不允许本地用户登陆,这样排除了不法分子通过本地登陆改变传输文件的事情。
创建两个虚拟用户,/etc/vsftpd目录下面,vim vuser.list,按照用户一行密码一行的写法即可。
使用加密数据把文件变成数据库文件
db_load -T -t hash -f vuser.list vuser.db
权限只有自己可读写。
创建用户不允许本地登陆,而且家目录设置权限为777。
使用pam认证使得不同虚拟用户的登陆访问页面不同。
然后修改一下selinux的域允许策略即可。
最后有一个tftp服务,传输一些琐碎文件使用。
安装tftp和xinetd服务程序。
把xinetd的文件配置里面的tftp的disanle修改为no即可。
然后,重启xinetd服务并将它添加到系统的开机启动项中,以确保TFTP服务在系统重
启后依然处于运行状态。考虑到有些系统的防火墙默认没有允许UDP协议的69端口,因此
需要手动将该端口号加入到防火墙的允许策略中:
[root@linuxprobe~]#systemctlrestartxinetd
[root@linuxprobe~]#systemctlenablexinetd
[root@linuxprobe~]#firewall-cmd–permanent–add-port=69/udp
success
[root@linuxprobe~]#firewall-cmd–reload
success
TFTP的根目录为/var/lib/tftpboot。我们可以使用刚安装好的tftp命令尝试访问其中的文
件,亲身体验TFTP服务的文件传输过程。在使用tftp命令访问文件时,可能会用到表11-5
中的参数。
表11-5
tftp命令中可用的参数以及作用
命令
作用
?
帮助信息
put
上传文件
get
下载文件
verbose
显示详细的处理信息
status
显示当前的状态信息
binary
使用二进制进行传输
ascii
使用ASCII码进行传输
timeout
设置重传的超时时间
quit
退出
[root@linuxprobe~]#echo"ilovelinux">/var/lib/tftpboot/readme.txt
[root@linuxprobe~]#tftp192.168.10.10
tftp>getreadme.txt
tftp>quit
[root@linuxprobe~]#ls
anaconda-ks.cfgDocumentsinitial-setup-ks.cfgPicturesreadme.txtVideos
DesktopDownloadsMusicPublicTemplates
[root@linuxprobe~]#catreadme.txt
ilovelinux
当然,TFTP服务的玩法还不止于此,可以将TFTP服务与其他软件相搭配。。