ftp的定义
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载” (Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至 远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
部署ftp服务
部署ftp服务需要五个步骤:
第一步:安装服务软件
yum install vsftpd -y
第二步:启动服务
systemctl start vsftpd
第三步:设置开机自启动
systemctl enable vsftpd
查看服务状态
第四步:配置火墙,将ftp设置为火墙允许的服务中
firewall-cmd --permanent --add-service=ftp firewall-cmd --reload
第五步: 编辑/etc/sysconfig/selinux文件,将SETLINUX设置为disabled,重启
重启之后,执行getenforce命令查看
测试服务:用真机172.25.254.60去链接172.25.254.166
2:编辑/etc/vsftpd/vsftpd.conf配置文件,对ftp服务权限进行修改
匿名用户设定
1.匿名用户登录
anonymous_enable=YES
此时匿名登录允许
2.匿名用户上传
write_enable=YES anon_upload_enable=YES
修改文件权限
chgrp ftp /var/ftp/pub chmod 775 /var/ftp/pub
上传/etc/passwd文件
3.匿名用户家目录修改
anon_root=/direcotry
链接后用户家目录更改为/test
4.匿名用户上传文件默认权限修改
anon_umask=077
5.匿名用户建立目录
anon_mkdir_write_enable=YES
6.匿名用户删除
anon_other_write_enable=YES|NO
重启vsftp服务,执行删除
7.匿名用户下载
anon_world_readable_only=YES|NO ##设定参数值为no ,表示匿名用户可以下载
下载文件file到当前目录
8.匿名用户使用的用户身份修改
chown_uploads=YES chown_username=lee chown_upload_mode=0644
重启服务后,上传文件的所有者身份改变
9.最大上传速率
anon_max_rate=102400
10.最大链接数
max_client=2
注意:如果有两个客户端链接ftp服务端,第三个客户端要等待两个中的其中一个下线之后才能登录
本地用户设定
1.本地用户登录
local_enable=YES ##本地用户是否可以登录
若将YES改为NO ,则登录失败
2.本地用户家目录修改
local_root=/directory
3.限制本地用户登录
vim /etc/vsftpd/ftpusers ##用户黑名单 vim /etc/vsftpd/user_list ##用户临时黑名单
用户白名单设定
将westos用户添加在临时黑名单中,并更改设定“userlist_deny=NO”
userlist_deny=NO
注意:参数设定, /etc/vsftpd/user_list文件变成用户白名单,只有在名单中的用户可以登录ftp
登录测试:
#ftp虚拟用户的设定 vim /etc/vsftpd/westos ##文件名称任意 user1 123 user2 123
db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db
vim /etc/pam.d/westos ##文件名称任意 account required pam_userdb.so db=/etc/vsftpd/westos auth required pam_userdb.so db=/etc/vsftpd/westos
vim /etc/vsftpd/vsftpd.conf pam_service_name=westos guest_enable=YES
虚拟用户身份设定 guest_username=westos
虚拟用户家目录独立设定 vim /etc/vsftpd/vsftpd.conf local_root=/ftphome/USERusersubtoken=
USERusersubtoken=USER
mkdir -p /ftphome/user1/user1dir mkdir -p /ftphome/user2/user1dir
虚拟用户独立配置 chgrp ftp /ftphome -R chmod 775 /ftphome/user1/user1dir chmod 775 /ftphome/user2/user2dir
vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/userconf mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/user1 举例:anon_upload_enable=YES