查看配置文件
vsftpd是一个认证文件,意味着ftp是通过vsftpd这个认证文件来对我们输入的用户名和密码进行认证的,那么这个认证文件在哪里呢?
所在位置如下:
查看文件配置内容
默认通过系统来验证,但现在我们欲做一个类似如下的数据库
通过我们做的数据库文件来对用户的登录做验证,因此我们要去ftp配置文件中修改认证文件
pam_service_name=vsftpd.vu (手动配置vsftpd.vu的认证文件,保存位置:/etc/pam.d/vsftpd.vu)
由于指定的保存位置/etc/pam.d/vsftpd.vu并不存在,故
但现在并没有前面图中提到的数据库1.txt,故
此时我们需要将该文件转化成一个数据库文件,故需要借助到一个工具db_load
默认的情况下系统是没有这个工具的
yum install pam* libdb-utils libdb* --skip-broken -y
通过db_load生成数据库文件
db_load -T -t hash -f ./1.txt /etc/vsftpd/vsftp_login.db
-t:指向一个文件
hash:通过哈希算法
成功生成对应的数据库文件
再次检查它们指向的数据库文件是同一个
为了保证数据库的安全,修改数据库权限为600
chmod 600 /etc/vsftpd/vsftp_login.db
此刻数据库和认证文件都已经配置好。
此时需在配置文件中添加如下语句指定虚拟用户,使所有登录的用户映射成ftpuser去访问。
映射用户ftpuser的特点:所有用户访问都会以ftpuser的身份访问FTP,默认访问的目录是ftpuser的主目录,并具有所有权限,也可以切换到其他目录。
guest_enable=YES 开启系统虚拟用户访问
guest_username=ftpuser 指定系统虚拟用户
删除掉之前指定的文件夹:
然后在此位置添加上如下语句,使虚拟用户和映射用户的权限一致:
virtual_use_local_privs=YES 虚拟用户与映射用户的权限是否一致,默认为NO
新开窗口验证创建的文件夹
将配置文件中的choor_local_user=YES改成choor_local_user=NO即可使映射的用户可以切换目录了
但是为了让用户只能访问自己的文件夹,不越权访问,需做以下操作:
以每个虚拟用户自己的名字来创建各自能访问的文件夹
插入以下内容
插入以下内容
验证配置的功能
vsftpd日志管理
Vsftp软件搭建的FTP服务器的日志文件的配置,在/etc/vsftpd.conf中找到:
xferlog_enable=YES 开启FTP服务器记录上传下载的情况
xferlog_std_format=YES 日志格式
xferlog_file=路径 指定日志文件,默认为:/var/log/xferlog