分享

vsftpd安裝配置

 用勿龍潛 2011-08-19
下面介绍下 vsftpd:
我们通过yum直接安装此软件包:
yum -y install vsftpd
会不会很惊奇的发现这个安装包只有140k大小呢!
通过这种方法安装
主程序文件安装在/usr/sbin/vsftpd
配置文件在/etc/vsftpd下
有3个文件:
ftpusers 配置禁止登陆ftp的用户列表
user_list 定义了一些用户列表,这些用户是否可以登录取决于主配置文件的设置
vsftpd.conf 主配置文件这是这个程序的配置文件,所有的设置都在此定义,里面能定义的选项十分多有兴趣的可以自己看看稍微介绍下几个常用的选项(详见百科或其他资料):
  1、默认配置
  anonymous_enable=YES #允许匿名用户访问
  local_enable=YES #允许本地用户访问
  write_enable=YES #具有写权限
  local_umask=022 #本地用户创建文件或目录的掩码
  connect_from_port_20=YES #开启20端口
  2、允许匿名用户具有写权限(上传/创建目录)
  在默认配置下添加以下内容:
  anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  anon_world_readable_only=NO 允许匿名账号写 另外还需具有所有权限的目录
  3、屏蔽本地所有用户浏览其他目录的权限(除了家目录,匿名用户本身只能访问家目录)
  在默认配置下添加以下内容:
  chroot_local_user=YES
  4、屏蔽部分本地用户浏览其他目录的权限
  在默认配置下添加以下内容:
  chroot_local_user=NO
  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd.chroot_list
  另外再创建文件/etc/vsftpd.chroot_list,并添加需要屏蔽的用户。
相关的命令十分简单常用的有以下几个跟其他能被service调用的服务基本相同:
service vsftpd start/stop/restart/reload
下面主要介绍俩个应用:
ssl实现ftp数据传输的安全性具体实现方法:
首先建立CA服务器
# cd /etc/pki/CA
# mkdir certs newcerts crl
# touch index.txt serial
# openssl genrsa 2048 > pricate/cakey.pem
# chmod 600 private/cakey.pem
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
接下来得交互式命令按自己的情况填写
也可以在配置文件/etc/pki/tls/openssl.conf中将有些字段设置为默认值方便给其他服务器***书
如:国家,省,城市,证书有效期等 ,注意其中的一项dir这一项改为自己CA所在目录 dir   =/etc/pki/CA
不多做说明了
这样CA就建设好了接下来我们要给ftp服务器颁发证书具体做法如下:
# cd /etc/vsftpd
# openssl genrsa 1024 > vsftpd.key
# openssl req -new -key vsftpd.key -out vsftpd.csr
交互式命令按自己需求填即可
# openssl ca -in vsftpd.csr -out vsftpd.crt
# vim vsftpd.conf
添加以下几项:
ssl_enable=yes
ssl_tlsv1=yes
ssl_sslv2=yes
ssl_sslv3=yes
allow_anon_ssl=NO
force_local_data_ssl=yes
force_local_logins_ssl=yes
rsa_cer_file=/etc/vsftpd/ssl/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key
# !se
这样就能实现基于ssl的加密了,最好使用FlashFXP等专业的FTP客户端程序做测试,同时可以使用抓包工具看看效果这里就不说了。
 
 
构建基于虚拟用户的vsftpd服务器一共有以下7步(主要得配置是5步):
1.建立虚拟FTP用户的账号数据库文件(注意此处的是数据库文件在下面的操作中有转化的步骤)
2.创建FTP根目录及虚拟用户映射的系统用户
3.建立支持虚拟用户的PAM认证文件
4.在vsftpd.conf文件中添加支持配置
5.为个别虚拟用户建立独立的配置文件
6.重新加载vsftpd配置
7.使用虚拟ftp账户访问测试
 
具体操作如下:
# vim /etc/vsftpd/vusers.list
mike
123
john
456
# cd /etc/vsftpd
下面要将其转换为数据库文件这需要装一个软件包
# yum install -y db4-utils
# db_load -T -t hash -f vusers.list vusers.db
# file vusers.db(查看下这个文件的特点)
# chmod 600 /etc/vsftpd/vusers.*
创建虚拟用户映射的系统用户
# mkdir /var/ftproot(这个不写也可以写了可能会报错)
# useradd -d /var/ftproot -s /sbin/nologin
# chmod 755 /var/ftproot
建立支持虚拟用户的PAM认证文件(s33ca的课程这里只是简单的应用不做说明)
# vim /etc/pam.d/vsftpd.vu
%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
# vim /etc/vsftpd/vsftpd.conf
将之前的ssl配置注释掉以防影响实验结果
添加以下内容:
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
注释掉这一行或将其改为如下行:
anonymous_enable=NO
重启服务就可以做测试了!
 
为个别虚拟用户建立独立的配置文件
这个是对db数据库里的用户做更详细的权限设置的
首先要再主配置文件中开启如下项:
user_config_dir=/etc/vsftpd/vusers_dir
# mkdir /etc/vsftpd/vusers_dir
# cd /etc/vsftpd/vusers_dir
# touch mike john
# vim mike
# vim john
添加你想添加的控制项如:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
具体可以添加那些可以参考主配置文件或其他资料!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多