1.ftp的定义
ftp:// -----------文件传输协议
2.ftp协议提供的软件
vsftpd
3.配置ftp环境
yum install vsftpd -y----------下载服务
systemctl start vsftpd ------------开启服务
systemctl enable vsftpd--------------开机自启动
firewall-cmd --permanent --add-service=ftp----------设置火墙
firewall-cmd --reload ----重启
4.ftp的基本信息
默认发布目录:/var/ftp
访问方式
lftp 172.25.254.112-------------------匿名登陆,默认目录/var/ftp
lftp 172.25.254.112 -u student-----------用户登录,默认目录/home/student
5.ftp访问的基本设定
匿名用户登录
vim /etc/vsftpd/vsftpd.conf -----------修改配置文件
anonymous_enable=YES|NO-----------匿名用户是否可以登陆(YES可以登陆,NO不能登陆)
注意:每次修改完配置文件后都需要重启服务
本地用户登录
vim /etc/vsftpd/vsftpd.conf -----------修改配置文件
local_enable=YES|NO-------本地用户是否可以登陆(YES可以登陆,NO不能登陆)
本地用户可写
vim /etc/vsftpd/vsftpd.conf -----------修改配置文件
write_enable=YES|NO---------------本地用户是否可写
匿名用户上传
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub -----------------上传之前需要更改pub目录的权限和所在组
vim etc/vsftpd/vsftpd.conf
anon_upload_enable=YES-------------匿名用户可以上传
匿名用户下载
vim etc/vsftpd/vsftpd.conf
anon_world_readable_onlu=NO
匿名用户建立目录,删除和重命名
vim etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
匿名用户家目录修改
vim etc/vsftpd/vsftpd.conf
anon_root=/westos
匿名用户上传文件默认权限修改
vim etc/vsftpd/vsftpd.conf
anon_umask=022
最大上传速率
dd if=/dev/zero of=file bs=1M count=1000---------------建立一个1G的文件
vim etc/vsftpd/vsftpd.conf
anon_max_rate=102400(单位:字节byte)
可以看出在不限制上传速率时,上传速率大概时40多M
当限制最大上传速度为100K以后,速度大概为100K左右
最大连接数
max_clients=1
匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student
本地用户家目录修改
本地用户上传文件权限
限制本地用户浏览目录
当没限制时,本地用户可以看到根目录下的所有东西
所有用户被锁定到自己家目录中
本地用户访问黑名单建立
由于chroot.list文件不存在,所以要手动建立此文件。
本地用户访问白名单建立
用户登陆黑名单设定
vim /etc/vsftpd/ftpusers-------------用户黑名单
vim /etc/vsftpd/user_list------------用户临时黑名单
用户登陆白名单设定
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO
/etc/vsftpd/user_list---------------------参数设定,此文件变成白名单,只在名单中出现的用户可以登陆
6.ftp虚拟用户设定
vim /etc/vsftpd/westosfile
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db ------------------加密文件
vim /etc/pam.d/westos --------------文件名称任意
vim /etc/vsftpd/vsftpd.conf
当使用虚拟账户登陆时,发现进去以后时student的家目录
虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
建立用户家目录
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
mkdir /ftphome/user3/user3dir -p
虚拟帐号配置独立
chgrp ftp /ftphome/ -R
chmod 775 /ftphome/user1/user1dir
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/vsftpd.conf
在配置文件中写入user_config_dir=/etc/vsftpd/userconf
注意:此处的userconf与上一步所建立的目录名称一致
vim /etc/vsftpd/userconf/user1
此时user1具有上传和删除功能
ftp常见报错
530------------认证失败
550-----------服务本身不允许这样做
500-----------权限过大
553------------服务器上的文件系统不允许