超详细linux vsftpd配置大全文档

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FTP服务的配置

ftp服务器的软件——vsftpd,其全称是“Very Secure FTP Daemon”。Vsftpd的配置文件在/etc/vsftpd/目录下

1 ftpusers PAM模块 /etc/pam.d/vsftpd 所指定的那个无法登录的用户配置文件。

2 user_list 默认的情况下,写在这个文件里帐号都不允许登录vsftpd,它能否生效与vsftpd.conf中的参数userlist_enable 、userlist_deny有关。

本地用户管理:

1)selinux布尔值ftp_home_dir 改为on,

setsebool -P ftp_home_dir on

2)配置文件vsftpd.conf中的local_enable=YES,即默认设置

此时,这些实体用户能可以离开他们默认的目录即/home/~,如果需要将实体用户限制在他们的默认目录下,不允许他们到其他目录需要进行一下设置:

Chroot_local_user=NO,(默认此行被注释,即不启动),修改这行下面的参数

Chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list,然后

在/etc/vsftpd/目录下创建chroot_list文件,将需要限制离开默认目录的实体用户的名字写进去。

修改user_list_enable=YES user_deny=YES,则可将不允许登录的用户写入/vsftpd目录下的user_list。

实体用户能上传、下载、删除默认目录下的文件。

修改默认发布目录

1)建立发布目录。mkdir -p /share/doc

2)修改发布目录权限、属主和selinux安全上下文。

chmod 775 /share

chown root.ftp /share/doc

chcon –t public_content_rw_t /share/doc

3)修改配置文件vsftpd.conf,加一行anon_root=/share

匿名用户相关的配置:

能上传文件

1) selinux布尔值allow_ftpd_anon_write改为on,

setsebool -P allow_ftpd_anon_write on ;

2 ) 将pub目录的安全上下文改为public_content_rw_t;

3)修改pub的所属用户为root,所属组为ftp,权限为775(上传上的文件的权限所属主和组都是ftp)。

4 ) 修改配置文件vsftpd.conf中的write_enable=YES;

5 )修改配置文件vsftpd.conf中的anon_upload_enable=YES,

能创建目录

前四条想相同,5)修改vsftpd.conf中的anon_mkdir_write_enable=YES。能下载

前四条同上,5)anon_world_readable_only=YES(只要ftp用户在系统中具有读权限,就可以下载文件,即允许anonymous具有下载可读文件的权限)

能删除重命名文件

前四条同上,5)修改vsftpd.conf中的anon_other_write_enable=YES。

虚拟用户

vsftpd中的用户有三种形式。第一种是匿名,其权限对应系统中名为ftp的用户。第二种是本地用户,也就是系统中建立的用户,用户名和密码存放在/etc/passwd文件中。第三种是虚拟用户,一般情况下是不能在系统中登录的。

说说它的优点:首先,虚拟用户是ftp专有用户,使用虚拟用户登录

ftp只能访问ftp服务器提供的资源。大大增强了系统的安全,即这些用户并不在ftp服务器本地存在(不能用这些用户名登录到服务器中,而只能登录到ftp)。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。最后,虚拟用户的帐号权限设置更加方便,存储位置也可以灵活多样,便于与其他系统的集成。实现方式有两种:本地数据文件和数据库服务器。

PAM(plugable authentication module,可插拔认证模块)是一种完成通用认证功能的程序,它可以被其他程序调用,是vsftpd支持的一种认证方式。当使用PAM时,程序不需要重新编译,只需要通过编辑一个配置文件来决定认证模块如何插入到程序之中。下面以PAM认证为例,介绍vsftpd虚拟用户的配置方法:

步骤如下:

1. 建立虚拟用户口令文件;

2. 生成vsftpd的认证文件;

3. 建立虚拟用户所需的PAM配置文件;

4. 创建虚拟用户帐号映射的系统帐号;

5. 修改vsftpd.conf配置文件;

6. 设置虚拟用户的权限。

1)建立虚拟用户口令文件。在/etc/vsftpd目录中创建文件users,里面单数行为虚拟帐号名,双数行为上一行的密码,如:

user1

123

user2

456

2) 生成虚拟账户数据库,安装数据库yum install db4-utils,

在/etc/vsftpd目录中执行db_load –T -t hash –f users

login.db 生成本地口令认证文件login.db

3)然后编辑/etc/pam.d/virtual文件,内容如下:

auth required pam_userdb.so db=/etc/vsftpd/users account required pam_userdb.so db=/etc/vsftpd/users

4)建立所有ftp虚拟用户帐号映射的操作系统帐号,并设置该帐号工作目录的权限, useradd -d /home/vftp –s /sbin/login vftp chmod 700 /home/vftp

也可以指定为系统中已有的ftp用户,这种情况下,其账户目录必须

在/var/ftp目录下。

5) 在vsftpd.conf中,加入guest_enable=YES,guest_username=vftp 两行,修改pam_service_name=virtual,virtual为vsftd与pam进行对接的配置文件。

6)设置虚拟用户的权限

在vsftpd.conf中加入使用virtual_use_localprivs=YES配置,其功能是使虚拟用户的权限与操作系统中所对应用户的权限(虚拟用户映射的用户如vftp)的权限一样,这样可以通过设置本地用户权限来决定虚拟用户的权限。如果不加此参数,虚拟用户能上传文件到自己的家目

录/home/vftp,但是不能查看目录中的内容,加上此参数和实体用户差不多。

如果要求多个虚拟用户具有不同的权限,则要在vsftpd.conf中加入一行,指定放置用户配置文件的目录是/etc/vsftpd,

user_config_dir=/etc/vsftpd。

接着,在/etc/vsftpd目录下建立文件名为虚拟用户名的配置文件,并根据要求编辑不同的文件。例如:

vim /etc/vsftpd/user1

local_root=/home/virtual/user1

vim /etc/vsftpd/user2

local_root=/home/virtual/user2

write_enable=YES #服务器解手与写有关的控制

anon_upload_enable=YES

anon_mkdir_write_enable=YES

相关文档
最新文档