当前位置:文档之家› Linux下vsftp配置笔记!!!

Linux下vsftp配置笔记!!!

这些咚咚只是我在看书时记录下来的一些简单的配置命令和说明,有些地方也许写的不是很详细,大家可以在参考其他资料来学习!1.vsftpd 服务软件包vsftpd-2.0.5-10.el5.i386.rpm:vsftpd 主程序包2.vsftpd 相关文档/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd 操作的一些变量和设置脚本/var/ftp/:默认情况下匿名用户的根目录(1)配置vsftpd.conf 主配置文件(服务器配置支持上传)允许匿名用户访问anonymous_enable=YES允许匿名用户上传文件并可以创建目录anon_upload_enable=YESanon_mkdir_write_enable=YES大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。

切记!切记!!2FTP 常规配置应用案例:需求:公司内部现在有一台FTP和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等哈~公司现有两个部门负责维护任务,他们分别适用team1和team2帐号进行管理。

先要求仅允许team1和team2 帐号登录FTP 服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。

分析:将FTP和WEB服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。

其次使用chroot 功能将team1和team2 锁定在/var/www/html目录下。

如果需要删除文件则还需要注意本地权限~解决方案:(1)建立维护网站内容的ftp 帐号team1 和team2 并禁止本地登录,然后设置其密码useradd -s /sbin/nologin 用户名(2)配置vsftpd.conf 主配置文件并作相应修改vim /etc/vsftpd/vsftpd.confanonymous_enable=NO:禁止匿名用户登录local_enable=YES:允许本地用户登录local_root=/var/www/html:设置本地用户的根目录为/var/www/htmlchroot_list_enable=YES:激chroot 功能chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件(3)建立/etc/vsftpd/chroot_list 文件,添加team1 和team2 帐号touch /etc/vsftpd/chroot_list (6)修改本地权限chmod -R o+w /var/www/html(7)测试3企业环境公司为了宣传最新的产品信息,计划搭建FTP服务器,为客户提供相关文档的下载。

对所有权互联网开放共享目录,允许下载产品信息,禁止上传。

公司的合作单位能够使用FTP 服务器进行上传和下载,但不可以删除数据。

并且保证服务器的稳定性,进行适当优化设置哈~ 需求分析根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要实现用户的审核。

需考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。

为了保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。

解决方案1、创建用户数据库(1)创建用户文本文件先建立用户文本文件vsftpd_virtualuser.txt,添加两个虚拟帐号,公共帐号ftp 及客户帐号vip touch /etc/vsftpd/vsftpd_virtualuser.txtvim /etc/vsftpd/vsftpd_virtualuser.txt格式:虚拟帐号1密码虚拟帐号2密码(2)生成数据库保存虚拟帐号和密码的文本文件无法被系统帐号直接调用哈~我们需要使用db_load命令生成db数据库文件db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt/etc/vsftpd/vsftpd_virtualuser.db注意:rhel5 默认只安装db4-4.3.29-9.fc6.i386.rpm 和db4-devel-4.3.29-9.fc6.i386.rpm,要使用db_load 需要将db4-utils-4.3.29-9.fc6.i386.rpm 包安装上哈~否则会出现下图的错误:找不到db_load 命令。

(3)修改数据库文件访问权限数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取哈,我们可以修改该文件的访问权限。

生成的认证文件的权限应设置为只对root 用户可读可写,即600chmod 600 /etc/vsftpd/vsftpd_virtualuser2、配置PAM 文件为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块.PAM(Plugable Authentication Module)为可插拔认证模块,不必重新安装应用系统,通过修改指定的配置文件,调整对该程序的认证方式。

PAM模块配置文件路径为/etc/pam.d/目录,此目录下保存着大量与认证有关的配置文件,并以服务名称命名。

修改vsftpd对应的PAM 配置文件/etc/pam.d/vsftpd,将默认配置使用“#”全部注释,添加相应字段。

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_virtualuserAccoutrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_virtualuser3、创建虚拟帐号对应的系统用户对于公共帐号和客户帐号,因为需要配置不同的权限,所以可以将两个帐号的目录进行隔离,控制用户的文件访问。

公共帐号ftp 对应系统帐号ftpuser,并指定其主目录为/var/ftp/share,而客户帐号vip 对应系统帐号ftpvip,指定主目录为/var/ftp/vipchmod -R 500 /var/ftp/share/ :公共帐号ftp只允许下载,修改share目录其他用户权限为rx 可读可执行。

chmod -R 700 /var/ftp/vip/ :客户帐号vip允许上传和下载,所以对vip 目录权限设置为rwx,可读可写可执行。

Useradd -d /var/ftp/share/ftpuserUseradd -d /var/ftp/vip/ftpvipChmod -R 500 /var/ftp/shareChmod -R 700 /var/ftp/vip4、建立配置文件设置多个虚拟帐号的不同权限,若使用一个配置文件无法实现此功能,需要为每个虚拟帐号建立独立的配置文件,并根据需要进行相应的设置。

(1)修改vsftpd.conf 主配置文件配置主配置文件/etc/vsftpd/vsftpd.conf添加虚拟帐号的共同设置并添加user_config_dir字段,定义虚拟帐号的配置文件目录禁用匿名用户登录并启用本地用户登录设置anonymous_enable=NOlocal_enable=YES将所有本地用户限制在家目录中,NO 则不限制chroot_local_user=YESpam_service_name=vsftpd:配置vsftpd 使用的PAM 模块为vsftpduser_config_dir=/etc/vsftpd/vuserconfig:设置虚拟帐号的主目录为/vuserconfigmax_clients=300:设置FTP 服务器最大接入客户端数为300 个max_per_ip=10:设置每个IP 地址最大连接数为10个(2)建立虚拟帐号配置文件在user_config_dir 指定路径下,建立与虚拟帐号同名的配置文件并添加相应的配置字段首先建立公共帐号ftp、以及vip的配置文件Mkdir /etc/vsftpd/vuserconfigTouch /etc/vsftpd/vuserconfig/ftpTouch /etc/vsftpd/vuserconfig/vipVi /etc/vsftpd /vuserconfig/ftp: #在此文件下写入以下内容guest_enable=yes:开启虚拟帐号登录guest_username=ftpuser:设置ftp 对应的系统帐号为ftpuseranon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统anon_max_rate=50000:限定传输速率为50KB/s注意:vsftpd 对于文件传输速度限制并不是绝对锁定在一个数值上哈,而是在80%~120%之间变化比如设置100KB/s 则实际是速度在80KB/s~120KB/s 之间变化下面是客户帐号vip的配置文件:#将这些写入/etc/vsftpd/vuserconfig/vip下guest_enable=yes:开启虚拟帐号登录guest_username=ftpvip:设置ftp 对应的系统帐号为ftpvipanon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统write_enable=yes:允许在文件系统写入权限anon_mkdir_write_enable=yes:允许创建文件夹anon_upload_enable=yes:开启匿名帐号的上传功能anon_max_rate=100000:限定传输速度为100KB/s5、重启vsftpd 使配置生效6、测试(1)公共帐号ftp 测试二1、安装相应软件yum install vsftpd db-utils -y2、建虚拟用户密码格试如行vi /root/pwd.txtquyou1quyoupasswd1quyou2quyoupasswd2quyou3quyoupasswd3格试第一行为用户名,第二行为密码生成数据库文件,db_load -T -t hash -f /root/pwd.txt /etc/vsftpd/vsftpd_login.dbchmod 600 /etc/vsftpd/vsftpd_login.db配置PAM文件cd /etc/pam.d/cp vsftpd vsftpd.bak>vsftpdvi vsftpdauth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login新建FTP用户的真实用户名useradd quyougame -d /home/quyougame -s /sbin/nologin3、修改配置文件cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bakvi /etc/vsftpd/vsftpd.confanonymous_enable=NOlocal_enable=YES#write_enable=NOdirmessage_enable=YESxferlog_enable=YESxferlog_file=/var/log/vsftpd.logconnect_from_port_20=YESxferlog_std_format=YESlisten=YESlisten_port=21userlist_enable=YESchroot_local_user=YEStcp_wrappers=YESguest_enable=YESguest_username=quyougamepam_service_name=vsftpduser_config_dir=/etc/vsftpd/vsftpd_user_conf virtual_use_local_privs=YESpasv_min_port=50000pasv_max_port=50010pasv_enable=yesmax_clients=200max_per_ip=4idle_session_timeout=600ftpd_banner=Welcome to QuyouGame ftp service. touch /var/log/vsftpd.log4、建立虚拟用户配置mkdir -p /etc/vsftpd/vsftpd_user_confquyou1主目录所有权限vi /etc/vsftpd/vsftpd_user_conf/quyou1write_enable=YESanonymous_enable=NOanon_world_readable_only=NOanon_upload_enable=YESlocal_umask=022download_enable=Yeslocal_root=/home/quyougamequyou2主目录上传权限vi /etc/vsftpd/vsftpd_user_conf/quyou2write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESlocal_umask=022download_enable=NOlocal_root=/home/quyougamequyou3主目录只能下载vi /etc/vsftpd/vsftpd_user_conf/quyou3write_enable=NOanon_world_readable_only=NOanon_upload_enable=NOlocal_umask=022download_enable=yeslocal_root=/home/quyougame配置好后,启动服务service vsftpd startvsftpd对配置文件要求非常的高,如果配置文件后面出现空格,会出现500 OOPS: bad bool value in config file for:的错误信息!。

相关主题