Linux新手随手笔记2.1-ftp
FTP文件传输协议
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。FTP默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP指令与参数
http ftp telnet 我们认为他们不是安全的,因为都是明文传输,所以就有了我们的vsftpd服务。
vsftpd有3种模式,--匿名用户 --本地用户 --虚拟用户
vsftpd服务程序常用的参数以及作用
参数 | 作用 |
listen=[YES|NO] | 是否以独立运行的方式监听服务 |
listen_address=IP地址 | 设置要监听的IP地址 |
listen_port=21 | 设置FTP服务的监听端口 |
download_enable=[YES|NO] | 是否允许下载文件 |
userlist_enable=[YES|NO] userlist_deny=[YES|NO] |
设置用户列表为“允许”还是“禁止”操作 |
max_clients=0 | 最大客户端连接数,0为不限制 |
max_per_ip=0 | 同一IP地址的最大连接数,0为不限制 |
anonymous_enable=[YES|NO] | 是否允许匿名用户访问 |
anon_upload_enable=[YES|NO] | 是否允许匿名用户上传文件 |
anon_umask=022 | 匿名用户上传文件的umask值 |
anon_root=/var/ftp | 匿名用户的FTP根目录 |
anon_mkdir_write_enable=[YES|NO] | 是否允许匿名用户创建目录 |
anon_other_write_enable=[YES|NO] | 是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限) |
anon_max_rate=0 | 匿名用户的最大传输速率(字节/秒),0为不限制 |
local_enable=[YES|NO] | 是否允许本地用户登录FTP |
local_umask=022 | 本地用户上传文件的umask值 |
local_root=/var/ftp | 本地用户的FTP根目录 |
chroot_local_user=[YES|NO] | 是否将用户权限禁锢在FTP目录,以确保安全 |
local_max_rate=0 | 本地用户最大传输速率(字节/秒),0为不限制 |
我们先yum -y install vsftpd 安装vsftpd包
1.匿名用户 anonymous(匿名公开模式)
然后我们配置一下文件。顺便复习一下几句重要的话。
Linux的一切都是文件
想要部署服务其实就是在修改对应的配置文件
想要让修改的参数立即生效,我们需要重启对应的服务
顺手把服务加入到开机启动项里面
配置文件分为两类,主配置文件和一般配置文件
主配置文件路径: /etc/服务名称/服务名称.conf
# vim /etc/vsftpd/vsftpd.conf 打来配置文件
我们进入vsftpd目录,然后将里面的配置文件修改名称,然后我们cat读取一下里面的内容,那么我们这么做是为什么呢?往下面看
那是因为我们要将在屏幕显示的内容通过管道符和grep 给他单独取出来,这样就好看了,那么上面-v是取反向(反选)的,就是说我们如果不加-v的话那么他会列出来所有前面带#的,我们并不需要他们啊,所以加个-v是取不带#号的,其中报错是说我们#冲突了,我们给他加个""。看下效果
100多行瞬间成了这几行了,是不是很舒服,因为带#号的都是注释,我们看起来太麻烦,所以给他去掉。这里只是显示去掉,并不是真正的去掉啊。所以说我们都在做无用功,并不是,往下看
这下看明白没有,从我们一开始取别名就在为这一步做准备了,我们给他新创建一个vsftpd.conf文件,然后把刚才打印出来的内容重定向写入到文件里面,这不就把那些烦人的注释都去掉了么,好了,开始正题。
我们说一下这13行参数(有一行是空的)
1.anonymous_enable=YES 是否启用我们的公开匿名模式
2.local_enable=YES 是否允许本地用户的方式来进行访问我们的FTP
3.write_enable=YES 是否允许本地用户进行写入操作
4.local_umask=022 是否设置一下文件的反掩码
什么是反掩码说一下,比如
我们创建一个文件和一个目录 ,然后看他们的权限,一个是644 一个是755,那么我们的文件就是
666-umask=644 目录就是:777-umask=755
umask=022 就叫权限反掩码,如果我们想要文件或者目录权限大一点,那么我们反掩码就小一点,反之也是,正好反着,所以反掩码明白了没。
5.dirmessage_enable=YES 是否显示出来一些提示的信息
6.xferlog_enable=YES 是否启用日志
7.connect_from_port_20=YES 是否以20端口号进行我们的文件传输
8.xferlog_std_fromat=YES 是否以标准的格式写入我们的日志
9.listen=NO 是否以独立的形势运行我们的vsftpd.
10.listen_ipv6=YES 是否支持我们的ipv6
11.pam_service_name=vsftpd pam模块的名称
12.userlist_enable=YES 设置用户列表为“允许”还是“禁止”操作。当用户名称出现在文件中,那么这个用户就登录不上去。就是下面的两个文件
13.tcp_wrapper=YES 是否由tcp_wrapper这个防火墙进行控制
然后我们自己再加几条
1.anon_umask=022 设置匿名公开模式反掩码为022
2.anon_upload_enable=YES 是否允许匿名用户上传文件
3.anon_mkdir_write_enable=YES 是否允许匿名用户创建目录
4.anon_other_write_enable=YES
是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限) |
