ftp:(File Transfer Protocol,文件传输协议) FTP 是 TCP/IP 协议组中的协议之一,互联阿中最老牌的文件传输协议。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
2.4 在资源主机建立共享目录,并存放软件资源:
firefox ftp://ip
lftp ip ##此访问方式必须能列出资源才算访问成功
服务名称: vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp
报错信息 | 原因 |
---|---|
550 | 程序本身拒绝 |
553 | 文件系统权限限制 |
500 | 权限过大 |
530 | 认证失败 |
lftp 192.168.2.11 | 当访问ftp服务时没有加入用户认证为匿名访问 |
---|---|
lftp 192.168.2.11 -u westos | 本地用户访问 |
实验:以下内容在vsftpd主配置文件中更改
4.1 登陆控制—— anonymous_enable=YES|NO
4.2 家目录控制—— anon_root=/software
4.3 上传控制——anon_upload_enable=YES|NO
4.4 下载控制——anon_world_readable_only=NO ##匿名用户可以下载不能读的文件
4.5 目录建立控制 ——anon_mkdir_write_enable=YES|NO
4.6 删除重命令控制——anon_other_write_enable=YES|NO
4.8 上传速率控制——anon_max_rate=102400
lftp 192.168.0.11 -u red
5.1 登陆控制——local_enable=NO|YES
5.2 家目录控制——local_root=/software
5.3 写权限控制——write_enable=NO|YES
5.5 用户登陆控制
/etc/vsftpd/ftpusers ##用户登录控制永久黑名单
永久黑名单无论怎样设定都是黑名单,从名单中删除可以解锁
/etc/vsftpd/user_list ##用户登录控制默认黑名单
默认黑名单可以变为白名单(见下图)
5.6 用户登陆白名单——userlist_deny=NO
设定/etc/vsftpd/user_list为白名单
不在名单中的用户不能登陆ftp
5.7 锁定用户到自己的家目录中——chroot_local_user=YES
chmod u-w /home/* 避免与下面命令冲突
chroot_local_user=YES锁定用户到自己家目录
为了防止用户登录到跟目中中,需要把他锁定在家目录里
5.8 锁定用户到自己的家目录中的白名单
chroot_local_user=YES锁定用户到自己家目录
chroot_list_enable=YES开启锁定家目录白名单
chroot_list_file=/etc/vsftpd/chroot_list
5.9 锁定用户到自己的家目录中的黑名单
chroot_local_user=NO默认用户不锁定到自己家目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
普通用户登录ftp会有资源浪费和开放权力过大的隐患,只需要借助ftp身份不需要开放过多的权限。因此可以为ftp服务来构建用户信息而不使用系统信息。虚拟用户即在当前系统中没有用户身份,在ftp程序中才承认这个身份。
ftp服务在用户登录时,有pam插件在用户名和密码与单名保持一致时允许登录。
虚拟用户也需要建立对应的用户和密码。
1.建立认证文件模板——vim /etc/vsftpd/ftp_auth_file
2.加密认证文件——db_load -T -t hash -f ftp_auth_file ftp_auth_file.db
(-T 转换; -t type; -f 指定转换文件;文件以.db结尾)
3.生成pam认证策略——vim /etc/pam.d/westos
4.指定认证策略文件——vim /etc/vsftpd/vsftpd.conf
1.建立虚拟用户家目录
2.指定虚拟用户家目录
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER user_sub_token=$USER
systemctl restart vsftpd
user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/red2
anon_upload_enable=YES
设定完成后red2用户可以上传文件 red1和red3不行