配置FTP虚拟登录

来源:互联网 发布:10大网络恐怖推理图 编辑:程序博客网 时间:2024/05/29 18:19

概述

本次FTP服务器的搭建,使用的是虚拟用户登录的方式。

配置步骤

1、检查安装vsftpd软件

使用如下命令

rpm -qa |grep vsftpd

检测出是否安装了vsftpd软件,如果没有安装,使用YUM命令进行安装

yum install vsftpd -y

2、添加虚拟用户口令文件

vsftpd默认的安装路径是:/etc/vsftpd/
执行命令

vi /etc/vsftpd/vsftpdUsers.txt

ftpshare
**

奇数行表示用户名,偶数行表示密码

3、生成虚拟用户口令认证文件

安装db4-utils

yum -y install db4-utils

生成虚拟数据库

db_load -T -t hash -f /etc/vsftpd/vsftpdUsers.txt /etc/vsftpd/vsftpdUsers.db

设置数据库文件的访问权限

chmod 600 vftpuser.db

4、编辑vsftpd的PAM认证文件

我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的语句pam_service_name=vsftpd来启动

vi /etc/pam.d/vsftpd

将原文注释掉,将以下内容添加到原文中
#64位系统配置
auth required pam_userdb.so db=/etc/vsftpd/vsftpdUsers
account required pam_userdb.so db=/etc/vsftpd/vsftpdUsers
#32位系统配置
auth sufficient pam_userdb.so db=/etc/vsftpd/vsftpdUsers
account sufficient pam_userdb.so db=/etc/vsftpd/vsftpdUsers

5、建立本地映射用户并设置宿主目录权限

添加用户名为ftpshare,并且不允许登录系统,默认登录成功显示路径为/data/FTPData/ftpshare/,也可在文件自己的配置文件中添加

useradd -M -d /data/FTPData/ftpshare/ -s /sbin/nologin/ ftpshare

对宿主目录设置权限,因为共享所以设置成777

chmod -R 777 /data/FTPData/ftpshare

6、配置/etc/vsftpd/vsftpd.conf
vsftpd.conf是vsftpd的主配置文件,相当于所有用户共享的配置文件,或者说是所有用户的基础文件。

 vim /etc/vsftp/vsftpd.conf

#将原文全部注释掉,将以下内容添加到原文中,语句后面不能出现空格
anonymous_enable=NO
#等于NO时,禁止匿名登陆
local_enable=YES
#等于YES时,允许非匿名登录(包括虚拟用户登录)
listen=YES
#必须有这个选项且等YES时,才能用/etc/init.d/vsftpd start这个命令启动VSFTPD服务
chroot_local_user=YES
#必须有这个选项且等于YES,否则vsftpd的用户将可以访问Linux系统的根目录;等于YES时,就限制用户在其宿主目录内
pam_service_name=vsftpd
#vsftpd 将要使用的PAM服务名称,也就是这个命令:vi /etc/pam.d/vsftpd 里面的文件名vsftpd
user_config_dir=/etc/vsftpd/user_conf/
#虚拟用户的配置文件存放在这里,需自己创建这个文件夹;而且目录路径结束一定要加/
max_clients=300
#设置FTP最大接入的客户端数为300个
max_per_ip=10
#设置每个IP地址最大连接数为10

7、建立各个用户自身的配置文件

创建虚拟用户的配置文件夹目录

mkdir vsftpd_user_conf

创建虚拟用户ftpshare的配置文件,配置文件名一定要跟vsftpdUsers.txt、useradd的用户名相同

vi /etc/vsftpd/user_conf/ftpshare

guest_enable=YES
#等于YES时,开启虚拟帐号登录
guest_username=ftpshare
#设置ftp对应的Linux系统帐号为ftpshare,用useradd命令创建的,在/etc/passwd里可以看到的
anon_world_readable_only=NO
#等于YES时,仅允许匿名具有下载可读档案的权限;等于NO时,所有用户(系统和虚拟用户)都具有下载可读档案的权限。
write_enable=YES
#允许文件系统可写
anon_mkdir_write_enable=YES
#允许创建文件夹
anon_upload_enable=YES
#开启上传功能
anon_other_write_enable=YES
#允许其他权限比如重命令、删除文件及文件
user_sub_token=USERlocalroot=/data/FTPData/USER
#设置用户登录成功后显示的## 标题 ##路径,注意loot_root里的路径是用户显示路径的上一层路径

8、使用vsftpd软件,启动vsftpd服务

service vsftpd start

#启动ftp命令

service vsftpd stop

#停止ftp命令

service vsftpd restart

#重启ftp命