用LINUX架设FTP服务器(4)
作者:level 时间:2009-04-14 15:22:00
1.5 开设只能FTP的帐户
很多时候需要开设一些只允许ftp到服务器的用户,实现方法如下:
1、按照通常的方式为这些用户在系统上开设帐户。
[root@ns /etc]#useradd ftp_user1
[root@ns /etc]#chmod 700 /etc/shadows
[root@ns /etc]#vi /etc/shadows
删除项:
ftp_user1:!!:11113:0:99999:7:-1:-1:134537372
中第二个字段的"!!",然后再以ftp_usre1用户登录,就不会询问口令,然后使用passwd为该用户设定口令
2、使用vi修改/etc/shells文件,添加/dev/null项或/bin/passwd,如下所示:
[root@ns /etc]# cat shells
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
修改为:
[root@ns /etc]# cat shells
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
/dev/null
/bin/passwd
2、使用vi打开文件/etc/passwd
3、将那些只允许FTP的系统的用户的登录shell改为/dev/null(若不允许用户修改其口令)或/bin/passwd(若允许用户修改其口令字),如下所示:
ftp_user1:x:503:504::/home/ftp_user1:/bin/bash
改为:
ftp_user1:x:503:504::/home/ftp_user1:/dev/null
或
ftp_user1:x:503:504::/home/ftp_user1:/bin/passwd
这样,则该用户只能使用如pop3、FTP等服务,而不能通过telnet登录到系统中。
1.6 设置虚拟FTP主机
所谓虚拟匿名主机,指一台机器上有多个IP地址,并且可以向外提供过个匿名的FTP服务器,这些服务器在逻辑上是独立的,有不同的访问控制表,不同的下载内容。下面是设置一台虚拟FTP服务器的步骤:
1. 首先对本地某个网卡设置别名IP地址,即在一块网卡上绑定多个IP地址:如你的内部FTP主机为191.168.0.4
你可再绑定一个IP地址如下:
/sbin/ifconfig eth0:0 191.168.0.5 up //向接口添加一个新的IP
/sbin/route add -host 191.168.11.7 eth0:0 //增添路由信息
1. 先创建目录/home/virtualftp和/var/log/virtualftp。生成banner文件 /home/virtualftp/banner_message修改FTP服务器的主配置文件/etc/ftpaccess,增加对虚拟FTP的支持信息,加下面的行到该文件中:
virtual 191.168.0.5 root /home/virtualftp
virtual 191.168.0.5 banner /home/virtualftp/banner_message
virtual 191.168.0.5 logfile /var/log/virtualftp/xferlog
上面三条指示分别设置虚拟主机的根目录,虚拟主机的记录文件,虚拟主机的登录显示信息。上面路径和文件名可随便定义。
3. 拷贝所需要的匿名FTP文件,主要是/lib,/etc,/bin目录
# cp /home/ftp/* /home/virtualftp -a
4.在DNS中定义191.168.0.5,设置成虚拟FTP的域名映射。