一、vsftpd 服务安装与初始化设置
1. 安装 vsftpd 服务、启动 vsftpd 服务并且设置成开机启动
[root@svr5 ~]# rpm -q vsftpd # 查看一下系统之前是否装过 vsftpd
package vsftpd is not installed
[root@svr5 ~]# yum -y install vsftpd # 1. 安装 vsftpd 服务
..............省略输出..............
Installed:
vsftpd.x86_64 0:2.2.2-11.el6_4.1 # 显示 vsftpd 服务安装成功!
Complete!
[root@svr5 ~]#
[root@svr5 ~]# service vsftpd status # 查看 vsftpd 服务状态
vsftpd 已停
[root@svr5 ~]# service vsftpd start # 2. 启动 vsftpd 服务
为 vsftpd 启动 vsftpd: [确定]
[root@svr5 ~]#
[root@svr5 ~]# chkconfig vsftpd --list # 查看 vsftpd 服务是否随机启动
vsftpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
[root@svr5 ~]#
[root@svr5 ~]# chkconfig vsftpd on # 3. 将 vsftpd 服务设置成开机启动
[root@svr5 ~]# chkconfig vsftpd --list
vsftpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@svr5 ~]#
2、查看 vsftpd 端口、关闭防火墙、关闭SELinux(如果不关闭SELinux,匿名访问没有问题,但本地账户方式访问不了)
[root@svr5 ~]# netstat -naptu | grep vsftpd # 查看 vsftpd 服务监听的端口
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2805/vsftpd
[root@svr5 ~]#
[root@svr5 ~]# service iptables stop # 关闭防火墙
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[root@svr5 ~]#
[root@svr5 ~]# getenforce
Enforcing
[root@svr5 ~]# setenforce 0 # 关闭 SELinux
[root@svr5 ~]# getenforce
Permissive
[root@svr5 ~]#
二、vsftpd 配置的功能和特点
1、 vsftpd 默认启动匿名账户,其特点如下:
a)有下载权限, 无上传权限
b)默认起始路径 : /var/ftp
c)是禁锢的(也就是说,只能访问到 /var/ftp 及其子目录的资源, /var/ftp 之外的资源是访问不到的)
实验1:
① 、创建目录 /var/ftp/a/b/c 并在该目录下创建文件夹 test1.txt 内容为: abc
②、 通过 浏览器测试 匿名账户的上传与下载 (注: 匿名下载会成功, 上传失败)
③、 通过 ftp 命令测试 匿名账户的上传与下载 (注: 匿名下载会成功, 上传失败)
扫描二维码关注公众号,回复:
5671205 查看本文章
步骤1、创建实验需要的目录以及文件
[root@svr5 ~]# mkdir -p /var/ftp/a/b/c
[root@svr5 ~]# touch /var/ftp/a/b/c/test1.txt
[root@svr5 ~]# echo "abc" > /var/ftp/a/b/c/test1.txt
[root@svr5 ~]# cat /var/ftp/a/b/c/test1.txt
abc
[root@svr5 ~]#
步骤2、在浏览器 上使用匿名账户登录并测试上传和下载功能
步骤3、使用 ftp 命令匿名登录 ftp服务器,测试文件上传与下载
2、 本地账户(默认禁用系统账户以及root账户) ,其特点:
a)有上传、下载权限
b)其实目录:用户的home目录
c)默认是不禁锢(换句话说使用 本地账户登录 ftp服务器中可以访问到系统的所有资源)
实验2:
①、创建用户 tt, 密码为123,并在其家目录上创建文件 t.txt
②、通过 ftp 命令测试 本地账户的上传与下载 (注: 本地下载会成功, 上传也会成功)
[root@svr5 ~]# id tt
id: tt:无此用户
[root@svr5 ~]# useradd tt
[root@svr5 ~]# echo "123" | passwd --stdin tt
更改用户 tt 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@svr5 ~]#
[root@svr5 ~]# touch /home/tt/t.txt
[root@svr5 ~]#