欢迎光临
我们一直在努力

Linux架设FTP服务器之三-网管专栏,FTP服务

建站超值云服务器,限时71元/月

2./etc/ftpusers和/etc/ftphosts的设置

/etc/ftpusers是用来设定系统上的某些用户不允许使用ftp传送文件,/etc/ftphosts是用来设定某些主机不允许连接本ftp服务器的。这样做的目的都是为了安全考虑。

/etc/ftpusers使用的范例如下:

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
限制某些用户登入ftp服务器是出于系统安全的原因,例如要避免超级用户登入系统。并且禁止某些和一些命令名相同的用户进入ftp服务器。

/etc/ftphosts的示例如下:

# example host access file
#
# everything after a # is treated as comment,
# empty lines are ignored
#allow <username> <addrglob> [<addrglob> …]
# only allow host(s) matching <addrglob> to log in as <username>.
#deny <username> <addrglob> [<addrglob> …]
# always deny host(s) matching <addrglob> to log in as <username>.

allow ideal *.linuxaid.com.cn 10.0.0.0/8
deny fred *.hacker.com 131.211.32.0/24

这里只允许ideal从域名以linuxaid.com.cn为后缀的主机及10.0.0.0/255.0.0.0的主机登录进入ftp服务器;禁止fred从*.hacker.com和131.211.32.0/24登录进入ftp服务器。这里的username若为anonymous或ftp都指匿名用户。

3./etc/ftpconversions设置

该文件用来设定当用户下载文件时应该做那些操作,例如压缩、解压缩等。文件内容如下所示:

:.z: : :/bin/compress -d -c %s:t_reg|t_ascii:o_uncompress:uncompress
: : :.z:/bin/compress -c %s:t_reg:o_compress:compress
:.gz: : :/bin/gzip -cd %s:t_reg|t_ascii:o_uncompress:gunzip
: : :.gz:/bin/gzip -9 -c %s:t_reg:o_compress:gzip
: : :.tar:/bin/tar -c -f – %s:t_reg|t_dir:o_tar:tar
: : :.tar.z:/bin/tar -c -z -f – %s:t_reg|t_dir:o_compress|o_tar:tar+compress
: : :.tar.gz:/bin/tar -c -z -f – %s:t_reg|t_dir:o_compress|o_tar:tar+gzip
: : :.crc:/bin/cksum %s:t_reg::cksum
: : :.md5:/bin/md5sum %s:t_reg::md5sum

文件设置说明:

:.z: : :/bin/compress -d -c %s:t_reg|t_ascii:o_uncompress:uncompress
表示对所有以”.z”结尾的文件使用/bin/compress -d -c”的方式解压缩。

: : :.z:/bin/compress -c %s:t_reg:o_compress:compress
表示将传送的文件压缩为”.z”格式。

:.gz: : :/bin/gzip -cd %s:t_reg|t_ascii:o_uncompress:gunzip
表示将所有以”.gz”的文件用”/bin/gzip -cd”解压缩。

: : :.gz:/bin/gzip -9 -c %s:t_reg:o_compress:gzip
表示将传送的文件压缩为”.gz”格式。

: : :.tar:/bin/tar -c -f – %s:t_reg|t_dir:o_tar:tar
表示将要传送的文件用”tar”打包。

: : :.tar.z:/bin/tar -c -z -f – %s:t_reg|t_dir:o_compress|o_tar:tar+compress
表示将要传送的文件压缩成”tar.z”的格式

: : :.tar.gz:/bin/tar -c -z -f – %s:t_reg|t_dir:o_compress|o_tar:tar+gzip
表示将要传送的文件压缩成”tar.gz”的格式

: : :.crc:/bin/cksum %s:t_reg::cksum
表示将要传送的文件进行crc校验处理。

: : :.md5:/bin/md5sum %s:t_reg::md5sum
表示将要传送的文件进行md5校验。

其实安装ftp以后缺省的配置文件已经将常用的压缩也解压缩的程序定义进去了,所以一般不需要修改这个文件的内容,但可以根据实际需要修改内容的顺序。例如,用户要下载一个”file.tar.gz”的文件,但此ftp上没有这个文件,但是有文件file,那么ftp服务器会将file打包压缩为file.tar.gz在传递给用户。若服务器上没有file这个文件,服务器会按照/etc/ftpconversions文件中指定的顺序去搜索,,以这个例子而言,会依次搜索file.z、file.gz、file.tar、file.tar.z、file.tar.gz、file.crc、file.md5文件,将先找到的传送给用户。所以文件/etc/ftpconversions的内容可以按照需要而改变顺序。

到现在为止,已经安装配置成功了一个提供匿名访问的ftp服务器,可以连接上去测试功能是否符合需要。

4.wu-ftp的相关程序

ftpcount这个程序可以统计当前连接的用户数目,并给出上限,如:

[root@linux doc]# ftpcount
service class friend – 0 users (no maximum)
service class local – 0 users (no maximum)
service class outworld – 0 users (no maximum)
这里正在连接的属于local的有0个人,没有上限。其他几个类别含义一样。

[root@linux doc]# ftpwho
service class friend:
– 0 users (no maximum)
service class local:
– 0 users (no maximum)
service class local:
– 0 users (no maximum)
当前三个类别都没有用户连接。

ftpshut

该程序主要用来生成/etc/shutmsg,也就是前面/etc/ftpaccess中设定的shutdown命令,ftpshut的使用格式如下:

ftpshut [ -v ] [ -l min] [ -d min] time [ warning-message … ]
-l 该选项设置在关闭ftp服务器以前多少分钟停止用户的连接请求
-d 该选项设置在关闭ftp服务器以前多少分钟将已经连接的用户断线
time 设置关闭ftp服务器的时间,例如希望在晚上10点关闭ftp服务器,则为2200
warning-message 断线以前显示给用户的告警信息
例如:

[root@linux /etc]# ftpshut -l15 -d5 1800 “ftp server will shutdown”
[root@lix /etc]# less shutmsg
2000 04 07 18 00 0015 0005
ftp server will shutdown

五、开设只能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登录到系统中。

六、设置虚拟ftp主机
所谓虚拟匿名主机,指一台机器上有多个ip地址,并且可以向外提供过个匿名的ftp服务器,这些服务器在逻辑上是独立的,有不同的访问控制表,不同的下载内容。下面是设置一台虚拟ftp服务器的步骤:

1. 首先对本地某个网卡设置别名ip地址,即在一块网卡上绑定多个ip地址:如你的内部ftp主机为192.168.0.4

你可再绑定一个ip地址如下:
/sbin/ifconfig eth0:0 192.168.0.5 up //向接口添加一个新的ip
/sbin/route add -host 192.168.11.7 eth0:0 //增添路由信息

2. 先创建目录/home/virtualftp和/var/log/virtualftp。生成banner文件/home/virtualftp/banner_message修改ftp服务器的主配置文件/etc/ftpaccess,增加对虚拟ftp的支持信息,加下面的行到该文件中:

virtual 192.168.0.5 root /home/virtualftp
virtual 192.168.0.5 banner /home/virtualftp/banner_message
virtual 192.168.0.5 logfile /var/log/virtualftp/xferlog

上面三条指示分别设置虚拟主机的根目录,虚拟主机的记录文件,虚拟主机的登录显示信息。上面路径和文件名可随便定义。

3. 拷贝所需要的匿名ftp文件,主要是/lib,/etc,/bin目录
# cp /home/ftp/* /home/virtualftp -a

4.在dns中定义192.168.0.5,设置成虚拟ftp的域名映射。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Linux架设FTP服务器之三-网管专栏,FTP服务
分享到: 更多 (0)