VSFTP服务
概述
服务名 | 服务端 | 客户端 | 适用于范围 |
FTP | linux/windows | linux/windows | 内网、外网 |
NFS | linux | linux | 内网、外网 |
samba | linux/windows | linux/windows | 内网 |
FTP软件
wu-ftp 早期,不×××全
proftp 增强ftp工具
vsftp 安全,强大
ftp
21 命令传输端口 (被动模式)
20数据传输端口 (主动模式)
ftp的用户
1 ftp允许登录用户就是系统用户使用密码也是系统密码
上传位置:/home/家目录
2 匿名用户anonymous密码: 空 或者 邮箱地址 XX@XX
上传位置:/var/ftp/
注意vsftp上传位置不能改,一般一个账号都是针对一个组的,并不是针对每个人的。
安装 vsftp
配置文件路径
/etc/vsftpd/vsftpd.conf
用户访问控制文件
/etc/vsftpd/ftpusers
用户访问控制文件
/etc/vsftpd/user_list
需要自行创建
/etc/vsftpd/chroot_list
添加用户
1、匿名用户 anonymous或者ftp 密码XX@XX 不安全一般会禁用
2、本地用户 使用linux系统用户和密码,不够安全,因为ftp是明文验证,简单,不用做 任何配置 linux默认使用这种用户
3、虚拟用户 管理员自定义的模拟用户,最安全,但是配置比较麻烦
注意事项
关闭防火墙
iptables -F //清空防火墙配置,这只是临时的,所以需要加 service iptables save //保存防火墙状态
关闭selinux防火墙
修改配置文件
1主机相关配置
listen_port=21 监听端
connect_from_port_20=YES 数据传输端口
ftpd_banner= 欢迎信息
默认上传目录位置:
/var/ftp/pub/
本地用户
local_enable=YES允许系统用户登录
write_enable=YES允许上传
local_umask=022默认上传权限
local_max_rate=300上传限速
默认文件位置是在家目录下
Local_root=/var/ftp/ 设置本地用户FTP根目录 注意目录权限
Local-max_rate=0 限制最大传输速率
1、用户反问控制
userlist_enable=YES开启用户访问控制功能
userlist_deny=NO写入user_list的用户可以访问,没写入不能访问
userlist_file=/etc/vsftpd/user_list指定文件
2、限制用户访问目录
chroot_local_user=YES只有此句,所有用户限制在家目录下
chroot_local_user=YES如有三句话,只有文件chroot_list中的用户可以访问任何目录,其他用户限制在家目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
◆ftp客户端使用
ftp ip
get 文件名下载
put 文件名上传不能上传和下载目录
实例:
1、改变普通用户家目录,给不同用户不同上传位置
用户aa上传目录为 /www/aa
用户bb上传目录为/www/bb
建立目录mkdir /www
建立aa用户同时指定家目录useradd -d /www/aaaa
passwd aa
启动ftpd
使用aa用户上传验证
2、匿名用户上传
匿名用户登录位置/var/ftp/
匿名用户上传不能直接上传到/var/ftp/权限不允许
cd /var/ftp
chown ftp /var/ftp/pub只能给pub目录匿名上传权限
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES运行匿名用户登
anon_upload_enable=YES允许匿名上传
anon_mkdir_write_enable=YES允许匿名建立目录
anon_other_write_enable=YES
service vsftpd restart重启
验证
3、用户上传文件到服务器后,如何只能上传,不能删除和修改。
chattr设定隐藏属性
chattr +a 文件名或目录文件只能增加内容,不能修修改和删除。目录只能建立文件,不能修改和删除。root也不可以。
+ 赋予属性 - 取消属性a 附加(append)-R 递归
针对目录取消时,要-aR
chattr +i 文件或目录文件或目录不能删除,root也不行 i 不可改变(immutable)
chattr -a 文件名和目录名取消a隐藏权限
lsattr 文件名查询隐藏属性
lsattr -a 目录名查询目录隐藏属性-a 所有