期盼死亡的小丑 发表于 2015-5-29 13:27:32

OpenSUSE11实现pam_mysql对FTP认证管理

  试过RedHat Linux 4、5下的实现pam_mysql对FTP认证管理,也可以进行但登录、传文件很慢。

  后来转在 OpenSUSE11下就没有这个问题。

  以下大概的配置文档

  
  
  
  
   auth    requiredpam_mysql.so config_file=/etc/security/pam_mysql.conf

  vi /etc/pam.d/vsftpd.mysql

   account requiredpam_mysql.so config_file=/etc/security/pam_mysql.conf
  vi /etc/security/pam_mysql.conf
users.host=localhost
users.database=vsftpd
users.db_user=vsftpd
users.db_passwd=123456
users.table=users
users.user_column=name
users.password_column=passwd
users.password_crypt=2
verbose=1
log.enabled=1
log.table=logs
log.message_column=msg
log.pid_column=pid
log.user_column=user
log.host_column=host
log.rhost_column=rhost
log.time_column=logtime
  建立/etc/vsftpd/vsftpd.mysql.conf(同样,不影响已有的vsftpd服务,执行service vsftpd restart时会启动两个vsftpd服务,端口不一样)
主要的设置如下:
vi /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
  xferlog_file=/var/log/vsftpd.log
  ftpd_banner= Welcome to cnblog, thank you.
listen=YES
userlist_enable=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
tcp_wrappers=YES
max_clients=1000
max_per_ip=58
listen_port=21
pasv_enable=YES
pasv_min_port=56000
pasv_max_port=58999
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
anonymous_enable=no
pam_service_name=vsftpd.mysql
user_config_dir=/etc/ vsftpd_user_conf
hide_ids=YES


  ssl_enable=YES
ssl_tlsv1=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
force_local_data_ssl=NO
force_local_logins_ssl=NO
  建立日志目录:
  mkdir /var/log/ftp
  重新启动vsftpd
/etc/init.d/vsftpd restart
  创建虚拟用户
VSFTPD采用PAM方式验证虚拟用户。由于虚拟用户的用户名/口令被单独保存,因此在验证时,VSFTPD需要用一个系统用户的身份来读取数据库文件 或数据库服务器以完成验证,这就是VSFTPD的guest用户。这正如同匿名用户也需要有一个系统用户ftp一样。我们也可以把guest用户看成是虚 拟用户在系统中的代表。下面在系统中添加vsftpdguest用户,作为VSFTPD的guest。
useradd vsftpdguest
当虚拟用户登录后,所在的位置为vsftpdguest的自家目录/home/vsftpdguest。如果要让虚拟用户登录到/var/ftp等其他目录,修改vsftpdguest的自家目录即可。
无论是哪个虚拟用户,登录后所在的目录都是/home/vsftpdguest。
  虚拟用户的个人目录:
mkdir -p /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
vi veryi
local_root=/usr/local/www
  修改目录权限:
chown -R vsftpdguest.vsftpdguest /usr/local/www
页: [1]
查看完整版本: OpenSUSE11实现pam_mysql对FTP认证管理