作者:SXPCrazy
来自:http://SXPCrazy.com http://www.linuxsir.org
提要:一个介绍 vsftpd 服务器基本配置,并且通过 pam_mysql 认证模块使用 mysql 数据库作为用户登录验证的 FTP 方案。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一、准备工作;
本人主要介绍 vsftpd 和 pam_mysql 的配置,所以不准备介绍如何安装,具体需要安装的包有:
vsftpd
pam
pam_mysql
mysql-server
mysql
vsftpd 是我们所要使用的 FTP 服务器程序。
pam 一个提供用户密码认证检查的程序,很多 Linux 下面的用户登录认证都可以使用他来完成。
pam_mysql 是 pam 的 mysql 验证方式的模块。
mysql-server MySQL 服务器程序
mysql 客户端控制台连接程序
以上包可以通过 yum 或者 apt-get 安装,也可以通过 rpm 或者 源代码编译安装,这些软件的使用请参见:
《Fedora / Redhat 软件包管理指南》
安装好以后可以使用 rpm 来看看到底装到哪里了,配置文件在什么地方:
[root@dreammaker ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd.log
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
重要:在这里我们还需要知道机器是否安装了 SELinux,如果安装了,配置是什么样的。
使用如下代码:
[root@dreammaker ~]# rpm -qa | grep selinux
libselinux-1.23.10-2
selinux-policy-targeted-1.23.16-6
如果没有返回任何结果,代表没有安装 SELinux,如果返回了类似上面的结果,则说明系统安装了 SELinux,那我们需要知道他是如何配置的,以什么方式运行的。
[root@dreammaker ~]# more /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
上面的返回结果中,SELINUX 的三个值的意思分别是:
disabled 完全禁止 SELinux 的功能
permissive 使用 SELinux 的策略文件验证操作,当操作不被允许的时候发出警告,但允许继续执行操作而不阻止操作进行。适合不知道使用 SELinux 会对系统造成什么影响的人使用。
enforcing 使用 SELinux 的策略文件验证操作,当操作不被允许的时候直接禁止操作执行。
SELINUXTYPE 的两个值的含义是:
targeted 只会对特定的限制级的域下面启动的进程进行策略检查,而对于无限制的域下面运行的进程是不检查策略文件的。
strict 将会对所有进程进行策略检查,被设计用来对于不同安全级别的域进行更好的策略控制,可以建立多级的分层策略控制。
本文不准备详细介绍 SELinux 的其他知识,相关文档可以查阅 http://www.nsa.gov/selinux/
如果 SELINUX 被设置为 disable 或者 permissive 方式,则我们可以不用管下面的 SELinux 设置部分,否则请注意看下面的 SELinux 部分的提示。
今天先写到这里,未完成作品请不要聚合!