热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

VSFTP配置手册

来源: 作者: 时间:2008-06-26 Tag: 点击:


补充七:如何定制欢迎信息

如何在我们登入有些FTP之后,会出现类似:欢迎您来到LinuxSir FTP,在这里,您会得到最真诚的帮助,如果有什么问题和建议,请来信,多谢。

实现这个并不难,我们可以查看vsftpd.cof文件中,是否有这行。

  dirmessage_enable=YES

如果没有就加上,如果dirmessage_enable=YES前面有#号,就把#号去掉。

然后我们制定一个.message文件,写上您想要写的东西,比如是.message的内容是如下的:

  欢迎您来到LinuxSir FTP!
  在这里,您会得到最真诚的帮助;
  如果有什么问题和建议,请来信,多谢。

我们可以用编辑器来写这个.message,我想这个过程就不用说了吧。

然后我们把.message这个文件复制到各个用户的家目录中。比如我的FTP的一个用户是beinan,这个用户所在的家目录是/home/beinan

我们就要把.message放在/home/beinan这个目录下。如果系统用户ftp,他的目录就是/var/ftp这个目录,这个是默认的,当匿名用户登入时就访问的是/var/ftp这个目录。我们要让匿名用户能看到欢迎信息。就要把.message放在/var/ftp目录中。其它的用户,也无非就是类似的操作。


补充八:如何实现虚拟路径?

比如: /home/a 映射为ftp://localhost/a /home/b/c 则为ftp://localhost/c

其实这个不能说是vsFTPd的内容,其实我们早就接触过了,可能我们没有注意,我们可以通过如下的方法来实现。

  #mount --bind [原有的目录] [新目录]

比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作

我们要先在/var/ftp目录中建一个目录

  #mkdir /var/ftp/WinSoft

然后执行mount命令

  #mount --bind /mnt/LinG/WinSoft /var/ftp/WinSoft

这样就OK了。


补充九:如何上匿名访问、上传,并支持下载和执行?

在默认的情况下,vsftp是不支持匿名用户的访问的,所以我们要自己打开相应的选项。现在我针对这个问题,我们要打开如下的选项。

  anonymous_enable=YES 注:允许匿名访问
  anon_upload_enable=YES 注:允许上传
  anon_mkdir_write_enable=YES 注:允许建立相应的目录
  anon_umask=022 把上传到FTP的文件或者目录改变权限

当然打开这些选项还是不行的,我们还要让匿名写入文件的上一级目录有写入权,以我所做的FTP为例,我所做的FTP的匿名访问的目录是/var/ftp,在vsFTPd中,/var/ftp这个目录是不能让匿名用户有写入权限的,这是为了安全考虑,所以我们必须自己在/var/ftp目录中建一个目录,让这个目录有写入权。

比如:我在/var/ftp目录建一个upload目录,然后把它的权限设置成777,这样匿名用户就能写入了。

  #mkdir /var/ftp/upload 
  #chmod 777 /var/ftp/upload

改了一系列的文件,不要忘记重启vsFTPd服务器

我是用standalone模式的,当然用下面的方法

  [root@linuxsir001 root]# service vsftpd restart
  关闭 vsftpd: [ 确定 ]
  为 vsftpd 启动 vsftpd: [ 确定 ]
  [root@linuxsir001 root]#

如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器

  [root@linuxsir001 root]# service xinetd restart
  停止 xinetd: [ 确定 ]
  启动 xinetd: [ 确定 ]
  [root@linuxsir001 root]# ]


补充十:通过pam认证方式,添加虚拟用户


通过pam认证,用db_load添加用户,是真正的虚拟用户。现在我们简单的介绍一下,通过以后的学习,我们再深入补充:

1。在/etc/pam.d/目录中创建一个文件ftp

  [root@linuxsir001 root]# touch /etc/pam.d/ftp

2。在/etc/pam.d/ftp里面加上如下的两行

  auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
  account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

3。创建一系统的用户名用密码的文件logins.txt

  [root@linuxsir001 root]# touch logins.txt

在logins.txt文件中,输入如下的内容。这个内容您可以自己来定。比如我下面的。其实linuxsir007是FTP的虚拟用户名,123456是linuxsir007的密码;linuxsir008是虚拟用户名,234567是linuxsir008的密码,以此类推,您想加入几个就是几个;下面是我添加的FTP的虚拟用户名和密码。

  linuxsir007
  123456
  linuxsir008
  234567
  linuxsir009
  567890
  linuxsir010
  678901
  linuxsir011
  789012

4。创建一个真实的用户名linuxsir006,这个linuxsir006的用户,所在的家目录由您来定。我在这里不多说了。我是按系统默认的来添加的。

  [root@linuxsir001 root]# useradd linuxsir006

5。把/etc/hosts复制到/home/linuxsir006,并改变它的属主

  [root@linuxsir001 root]#cp /etc/hosts /home/linuxsir006/hosts
  [root@linuxsir001 root]#chown linuxsir006.linuxsir006 /home/linuxsir006/hosts 

6。通过db_load来创建虚拟用户的库文件。我们在前面建的logins.txt文件,我是放在了/root用户目录下。所以咱们得把目录切换到/root目录来创建虚拟用户的库文件。

  [root@linuxsir001 root]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

7。更改vsftpd.conf文件,加入如下的几行

  pam_service_name=ftp
  guest_enable=YES
  guest_username=linuxsir006
  anon_world_readable_only=NO

8。重启vsFTPd服务器;改了一系列的文件,不要忘记重启vsFTPd服务器

我是用standalone模式的,当然用下面的方法

  [root@linuxsir001 root]# service vsftpd restart
  关闭 vsftpd: [ 确定 ]
  为 vsftpd 启动 vsftpd: [ 确定 ]
  [root@linuxsir001 root]#

如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器

  [root@linuxsir001 root]# service xinetd restart
  停止 xinetd: [ 确定 ]
  启动 xinetd: [ 确定 ]
  [root@linuxsir001 root]#

9。如果您想让用户登入FTP时,登入成功的相应的信息,请把您制作的.message复制到您的用户的家目录中,这方面的请参考前面的补充。

10。测试:

  [root@linuxsir001 root]# ftp 192.168.0.1
  Connected to 192.168.0.1.
  220 (vsFTPd 1.1.3)
  530 Please login with USER and PASS.
  530 Please login with USER and PASS.
  KERBEROS_V4 rejected as an authentication type
  Name (192.168.0.1:root): linuxsir007
  331 Please specify the password.
  Password:
  230-欢迎光临LinuxSir自由FTP
  230-在这里,您将得到最真诚的帮助!
  230-本站限度为30KB!
  230-每个IP限四个线程
  230-请大家遵守FTP的有关规定。
  230-多谢合作!
  230-
  230-LinuxSir管理部
  230 Login successful. Have fun.
  Remote system type is UNIX.
  Using binary mode to transfer files.
  ftp> ls
  227 Entering Passive Mode (192,168,0,1,85,171)
  150 Here comes the directory listing.
  -rw-r--r-- 1 ftp ftp 174 Jun 01 12:59 hosts
  drwxr-xr-x 3 ftp ftp 4096 Jun 01 13:29 linuxsir008
  drwxr-xr-x 2 ftp ftp 4096 Jun 01 13:24 sun
  226 Directory send OK.
  ftp>

补充十一:如何把系统默认用standalone启动改为用xinetd启动?

如何把Redhat 9.0中系统默认安装的vsftpd-1.1.3-8.i386.rpm,系统默认vsFTPd是用standalone启动方式 ,改为xinetd启动方式 ?如果是用源码包安装的,安装后就是xinetd模式,如果是用RPM包安装的,在Redhat 9.0中,应该用下面的方法来解决。

1.在/etc/xinetd.d/目录中创建一个文件vsftpd

  [root@linuxsir001 root]# touch /etc/xinetd.d/vsftpd

/etc/xinetd.d/vsftpd内容如下:

  service ftp
  {
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/vsftpd
  # server_args =
  # log_on_success += DURATION USERID
  # log_on_failure += USERID
  nice = 10
  disable = no
  }


相关文章:
apache jsp tomcat 虚拟主机 在加上pure-ftp
squid 优化(解释篇)
调整centos文件打开数
REDHAT AS安装10g错误
用SystemImager克隆系统(一)
openssh 5.1版使用chroot sftp帐号技术
HPUX从入门到提高之三
postfix+vm-pop3+openmail 构造邮件服务器
SecureCRT设置
双机备份方案(resin集群+冷备)
开启rsh服务
Solaris9允许root用户登录ssh
Solairs如何上网?
实战PXE启动安装Redhat AS 5 Linux
RHCT Lab1: Network Installation
RHCE Lab1: Kickstart
RHCE Lab1.1: Auto Installation
apache版本号显示的问题
修改tomcat端口号
RS/6000小型机故障的基本定位方法
Linux下的权限管理-ACL
CactiEZv9监控CentOS5.0
Red Hat Enterprise Linux 5.2 简明安装手册
StorNext 简单安装说明
FreeBSD7 Apache2.2 PHP5 PostgreSQL8.3 Ports安
关于nagios监控系统添加主机和服务脚本
C和C++语言学习总结
apache优化
CentOS+Nginx+PHP+Mysql(1)
Apache服务器限制并发连接和下载速度