ftp服务
ftp文件传输服务
FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法
在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名称为 VSFTPD , 它代表 Very Secure File TransferProtocolDamon 服务器名称也叫做 vsftpd
vsftpd的用户可分为匿名用户 本地用户 虚拟用户
ftp的基本信息
访问数据端口:21
数据传输端口:>1024的随机端口
默认发布目录:/var/ftp
访问方式:
lftp 172.25.66.77 匿名登陆 - -> /var/ftp
lftp 172.25.66.77 -u student 用户登陆 - ->/home/student
配置文件
/etc/vsftpd/vsftpd.conf
ftp的启用
yum install vsftpd 安装ftp服务
systemctl start vsftpd 开启ftp服务
systemctl enable vsftpd 设置开机自动开启
firewall-cmd --permanent --add-server=ftp 在防火墙策略里添加ftp服务
firewall-cmd --reload 加载配置
注意:
在实验时,要关闭selinux,需配置/etc/sysconfig/selinux,设置完成后必须reboot
匿名用户的相关操作
- 匿名用户可上传 anon_upload_enable=YES|NO
chmod 775 /var/ftp/pub 匿名用户访时使用的是系统用户ftp和ftp组
chgrp ftp /var/ftp/pub
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
systemctl restart vsftpd
- 匿名用户可下载 anon_world_readable_only=NO|YES 设定默认参数为no,表示匿名用户可以下载
- 匿名用户建立目录 anon_mkdir_write_enable=YES
- 匿名用户是否可以删除和重命名 anon_other_write_enable=YES
- 匿名用户家目录修改 anon_root=/directory
vim /etc/vsftpd/vftpd.conf
- 匿名用户上传文件默认权限修改
anon_umask=022 默认umask=077
- 最大上传速率
anon_max_rate=102400
- 最大连接数
max_clients=2
本地用户的相关操作
- 限制本地用户 local_enable=YES|NO
- 本地用户写权限设置 write_enable=YES|NO
- 本地用户家目录修改 local_root=/directory
- 本地用户上传文件权限 umask=022 默认为077
- 限制本地用户浏览目录 chroot_local_user=YES
chroot_local_user=YES
chmod u-w /home/*
1.用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
westos
2.用户白名单建立
chroot_local_user=YES 开启限制本地用户浏览目录功能
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 此文件不存在,自己创建
vim /etc/vsftpd/chroot_list
westos
限制本地用户登陆
vim /etc/vsftpd/ftpusers 用户永久黑名单,就算把user_list 设置为白名单,与ftpuser中的用户冲突,也以ftpusers 文件为准
vim /etc/vsftpd/user_list 用户临时黑名单
用户白名单设定
userlist_deny=NO 把user_list文件的deny功能关闭,也就是变为了白名单
/etc/vsftpd/user_list 参数设定,此文件变为用户白名单,在名单中出现的用户可以登陆ftp
vim /etc/vsftpd/user_list 设置student用户允许登陆
ftp虚拟用户的设定
1.创建虚拟帐号身份
vim /etc/vsftpd/westosfile 文件名随意
user1 用户名不能有空格
123
user2
123
2.bd_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db hash加密含有用户名和密码的文件
3 /vim /etc/pam.d/westos
account required pam_userbd.so db=/etc/vsftpd/westosfile pam_userbd.so是认证插件
auth required pam_userbd.so db=/etc/vsftpd/westosfile
4. vim /etc/vsftpd/vsftpd.conf
pam_server_name=westos westos为认证文件名要与/vim /etc/pam.d/westos保持一致
guest_enable=YES
虚拟帐号身份指定
vim /etc/vsftpd/vsftpd.conf
guest_username=ftpuser 让虚拟用户以ftpuser身份登陆,默认访问目录为其家目录
chmod u-w /home/ftpuser 修改/home/ftpuser文件的权限,要不会出现530报错
虚拟用户家目录独立指定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER 以什么用户身份($USER)运行,则锁定其家目录为/ftpuserhome/$USER
user_sub_token=$USER
mkdir /ftpuserhome
注意:
虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
vim /etc/vsftpd/userconf/user1 在此文件中设定配置文件中的所有参数,此文件的优先级高
anon_upload_enable=YES