[if !supportLists]1、[endif]配置ftp服务器
1.1、安装vsftpd服务
安装成功
1.2、清除防火墙规则链
1.3、设置SELinux临时失效
1.4、清除/etc/vsftpd/vsftpd.conf中的配置文件
1.4.1、将原配置文件进行备份
1.4.2、使用grep筛选出无注释的内容重定向输出到vsftpd.conf配置文件中
1.4.3、查看当前配置文件如下:
[if !supportLists]2、[endif]配置不同用户登录模式
2.1、配置匿名登录模式
Vsftpd服务启动后,默认可以使用anonymous匿名登录,但是没有其他的操作权限,需要进行配置。
2.1.1、修改/etc/vsftpd/vsftpd.conf配置文件,配置匿名用户配置项。
2.1.2、修改后配置文件如下:
2.1.3、修该ftp目录的属主为ftp用户
2.1.4、启动vsftpd服务
2.1.5、linux客户端登陆测试
2.1.5.1、在客户端安装ftp命令
2.1.5.2、使用ftp命令登陆ftp服务器:ftp 服务器地址
2.1.5.3、测试ftp
2.1.6、window连接ftp
2.1.6.1、在资源管理器或浏览器地址栏输入ftp地址
2.1.6.2、成功访问ftp服务器
2.2、配置本地用户登录模式
2.2.1、本地用户local_enable默认为YES,默认可以使用ftp服务器本地用户进行登录,可以禁止匿名用户登录,只允许本地用户登录,修改配置文件如下:
2.2.2、重启vsftpd服务
2.2.3、客户端测试连接
查看用户列表文件,存在root用户,禁止登录
修改配置文件,使用户列表文件中的用户成为允许登录用户,不存在于用户列表文件的用户将无法登录ftp服务器
teacher用户不在用户列表中将禁止登录
修改/etc/vsftpd/user_list文件,添加teacher用户
重新使用teacher登录,登录成功
2.3、配置虚拟用户模式
Vsftpd虚拟用户原理:虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证,虚拟用户不能登录Linux系统,从而让系统更加的安全可靠。
2.3.1、创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt,新建虚拟用户和密码,其中奇数行为用户名,偶数行为密码:
2.3.2、生成Vsftpd虚拟用户数据库认证文件,设置权限777
2.3.3、删除用户文本文件
2.3.4、配置PAM认证文件,/etc/pam.d/vsftpd
添加如下内容并将原文件内容注释
auth required pam_userdb.so db=/etc/vsftpd/ftpusers
account required pam_userdb.so db=/etc/vsftpd/ftpusers
2.3.5、新建系统用户,将所有Vsftpd虚拟用户映射到该系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用
2.3.6、修改/etc/vsftpd/vsftpd.conf,配置虚拟用户配置项
2.3.7、创建虚拟用户配置文件目录
2.3.8、创建各虚拟用户的配置文件
配置内容如下:
2.3.9、创建虚拟用户目录
2.3.10、设置虚拟用户目录权限
2.3.11、重启vsftpd服务
2.3.12、测试登陆成功
[if !supportLists]3、[endif]附录
3.1、vsftpd默认配置文件
anonymous_enable=YES 开启匿名用户访问;
local_enable=YES 启用本地系统用户访问;
write_enable=YES 本地系统用户写入权限;
local_umask=022 本地用户创建文件及目录默认权限掩码;
dirmessage_enable=YES 打印目录显示信息,通常用于用户第一次访问目录时,信息提示;
xferlog_enable=YES 启用上传/下载日志记录;
connect_from_port_20=YES FTP使用20端口进行数据传输;
xferlog_std_format=YES 日志文件将根据xferlog的标准格式写入;
listen=NO Vsftpd不以独立的服务启动,通过Xinetd服务管理,建议改成YES;
listen_ipv6=YES 启用IPV6监听;
pam_service_name=vsftpd 登录FTP服务器,依据/etc/pam.d/vsftpd中内容进行认证;
userlist_enable=YES vsftpd.user_list和ftpusers配置文件里用户禁止访问FTP;
tcp_wrappers=YES 设置vsftpd与tcp wrapper结合进行主机的访问控制,Vsftpd服务器检查/etc/hosts.allow 和/etc/hosts.deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。
3.2、vsftpd常用配置
listen=[YES|NO]是否以独立运行的方式监听服务。
listen_address=IP地址设置要监听的IP地址。
listen_port=21设置FTP服务的监听端口。
download_enable=[YES|NO]是否允许下载文件。
userlist_enable=[YES|NO]userlist_deny=[YES|NO]是否启用“禁止登陆用户名单”。
max_clients=0最大客户端连接数,0为不限制。
max_per_ip=0同一IP地址最大连接数,0位不限制。
anonymous_enable=[YES|NO]是否允许匿名用户访问。
anon_upload_enable=[YES|NO]是否允许匿名用户上传文件。
anon_umask=022匿名用户上传文件的umask值。
anon_root=/var/ftp匿名用户的FTP根目录。
anon_mkdir_write_enable=[YES|NO]是否允许匿名用户创建目录。
anon_other_write_enable=[YES|NO]是否开放匿名用户其他写入权限。
anon_max_rate=0匿名用户最大传输速率(字节),0为不限制。
local_enable=[YES|NO]是否允许本地用户登陆FTP。
local_umask=022本地用户上传文件的umask值。
local_root=/var/ftp本地用户的FTP根目录。
chroot_local_user=[YES|NO]是否将用户权限禁锢在FTP目录,更加的安全。
local_max_rate=0本地用户最大传输速率(字节),0为不限制。