一、FTP服务器简介
FTP(File Transfer Protocol):文件传输协议,是一个客户机/服务器系统。使用FTP的用户需要经过验证后才能登录,FTP服务器的用户可分成3类。
系统用户:即系统本机的用户。Linux一般不会针对实体用户进行限制,因此实体用户可以针对整个文件系统进行工作。但通常不希望他们通过FTP方式远程访问系统。
虚拟用户:只能采用FTP方式使用系统的用户,不能直接使用Shell登录系统,即虚拟用户,访问服务器时需要验证。大多数FTP用户是这类用户。
匿名用户:对于公共性质的服务器可以提供匿名用户访问,用户名:anonymous。但在使用匿名用户时,应对其进行尽可能多的限制,权限较低,如:同时连接的用户数量受限,访问的文件数目受限,不能上传文件,允许操作的指令较少,设置匿用户同时登入的最大联机数量等。
ftp端口
20、21被动和主动
FTP服务器
二、FTP服务器的安装
1、使用yum安装vsftpd软件包
#yum install vsftpd ftp
2、启动服务并设置开机自启
#systemctl start vsftpd.service
#systemctl enable vsftpd.service
3、设置防火墙与selinux机制
#firewall-cmd –permanent –zone=public –add-service=ftp
#firewall-cmd –reload
#setenforce 0
实验的话可以直接关闭防火墙
三、访问
匿名用户访问
将服务重启后,在客户端测试,此时只有ftpuser用户可以访问ftp
虚拟用户访问
认证文件验证数据库中的虚拟用户,验证成功后以一个系统用户访问ftp
步骤:
1、安装Vsftpd虚拟用户需要用到的软件及认证模块
#yum install pam* libdb-utils libdb* –skip-broken -y
2、创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt,用户名密码格式如下:
techftp
123456
netftp
123456
3、生成Vsftpd虚拟用户数据库认证文件,设置权限为600
#db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftp_login.db
#chmod 600 /etc/vsftpd/vsftp_login.db
4、配置PAM认证文件:vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vsftp_login
account required pam_userdb.so db=/etc/vsftpd/vsftp_login
5、创建一个系统用户,用于虚拟用户映射
#useradd -s /sbin/nologin ftpuser
最终所有虚拟用户验证成功后,都以这个虚拟用户登录访问ftp
但是这个系统用户无法登录Linux
6、修改配置文件:#vim /etc/vsftpd/vsftpd.conf
#pam_service_name=vsftpd
pam_service_name=vsftpd.vu
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
第一行:是指定验证文件是vsftpd,这个是系统的所以要注释掉
第二行:是vsftpd.vu,这个是第4步自己写的验证文件
第三行:允许虚拟用户登录
第四行:虚拟用户验证成功后以哪个系统用户登录(这里指第5步创建的用户)
第五行:每个虚拟用户的配置文件存放的文件夹
第六行:虚拟用户权限问题

7、分别为虚拟用户创建私有的虚拟目录与独立的配置文件
#mkdir /home/ftpuser/techftp
#mkdir /etc/vsftpd/vsftpd_user_conf
#vim techftp
local_root=/home/ftpuser/techftp
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#mkdir /home/ftpuser/netftp
在/etc/vsftpd/vsftpd_user_conf文件夹中
创建每个虚拟用户单独的配置文件
一个虚拟用户一个配置文件,配置文件的名称以虚拟用户用户名命名
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24717 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!