[原]利用tar包安装和配置高可用性的vsftp[1]

[入库:2005年9月19日] [更新:2007年3月24日]

本文简介:


[color=green:1af834efb8]作者:梁尚锋  网名:好好先生
欢迎转载,转载请保留上述信息
===========================================================================[/color:1af834efb8]
  昨天看到有朋友说用tar包安装的vsftp不能用本地用户登录,感觉十分诧异。但自己也仅做过rpm的,所以没有发言权。今天在自己机器上用tar包成功安装并配置了一个vsftp,现在把我的过程和大家说一下,希望对大家有所帮助!

一、安装
[list:1af834efb8]1.下载最新的稳定版vsftpd-1.2.1.tar.gz
   2.卸载原有的rpm的vsftpd
    rpm -e vsftpd
   3.tar xvzf vsftpd-1.2.1.tar.gz
   4.cd vsftpd-1.2.1
   5.make
   6.useradd nobody
   7.mkdir /usr/share/empty
   8.mkdir /var/ftp
   9.useradd -d /var/ftp ftp
   10.chown root.root /var/ftp
   11.chmod og-w /var/ftp
   说明:如果你象我一样原来有rpm的vsftp,只是卸载了,可以省略6-11步,如果原来没有安装vsftp,请按部就班。
  12.make install
   13.vi /etc/xinetd.d/vsftpd
    把disable=yes改成no,保存退出。然后service xinetd restart,OK!新装的vsftp已经可以工作了!
    说明:默认安装的vsftpd是以xinetd的方式启动的。你需要上述操作,一会儿,我们再来讲把它改成独立启动的服务。
  14.ftp 127.0.0.1
     输入用户名ftp,密码直接回车,OK!已经可以连接了!输入quit退出。然后重新ftp 127.0.0.1,输入本地用户和密码,却提示login faild!why?原来少一个本地用户认证的pam文件。
  15.cp RedHat/vsftpd.pam /etc/pam.d/ftp(注意,没有这一步将不能使用本地用户登录!)
  16.cp vsftpd.conf /etc/vsftpd.conf(现在,默认还是只能匿名用户登录)
  17.vi /etc/vsftpd.conf
     把anonmous_enable=YES改成NO(禁掉匿名链接,不安全)
     把local_enable=YES前的注释去掉(打开本地用户连接的权限)
     把write_enable=YES前的注释去掉(打开本地用户的写权限)
     把local_umask=022前的注释去掉
    service xinetd restart
  18.再次测试
     ftp 127.0.0.1
     使用ftp用户空密码登录,将出现login faild
     使用本地用户登录,OK!已经成功了!上传文件,也OK![/list:u:1af834efb8]
  这样是不是就完事儿了?不是,做一个FTP,我们通常还需要一些特殊要求:比如一个用户我只允许他下载,不允许他上传;另一个用户可以下载也可以上传,但是他不能删除文件,不能给文件改名;另外,我还需要我的FTP使用非常规的端口,限制下载的速度,还需要一个管理员用户。那怎么办?请看下面的部分!

二、高级配置
[list:1af834efb8]   1.使用独立服务
    a.vi /etc/xinetd.d/vsftpd把disable=no还改成yes,不再需要它了!
    b.vi /etc/vsftpd.conf在结尾加上listen=YES
      c.service xinetd restart
      d./usr/local/sbin/vsftpd /etc/vsftpd.conf &
      OK!现在vsftp已经是独立启动的服务了!
   2.使用非常规的端口(2121)
     a.vi /etc/vsftpd.conf
      添加listen_port=2121,保存退出
    b.killall -9 vsftpd
      c./usr/local/sbin/vsftpd /etc/vsftpd.conf &
    OK!现在用ftp 127.0.0.1将提示你连接被拒绝了(ftp:connect:Connetion refuesd)!然后ftp 127.0.0.1 2121输入用户名和密码,OK!可以登录!
    3.实现不同用户不同权限
     现在我们就来实现三个用户的不同权限:a.upload用户,可以上传下载,可以新建文件夹,但不能删除文件和文件夹,不能重命名原有文件和文件夹;b.download用户,只能下载;c.admin用户,管理员,可以上传,可以下载,可以新建文件夹,可以删除和更改文件和文件夹名。这些用户都不能登录系统,并且用ftp连接时锁定在自己的家目录中不能进入系统文件夹。
    a.cat << ! >logins.txt
      >upload
      >******* #upload用户的密码
      >download
      >*******
      >admin
      >****************
      >!
      说明,此文本文件的格式是:单数行为用户名,偶数行为密码
    b.db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
    c.chmod 600 /etc/vsftpd_login.db
    d.cd vsftpd-1.2.1/EXAMPLE;cp VIRYUAL_USERS/vsftpd.pam /etc/pam.d/ftp.vu (进入你的解包的源码目录,把虚拟用户的认证文件拷贝到/etc/pam.d/下)
    e.useradd -d /home/ftpsite virtual;chmod 700 /home/ftpsite;su - virtual -c "echo hello>/homt/ftpsite/test.file(建立虚拟用户所要访问的ftp目录并设置仅virtual用户访问的权限和创建一个供下载实验的文件)
    f.vi /etc/vsftpd.conf在此文件中插入下面的配置语句
     guest_enable=YES(启用虚拟用户)
     guest_username=virtual(将虚拟用户映射为本地virtual用户)
     pam_service_name=ftp.vu(指定PAM配置文件为ftp.vu)

本文关键:[原]利用tar包安装和配置高可用性的vsftp
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top