FTP解决文件传输问题,FTP服务器中的文件按目录结构进行组织,用户通过网络服务器建立连接。FTP仅基于TCP的服务,不支持UDP。
vsftp安装
我们有两个虚拟机环境desktop和server,使用server做ftp服务端,desktop做客户端用于登陆
-
实验环境部署
1 .关闭server端firewall,selinux为disabled状态,然后重启虚拟机[root@server ~] # systemctl stop firewalld [root@server ~] # vim /etc/sysconfig/selinux ## 修改selinux文件改为disabled [root@server ~] # reboot [root@server ~] # getenforce Disabled
2 .若不想关闭防火墙,可以为其添加ftp服务,selinux还必须是disabled状态[root@server ~] # systemctl start firewalld [root@server ~] # firewall-cmd --permanent --add-service=ftp ## 永久加入ftp服务 success [root@server ~] # firewall-cmd --reload success [root@server ~] # firewall-cmd --list-all
server服务端IP为192.168.1.130;desktop客户端IP为192.168.1.131
-
服务端vsftp安装,客户端lftp安装
软件安装包: vsftpd
默认发布目录: /var/ftp
协议接口: 21/tcp
服务配置文件: /etc/vsftpd/vsftpd.conf
server服务端:[root@server ~] # yum install vsftpd -y ## 使用yum安装vsftp [root@server ~] # systemctl start vsftpd [root@server ~] # systemctl enable vsftpd ## 使vsftp服务开机自启动
desktop客户端:
[root@desktop ~] # yum install lftp ## 客户端使用lftp软件连接ftp服务器
匿名用户ftp设置
配置文件路径在服务端/etc/vsftpd/vsftpd.conf,先看看匿名用户的一些设定
anonymous_enable=YES|NO ## 匿名用户登录限制
write_enable=YES ## 允许写入
anon_upload_enable=YES ## 允许上传
chgrp ftp /var/ftp/pub ## 修改家目录pub的用户组
chmod 775 /var/ftp/pub ## 修改pub的权限
anon_root=/direcotry ## 修改匿名用户家目录位置
anon_umask=xxx ## 匿名用户上传文件的默认权限
anon_mkdir_write_enable=YES|NO ## 是否允许建立目录
anon_world_readable_only=YES|NO ## 是否允许下载 NO表示允许下载
anon_other_write_enable=YES|NO ## 是否允许删除
chown_uploads=YES ## 用户使用身份修改
chown_username=student
chown_uploads_mode=0644
anon_max_rate=102400 ## 最大上传速率
max_clients=2 ## 最大链接数
#######光看配置当然不懂,往下看看实例中到底怎么运用#######
-
匿名用户登陆限制
anonymous_enable=YES|NO ## 匿名用户登录限制
-
匿名用户上传文件
刚安装好vsftp服务后,是不允许匿名用户上传文件或目录
#####配置文件中加入##### write_enable=YES ## 允许写入 anon_upload_enable=YES ## 允许上传
-
匿名用户家目录修改、下载、删除
#####配置文件中加入##### anon_root=/home/anon ## 修改匿名用户家目录位置 anon_umask=022 ## 匿名用户上传文件的默认权限 anon_mkdir_write_enable=YES ## 允许创建目录 anon_world_readable_only=NO ## 允许下载 anon_other_write_enable=YES ## 允许删除 ####下载目录使用mirror dirname####
-
用户使用身份修改
chown_uploads=YES ## 用户使用身份修改 chown_username=ben chown_uploads_mode=0644
-
最大上传速度
dd if=/dev/zero of=/tmp/file bs=1M count=1000 ## 生成试验文件/tmp/file #####配置文件中加入##### anon_max_rate=102400 ## 最大上传速率限制100kb左右
本地用户ftp设置
同在/etc/vsftpd/vsftpd.conf配置文件中设定
local_enable=YES|NO ##本地用户登陆限制
write_enable=YES|NO ##本地用户写权限限制
local_root=/directory ## 修改本地用户家目录位置
local_umask=xxx ## 本地用户上传文件权限
chroot_local_user=YES ## 限制本地用户浏览,锁定在自己家目录中
chmod u-w /home/*
#####设定基本等同于上面匿名用户使用设定,就不做过多介绍#####
用户黑白名单设定
-
ftpusers
/etc/vsftpd/ftpusers 注意 ## ftpusers不受任何配置影响,始终有效的黑名单
-
user_list 临时黑名单
#####/etc/vsftpd/vsftpd.conf配置文件中##### #当且仅当userlist_enable=YES时 , userlist_deny项才生效 userlist_enable=YES , userlist_deny=YES时 , user_list是黑名单,所有出现的用户拒绝登入 userlist_enable=YES , userlist_deny=NO时 , user_list是白名单,仅出现的用户允许登入,其他都拒绝登入