linux系统ftp服务
一、ftp:文件传输协议
匿名用户默认的登陆目录为/var/pub/本地用户默认的登陆目录为/home。家目录
配置yum源[[email protected] ~]# vim /etc/yum.repos.d/rhel_dvd.repo
服务端安装vstftp服务和lftp服务,客户端安装lftp服务
systemctl start vsftpd 打开服务
systemctl enable vsftpd 开机启动服务
lftp用于客户端
打开防火墙:systemctl start firewalld
[[email protected] ~]# firewall-cmd --get-services 查看防火墙可以允许的服务
[[email protected] ~]# firewall-cmd --permanent --add-service=ftp 给防火墙加ftp
success
[[email protected] ~]# firewall-cmd --reload 更改防火墙加载
success
[[email protected] ~]# firewall-cmd --list-all 查看防火墙状态
interfaces: eth0
sources:
services: dhcpv6-client ftp ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
在客户端lftp 服务端ip 连接服务端查看能否连接成功
二、修改配置vsftpd服务配置文件 vim /etc/vsftpd/vsftpd.conf
用户登录设置
1.匿名用户登陆
anonymous_enable=YES 是否允许匿名用户登陆
#anonymous_enable=NO
2.本地用户登陆
local_enable=YES 是否允许本地用户登陆
#local_enable=NO
3.本地用户读写
write_enable=YES 是否允许本地用户读写
#write_enable=NO
登陆用户的读写权限
530 认证失败,密码错误
550 当前用户没有权限
553 文件权限太小
500 文件权限过大
1.匿名用户上传文件权限
修改组 chgrp ftp/var/ftp/pub/
修改权限 chmod 775 /var/ftp/pub/
2.匿名用户删除文件权限
需要自己添加
3.匿名用户下载文件权限
anon_world_readable_only=NO 是否允许匿名用户下载不属于自己的文件,默认YES不允许,如果需要改为NO
4.匿名用户新建目录权限
#anon_mkdir_write_enable=YES 是否允许匿名用户可以新建目录
用户登陆的相关配置
1.修改默认用户,以student的身份登陆
2.匿名用户的最大上传速度
anon_max_rate=102400 允许匿名用户上传的速度
3.匿名用户登陆的默认目录修改
4.最多同时在线人数设定
5.修改本地用户登陆后,文件默认权限修改
文件默认权限为644
6.用户登陆,锁定在用户家目录
开启之后,要取消家目录文件w权限,否则会500报错,文件权限过大
7.本地用户登陆黑/白名单
不锁定用户家目录
开启黑/白名单列表
列表文件为/etc/vsftpd/chroot_list
#当锁定用户家目录(yes)时,/etc/vsftpd/chroot_list为白名单
当不锁定用户家目录(no)时,/etc/vsftpd/chroot_list为黑名单
8.黑名单配置文件
ls /etc/vsftpd/
ftpusers 本地用户永久黑名单
user_list 本地用户临时黑名单,当修改配置文件后会变成白名单
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO 加入这条参数后临时黑名单将变成白名单
虚拟用户登陆
虚拟ftp用户的建立
1 cd /etc/vsftpd/
2 vim users 在/etc/vsftpd/下面新建一个文件user,user里包含需要建立的虚拟用户的名称和密码
3 db_load -T -t hash -f users users.db 将这个文件加密成db文件
4 cd /etc/pam.d/ ftp配置文件的默认认证方式为pam方式,在此文件下查看该认证方式的规则
5 vim vsftpd 系统认证文件
6 vim usercheck 我们自己编写一个认证文件在/etc/oam.d/中
####account required pam_userdb.so db=/etc/vsftpd/users#####
####auth required pam_userdb.so db=/etc/vsftpd/users#####
认证文件规则
7 vim /etc/vsftpd/vsftpd.conf 修改配置文件
8 systemctl restart vsftpd.service 重启服务
配置虚拟用户独立的家目录
-p表示上层目录不存在,自动建立
修改配置文件,使虚拟用户登陆到自己独立的家目录
虚拟用户分开管理
将匿名用户所有的权限关闭
修改配置文件,给指定虚拟用户特殊权限
user_conf目录中的文件=vip名单
在/etc/vsftpd/user_conf目录下建立文件,以虚拟用户名命名
修改虚拟用户登陆家目录权限
家目录权限改为755
更改虚拟用户登陆家目录组