6.5版 FTP服务器搭建

匿名访问的FTP服务

(一)安装软件包

rpm -ivh /mnt/iso/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm     //安装FTP服务包

(二)修改配置文件

chown ftp /var/ftp/pub/       //把属主改为ftp,使匿名用户对该目录有写入权限

cd /etc/vsftpd

cp vsftpd.conf vsftpd.conf.back        //备份主配置文件(以防万一嘛!)

grep -v "#" vsftpd.conf | grep -v "^#" > 123//过滤主配置文件(看着友好嘛!)

mv -f 123 vsftpd.conf//覆盖原主配置文件

vi /etc/vsftpd/vsftpd.conf   //打开主配置文件

---------全局配置-----------(可选择的调用)

write_enable=YES             //启用任何形式的写入权限(如上传删除文件等)都需要开启此项

listen=YES                   //是否以独立运行的方式监听服务

dirmessage_enable=YES       //用户切换进入目录时显示.message文件(如果存在)的内容  

xferlog_enable=YES          //启用xferlog日志,默认记录到/var/log/xferlog

xferlog_std_format=YES       //启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式

connect_from_port_20=YES     //允许服务器主动模式从20端口建立连接    

pam_service_name=vsftpd       //设置用于用户认证的PAM文件位置(/etc/pam.d目录中对应的文件名)

tcp_wrappers=YES             //是否启用TCP_wrappers 主机访问控制

listen_address=192.168.1.10    //只在一个接口监听服务

listen_port=2121             //监听端口改为520(原为21)

--------允许使用FTP服务器的被动模式----------

pasv_enable=YES             //允许被动模式连接

pasv_max_port=24500         //指定被动模式的上限端口

pasv_min_port=24600         //指定被动模式的下限端口

-----------限制FTP的并发数---------

max_clients=20              //限制并发客户连接最多20

Max_per_ip=2               //限制每个IP地址的连接数最多两个(即用时下载或上传的文件数量)

--------匿名用户配置---------

anonymous_enable=YES//是否开放FTP匿名访问(默认就可以匿名访问)

anon_upload_enable=YES             //是否允许匿名用户上传文件

anon_umask=022//设置匿名用户所上传文件和目录反掩码值(即文件为644,目录为755anon_mkdir_write_enable=YES         //是否允许匿名用户有创建目录的写入权限

anon_other_write_enable=YES         //是否允许匿名用户有其它写入权限,如对文件改名、覆盖及删除文件等

anon_max_rate=10000                //限制匿名用户传输速率为10kB/s(单位为B

(三)测试匿名FTP服务器

1.FTP客户端工具(FileZilla

wKioL1LOCHPyjV5AAAEfPx9IaV0928.jpg

2.电脑地址栏URL访问

ftp://192.168.1.20

wKioL1LOCJXgD-8zAAB0FZXFaBA215.jpg

用户验证FTP服务

(一)新建本地用户

useradd -s /sbin/nologin jack     //不用登陆系统

passwd jack

(二)修改配置文件

-------本地用户配置-------

chroot_local_user=yes//是否将所有的宿主目录禁锢在其宿主目录中

local_enable=YES                   //是否允许本地系统用户访问

local_umask=022                    //设置本地用户所上传文件和目录反掩码值(即文件为644,目录为755

local_max_rate=20000                //限制本地用户传输速率为20kB/s(单位为B

(三)测试本地用户FTP服务

和匿名用户验证方法一样,在此不做详解!!

(四)使用user_list用户列表文件

1.修改user_list 配置文件

vi /etc/vsftpd/ftpusers   //黑名单,优先于user_list,但当配置了虚拟用户后不生效,只有user_list文件生效

vi /etc/vsftpd/user_list  //只允许jack,tom,登陆FTP服务器,匿名用户也不可以登陆

jack

tom

2.修改主配置文件

-------本地用户配置-------

userlist_enable=YES             //是否启用user_list用户列表文件        

userlist_deny=NO                //是否禁止user_list列表文件中的用户账号

基于虚拟用户的FTP服务

(一)建立虚拟用户的账号数据库

1.安装db_load工具

rpm -ivh /mnt/iso/Packages/db4-utils-4.7.25-18.el6_4.x86_64.rpm

2创建文本格式的用户名、密码列表

vi /etc/vsftpd/vuser.list

xiao//奇数行为账号

123//偶数行为密码

3.创建Berkley DB格式的数据库文件

cd /etc/vsftpd

db_load -T -t hash -f vuser.list vuser.db

file vuser.db    //查看转换后的文件类型

wKioL1LOCPHhgPfuAAApOIDIKoQ507.jpg

chmod 600 vuser*     //将文件权限设为600,以免数据外泄

4.添加虚拟用户的映射账号、创建FTP根目录

useradd -d /var/ftproot -s /sbin/nologin xiaohang

chmod 755 /var/ftproot

(二)vsftpd服务添加虚拟用户支持

1.为虚拟用户建立PAM认证文件(可参考PAM默认认证文件/etc/pam.d/vsftpd

vi /etc/pam.d/authentication

auth    required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser

2.修改主配置文件添加虚拟用户支持

vi /etc/vsftpd/vsftpd.conf

local_enable=YES                   //是否允许本地系统用户访问

anon_umask=022                    //设置本地用户所上传文件和目录反掩码值(即文件为644,目录为755

write_enable=YES                //启用任何形式的写入权限(如上传删除文件等)都需要开启此项

pam_service_name=authentication//指定PAM认证文件(即vi /etc/pam.d/authentication

guest_enable=YES   //启用用户映射功能

guest_username=xiaohang//指定映射的系统用户名(用户可不用登系统)

3.重启服务,验证虚拟用户登录

service vsftpd restart

!注,如果开启了user_list用户列表,虚拟用户必须加入列表才能正常登录FTP服务器(即tom1tom2tom3

(三)为不同的虚拟用户在不同家目录建立不同的配置文件

例:

   tom1 家目录在 /var/ftproot/tom1 tom1要求只有读取权限

   tom2 家目录在 /var/ftproot/tom2tom2要求只有读取上传权限,上传目录权限为644

   tom3 家目录在 /var/ftproot/tom3 tom3所有权限(读取,上传,命名,删除,建文件夹),上传权限为644

  1.  修改vsftpd.conf主配置文件          

      vi  /etc/vsftpd/vsftpd.conf

      ------匿名配置------

      anonymous_enable=YES

      ---------本地用户配置--------

      user_config_dir=/etc/vsftpd/vdir

  2. 创建虚拟目录vdir中创建三个虚拟用户配置文件

     mkdir /etc/vsftpd/vdir      

     touch /etc/vsftpd/vdir/tom1 /etc/vsftpd/vdir/tom2 /etc/vsftpd/vdir/tom3

  3.分别给虚拟用户tom1tom2tom3创建家目录

  mkdir /var/ftproot/tom1 /var/ftproot/tom2 /var/ftproot/tom3

chown -R xiaohang.xiaohang /var/ftproot/     //把家目录属主、属组,递归改为虚拟映射用户

  4. 配置各虚拟用户

    tom1 的配置

    vi /etc/vsftpd/vdir/tom1

         local_root=/var/ftproot/tom1

    tom2 的配置

    vi /etc/vsftpd/vdir/tom1

         anon_upload_enable=YES

         anon_umask=022

         local_root=/var/ftproot/tom2

    tom3 的配置

    vi /etc/vsftpd/vdir/tom1

         anon_mkdir_write_enable=YES

         anon_upload_enable=YES

         anon_other_write_enable=YES

         local_root=/var/ftproot/tom3

         anon_umask=022

  5.重启服务验证

  service vsftps restart

  注!开启了虚拟用户后本地用户将失效,匿名用户可以正常访问





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章