一、FTP服务(文件传输协议)
- FTP主要的用途:
用于网络上文件的双向传输(上传、下载)的应用层协议
最广泛、最底层、较简单的,但是明文传输
适用于较大文件的传输
- 常见的客户端与服务端:
客户端:winscp | filezilla |serv-u(windows)、ftp(linux)
服务端:iis(windows)、vsftpd(linux)
二、VSFTP服务
- 特点:
- 非常安全的ftp服务器,但并不是不再是明文传送
- 改善的安全特性:
- 程序的运行者一般是普通用户,降低对响应进程的权限,提高安全性;
- 任何需要执行的较高权限都需要上层程序许可,如selinux的行为控制;
- 所需的大部分命令都整合在vsftpd中,基本不需要系统额外提供命令;
- 拥有chroot功能,可改变用户的根目录,限制用户只能在自己的家目录里
三、基本软件信息
服务端软件名:vsftpd
服务端服务名:vsftpd
服务端端口号:21、20、指定范围的随机端口
主要配置文件:/etc/vsftpd/vsftpd.conf
客户端软件:ftp
客户端连接:ftp 服务器IP
客户端命令:连接上ftp后,用help/?命令查看
四、VSFTP基本实验
VSFTP的用户模式分为:匿名用户模式、本地用户模式、虚拟用户模式
1、实验:匿名用户模式(anonymous):
用户账号名称:ftp或anonymous
用户账号密码:无密码
工作目录:/var/ftp
默认权限:默认可下载不可上传,上传权限由两部分组成(主配置文件和文件系统)
在客户端中连接到服务端只能来来连接到服务端的共享目录文件(/var/ftp中),其中对此的操作默认只有下载的权限,如果要进行上传、创建目录以及其他的写入权限,需要在其上一级的目录中有对其它人可以写入的权限。必须在服务端将此目录的权限改到。
注意:在客户端登录后,默认情况下是可以下载的,但不能上传
①实现可以上传
a.anon_upload_enable=YES
b.在/var/ftp/下创建上传目录
c.修改上传目录的权限或所有者,让匿名用户有写入权限
②实现创建目录和文件其他操作
anon_mkdir_write_enable=YES #允许创建目录
anon_other_write_enable=YES #删除文件、文件改名、文件覆盖
③用户进入某个文件夹时,弹出相应的说明
a.在对应目录下创建 .message 文件,并写入相应内容
b.确认dirmessage_enable=YES是否启用
c.尝试切换目录查看效果(同一次登录仅提示一次)
④实现上传的文件可下载
默认情况下开放上传权限后,上传的文件是无法被下载的,因为文件的其他人位置没有r权限
设置anon_umask=022,可以让上传的文件其他人位置拥有r权限,然后才能被其他人下载
2、实验:本地用户模式
本地用户权限控制:
chroot_local_user=YES #禁锢本地用户在家目录
allow_writeable_chroot=YES #禁锢本地用户后允许写权限,
CentOS6.8系统上不用添加这条设置
本地用户创建:
Useradd -d /shares -s /sbin/nologin 用户名
需要指定用户家目录(共享目录),及不进行shell登录类型