当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 用Linux架设FTP服务器(5)

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 用Linux架设FTP服务器(5)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 45 ::
收藏到网摘: n/a


配置“/etc/ftphosts”文件
“/etc/ftphosts”文件为每一个用户建立规则,指定允许用户从某个主机登录ftp服务器,或者不允许用户从某个主机登录ftp服务器。
创建“ftphosts”文件(touch/etc/ftphosts),加入下面这几行:
#Examplehostaccessfile
#
#Everythingaftera‘#‘istreatedascomment,
#emptylinesareignored
allowftpadmin208.164.186.1208.164.186.2208.164.186.4
把文件的权限改为600:
[root@deep]#chmod600/etc/ftphosts
每一行可能是:
allow<username><addrglob>

deny<username><addrglob>
“allow”允许用户用<username>用户名,从<addrglob>地址访问ftp服务器。<addrglob>可以包含多个地址。
“deny”禁止用户名为<username>的用户,从<addrglob>地址访问ftp服务器。<addrglob>可以包含多个地址。
配置“/etc/ftpusers”文件
“/etc/ftpusers”文件设置哪些用户不允许连接到ftp服务器。
创建“ftpusers”文件(touch/etc/ftpusers),加入下面这几行:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
把文件的权限设成600:
[root@deep]#chmod600/etc/ftpusers
配置“/etc/ftpconversions”文件
“/etc/ftpconversions”是用来控制当传输文件的时候是否进行压缩。
创建“ftpconversions”文件(touch/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

把文件的属性改为600:
[root@deep]#chmod600/etc/ftpconversions
配置“/etc/pam.d/ftp”文件
配置“/etc/pam.d/ftp”文件使其支持PAM安全验证。
创建“ftp”文件(touch/etc/pam.d/ftp)并加入:
#%PAM-1.0
authrequired/lib/security/pam_listfile.soitem=usersense=denyfile=/etc/ftpusersonerr=succeed
authrequired/lib/security/pam_pwdb.soshadownullok
authrequired/lib/security/pam_shells.so
accountrequired/lib/security/pam_pwdb.so
sessionrequired/lib/security/pam_pwdb.so
配置“/etc/logrotate.d/ftpd”文件
配置“/etc/logrotate.d/ftpd”文件使得日志文件每周自动循环更新。
创建“ftpd”文件(touch/etc/logrorate.d/ftpd)并加入:
/var/log/xferlog{
#ftpddoesn‘thandleSIGHUPproperly
nocompress
}
配置ftp使其使用inetd超级服务器(用于实现tcp-wrappers)
tcp-wrappers用来启动和中止ftpd服务。当inetd执行的时候,它会从默认为“/etc/inetd.conf”的配置文件读入配置信息。配置文件中每一行中的项用TAB或空格隔开。
编辑inetd.conf文件(vi/etc/inetd.conf),加入并验证是否存在下面这一行:ftpstreamtcpnowaitroot/usr/sbin/tcpdin.ftpd-l-a
注意:更新完“inetd.conf”文件之后要发给inetd一个SIGNUP信号,运行下面的命令:
[root@deep/root]#killall-HUPinetd
编辑“hosts.allow”文件(vi/etc/hosts.allow)加入这一行:
in.ftpd:192.168.1.4win.openarch.com
这表示IP地址为“192.168.1.4”并且主机名为“win.openarch.com”的计算机允许访问ftp服务器。
FTP管理工具
ftpwho
ftpwho显示当前连接到ftp服务器上的所有用户。这个命令菜单输出类似“/bin/ps”的输出,其格式为:
<pid><time><tty><connectiondetails>
其中<pid>表示ftpdaemon用来处理这次文件传输的进程号,<time>表示用户什么时候连接到ftp服务器上,<tty>总是用问号(?)表示因为是通过ftp而不是telnet连接,<connectiondetails>告诉连接是来自哪里、用户是谁以及用户现在在干什么。
下面是ftpwho输出的一个例子:
[root@deep]#ftpwho
 Serviceclassopenarch:
5443?S0:00ftpd:win.openarch.com:admin:IDLE
-1users(20maximum)
可以看到现在有一个用户登录(最多可以有20个用户同时登录),这个用户的用户名是admin来自win.openarch.com。
ftpcount
ftpcount是ftpwho的简化版,只显示登录到ftp服务器的用户数以及最多允许多少个用户登录。下面是一个例子:
[root@deep]#ftpcount
Serviceclassopenarch-1users(20maximum)