ftpaccess
评论 ┆ 举报
最佳答案此答案由提问者自己选择,并不代表网络知道知识人的观点
回答:追忆梦
学长
4月25日 19:02 第一步:创建一个 ftp guest 组,用 groupadd 命令,也可以用 ftp 服务器创建的 ftp 组(less /etc/group 看看是否存在,如果
装了ftp server的话都有这个组存在);
第二步:在 ftp 组中添加 ftp 用户;
第三步:修改 /etc/ftpaccess 文件,加入 guestgroup 的定义: guestgroup ftp; 或者用 guestuser 直接指定 ftp 用户名,如:
guestuser ftpuser;
第四步:向这个用户的 $HOME 目录下拷贝必要的文件,主要是与 ls 有关的。一般的 ls 要 Lib 支持,你得重新编译 ls,或把 lib
目录 过去,或者拷贝 ftp server 带的 ls, 比如把 /home/ftp/ 下的bin,etc,lib 三个目录拷贝到这个用户的根目录下, 并修改
权限 (chown username.ftp *)。
注意:现在 Linux 下带的 ftp 无须拷贝这些文件,至少 Redhat6.1 是不需要拷贝的,所以就可以省去第四步。
揪错 ┆ 评论 ┆ 举报
2. ftp问题。
1、 简介
在绝大多数的LINUX发行版本中都选用的是WashingtonUniversity FTP,它是一个着名的FTP服务器软件,一般简称为wu-ftp。它功能强大,能够很好地运行于众多的UNIX操作系统,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求:
· 在用户下载文件的同时对文件做自动的压缩或解压缩操作;
· 对不同网络上的机器做不同的存取限制;
· 记录文件上载和下载时间;
· 显示传输时的相关信息,方便用户及时了解目前的传输动态;
· 设置最大连接数,提高了效率,有效地控制了负载。
2、 所需资源
2.2.1 所需包
RedHat6.2 服务器安装
2.2.2 所需配置文件
/etc/ftpusers
/etc/ftpaccess
/var/run/ftp.pids
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts
2.2.3 相关命令
ftpd FTP服务器程序
ftpshut 用于关闭FTP服务器程序
ftpcount 显示目前在线人数
ftpwho 查看目前FTP服务器的连接情况
ckconfig 检查FTP服务器的设置是否正确
ftprestart 重新启动FTP服务
2.2.4 相关目录
/home/ftpd/bin 存放一些供FTP用户使用的可执行文件
/home/ftpd/etc 存放一些供FTP用户使用的配置文件
/home/ftpd/pub 存放供下载的信息
/home/ftpd/incoming 存放供上载信息的空间
3、 配置方案
/etc/ftpaccess
说明: ftp权限配置文件
源文件:
guestuser weboa# FTP用户class all real,guest,anonymous *class weboa guest *# 格式:class [类名] [real/guest/anonymous] [IP地址] 功能: 这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP 地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP 服务器上的用户基本上可以分为以下三类: real 在该FTP服务器有合法帐号的用户; guest 有记录的匿名用户; anonymous 权限最低的匿名用户 email [email protected] 5# 格式:loginfails [次数] 功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。 readme README* loginreadme README* cwd=*message /welcome.msg loginmessage .message cwd=*# 格式:message [文件名称] [指令] 功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。 compress yes all# 格式:compress [yes/no] [类别] 功能:设置哪一个类别的用户可以使用compress(压缩)功能。 tar yes all# 格式:tar [yes/no] [类别] 功能:设置哪一个类别的用户可以使用tar(归档)功能。 chmod no guest,anonymous# 格式:chmod [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用chmod命令更改文件权限。默认是允许。delete yes all# 格式:delete [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用delete命令删除文件。默认是允许。overwrite yes guest# 格式:overwrite [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户覆盖同名文件。默认是允许。rename yes guest# 格式:rename [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用rename命令来为文件改名。默认是允许。 log transfers anonymous,real inbound,outbound# 格式:log transfers [real/guest/anonymous] [inbound/outbound] 功能:设置哪些用户的上载(inbound)和下载(outbound)操作做日志。shutdown /etc/shutmsg# 格式:shutdown [文件名] 功能: FTP服务器关闭的时间可以设置在后面所指定的文件中,当设 置的时间一到,便无法登录FTP服务器了,要恢复的话只有将 这个文件删掉。而这个文件必 须由指令/bin/ftpshut来生成。 passwd-check rfc822 warn# 格式:passwd-check [none/trivial/rfc822] [enforce/warn] 功能:设定对匿名用户anonymous的密码使用方式。 none 表示不做密码验证,任何密码都可以登录; trival 表示只要输入的密码中含有字符"@"就可以登录; rfc822 表示密码一定要符合RFC822中所规定的E-Mail格式才 能登录; enfore 表示输入的密码不符合以上指定的格式就不让登录; warn 表示密码不符合规定时只出现警告信息,仍然能够登录。limit remote 32 Any /etc/ftpd/toomany.msg# 格式:limit [类别] [人数] [时间] [文件名] 功能:这个指令的功能为设置指定的时间内指定的类别允许连接的 指定人数上限。当达到上限的时候,显示指定文件的内容。upload /home/ftpd * noupload /home/ftpd /pub yes anonymous 0644 dirs# 格式:upload [根目录] [上载目录] [yes/no] [用户] [权限] [dirs/nodirs] 功能:对可以上载的目录进行更加详细的设置。 alias incoming /home/ftp/incoming# 格式:alias [目录别名] [目录名] 功能:给指定目录设置一个别名,在切换目录时就可以使用较短的目录别名。
/etc/ftpusers
说明:FTP用户黑名单,为了安全考虑,需要禁止以下用户使用FTP
源文件:
4、 小结
在众多的网络应用中,FTP(File Transfer porotocol)有着非常重要的地位。在Internet中一个十分重要的资源就是软件资源。而各种各样的软件资源大多数都是放在FTP服务器中的。可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。
FTP服务可以根据服务对象的不同分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,Anonymous FTP Server,它使用任何人都可以登录到FTP服务器上去获取文件。
如果你在安装LINUX系统的时候,在选择启动进程的时候选择?quot;ftpd"这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。我们已经可以利用它来实现系统FTP服务器的功能了。我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。
3. 能告诉我/etc/ftpaccess,/etc/frphosts等等的配置能解释下是甚么意思吗
过去好长时间了握.~呵呵`希望已经找到你要的答案了吧.
亲爱的楼主‘如果没有正确答案‘
谢谢你把分送给我好么‘ ~
就当做善事哈‘好人有好报‘
祝你全家人和谐美满‘身体健康哈‘
谢谢拉 ~
真的是非常感谢`~
4. LINUX ftp如何限制匿名用户只能在特定的时间内可以登录如题 谢谢了
为了实现Linux环境下的FTP服务器配置,绝大多数的Linux发行套装中都选用的是Washington University FTP(Wu-Ftpd),这是一个性能优秀的服务器软件,由于它具有众多强大功能和超大的吞吐量,Internet上的FTP服务器有60%以上采用了它。 安装与运行 以下我们以RedHat Linux为例。 1、安装 根据服务对象的不同,FTP服务可以分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,它允许任何人登录到FTP服务器,和服务器连接后,在登录提示中输入Anonymous,即可访问服务器。针对这两种服务,可以通过RedHat的第一张光盘安装Wu-Ftpd的RPM包,只需以Root身份进入系统并运行下面的命令即可: Rpm - ivh anonftp -x.x-x.i386.rpm Rpm - ivh wu-ftpd-x.x.x-x.i386.rpm 其中-x.x-x和-x.x.x-x是版本号。 2、启动 和Apache一样,Wu-Ftpd也可以配置为自动启动:执行RedHat附带的Setup程序,在“System Service”选项中选中Wu-Ftpd,按下[OK]按钮确定退出即可。 自动启动固然方便,但是,当我们更改了Wu-Ftpd配置文件,需要用到手工启动: 启动:/usr/sbin/ftprestart 关闭:/usr/sbin/ftpshut FTP服务器的配置 为了确保FTP服务器安全,必须设置一些重要的配置文件,以更好地控制用户的访问权限。这些配置文件是:/etc/ftpusers、/etc/ftpconversions、/etc/ftp-groups、/etc/ftpphosts、/etc/ftpaccess。利用这些文件,能够非常精确地控制哪些人、在什么时间、从什么地点可以连接服务器,并且可以对他们连接后所做的工作进行检查跟踪。 /etc/ftpusers:该文件夹中包含的用户不能通过FTP登录服务器,有时将需要禁止的用户账号写入文件/etc/ftpuser中,这样就可以禁止一些用户使用FTP服务。 /etc/ftpconversions:用来配置压缩/解压缩程序。 /etc/ftpgroups:创建用户组,这个组中的成员预先定义可以访问FTP服务器。 /etc/ftpphosts:用来根据禁止或允许远程主机对特定账户的访问,例如: allow czc 192.168.0.0/24 deny cdd 10.0.0.0/8 表示允许czc用户从192.168.0这个网段连线访问,拒绝cdd从10.这个网段连线访问。 /etc/ftpaccess:是非常重要的一个配置文件,用来控制存取权限,文件中的每一行定义一个属性,并对属性的值进行设置。下面对它的一些常用配置做一点介绍: 1、定义用户类别 格式:class [类名] [real/guest/anonymous][IP地址] 功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许特定或者全部的IP地址访问FTP服务器。 2、登录重试次数 在命令行中输入:loginfails 10,这表明如果10次还没有登录成功就切断连线。 3、密码检查 格式:passwd-check 〈strictness〉 warn 是对匿名用户的密码使用方式的检查,其中〈strictness〉是三个可能的字符串之一:None、Trivial、RFC822。若选None,表示将不对口令做任何检查;若选Trivial,表示对口令有一定的要求,它需要在口令中至少要有一个@符号;若选RFC822,则表示最严格,要求E-mail地址必须遵守RFC822报文标题标准(如:[email protected] )。 例如:passwd-check rfc822 warn,表明密码的要求很严格,当密码不符合规定时出现警告信息。 4、登录人数的限制 格式:limit [类别] [人数] [时间] [文件名] 设置指定类别在约定时间内可以登录FTP的人数。例如:limit remote Any/etc/many.msg,说明类别Remote类别在任何时间内登录人数不超过20个人,否则会显示Many.msg警告信息。 合理运用这些配置,可以有效地保护好我们的服务器。 验证 安装、配置好FTP服务器后,就可以进行验证,用图形工具和命令行均可访问FTP服务器。在Linux里最常用的命令为FTP,它提供了一个并不复杂的FTP服务器接口。与FTP服务器连接,只需要在命令提示符后输入:FTP Servername,用主机名或希望连接的FTP服务器的IP地址代替Servername,按照提示输入用户名和口令,然后用标准的Linux上移或下移FTP服务器目录结构。另外,也可以采用图形化FTP程序,包括窗口式gFTP,可以借助Web浏览器去访问FTP服务器。 以上是在Linux下进行FTP服务器配置的要点,希望对您有所帮助。
5. 怎么样在Redhat Linux 下配置FTP,Web,Mysql服务(要具体的,最好完整的)
1,Linux下架FTP!!
Linux下一般最常用的工具wu-ftpd.
wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftp.wu-ftpd.org下载最新版本的源代码包。
安装好以后,可以用ckconfig命令来检查是否已经正确安装。在/etc/passwd中可以指定ftp用户的登入目录。
wu-ftpd主要有以下6个配置文件:
ftpaccess(主要配置文件,控制存取权限)
ftpconvertions(配置文件压缩/解压缩转换)
ftpgroups(设定ftp自己定义的群组)
ftphosts(设定个别的用户权限)
ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机)
ftpusers(设定哪些帐号不能用ftp连线)
下面我们来一一介绍。
⒈/etc/ftpaccess(wu-ftpd的主要配置文件)
class--定义群组,用法如下:
class<种类>;<用户地址>;[<用户地址>;……]
由class定义的群组用户才可以连线进来,可以使用多层式的class来规范哪些群组的用户能够从哪些地方上来。这里有三个重要的种类,real、anonymous个guest。real如果没有列在定义中,那么这台机器中任何真实的一般用户都无法用自己的帐号连上来。anonymous如果没有在定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest群组的人就可以上来。另外<用户地址>;是指ftp上来的用户会用到的IP地址,则可自行设定。以下是一些例子:
class all real,guest,anonymous *
定义了一个名为all的class,包含三种人,所有IP的连线用户(也就是所有人都包括了)
class local real localhost loopback
local这个class说,只有real的用户可以从本机机器连上来
class remote guest,anonymous *
remote这个class包含了从任何地方上来的guest和anonymous用户,但是real用户不算
class rmtuser real !*.example.com
rmtuser这个class包含了从外面来的(除了example.com)真实用户
autogroup--自动对应群组,用法如下:
autogroup[……]
当你定义好的那些同属于一个class的用户,一旦连线上来就会被对应到一个相应的群组下面,这样你就可以用Unix的文件权限对某一群人做限制。
deny--拒绝某些地址连线,用法如下:
deny<拒绝连线的地址>;<信息文件>;
禁止某些机器连线,并显示<信息文件>;。例如:
deny 210.62.146.*:255.255.255.254 /etc/reject.msg
guestgroup--设定访客群
guestuser--设定访客帐号
realgroup--设定真实群组
realuser--设定真实帐号
nice--设定给某些class多少优先权,用法如下:
nice
在Linux中,nice的值是-20(最优先)到19(最后处理),这里你可以指定负的值来提高某class的优先顺序。
defumask--设定某class的umask,用法如下:
defumask[]
umask是建立文件时该文件的的权限掩码
tcpwindow--设定tcpwindow的大小
keepalive--设定是否使用TCP SO_KEEPALIVE来控制断线情形
timeout--设定连线超时,用法如下:
timeout accept<秒>;
接受连线超时,预设120秒
timeout connect<秒>;
连线建立超时,预设120秒
timeout data<秒>;
数据传送超时,预设1200秒
timeout idle<秒>;
用户发呆超时,预设900秒
file-limit--限制某class只能传几个文件,用法如下:
file-limit[][]
对某个class限制存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如:
file-limit out 20 lvfour
限制lvfour这个class的用户最多只能下载20个文件
byte-limit--限制某class只能传几个字节,用法跟file-limit相似
limit-time--限制一个连线只能持续多久,用法如下:
limit-time{*|anonymous|guest}<分钟>;
为了避免有人挂在站上不下来,可以用这个方法限制用户的上线时间,例如:
limit-time guest 5
让guest帐号的用户只能用5分钟
limit--限制某class能同时几人上线,用法如下:
limit<连线数目>;<时间区段>;<额满信息文件>;
设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过连线数目时要显示的信息。例如:
limit all 32 Any /home/ftp/etc/toomanyuser.msg
限制所有连线在任何时间只能有32个用户,超过则拒绝连线并显示信息
limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg
限制levellone这个class的用户在23:00到6:00这段时间内只能有5人连线
noretrieve--设定哪些文件不可下载
noretrieve[absolute/relative][class=]…[-][<文件名>;…]
absolute或relative指文件是用绝对路径还是相对路径
allow=retrieve--设定哪些文件可以下载
allow[absolute/relative][class=]…[-][<文件名>;…]
loginfails--设置登入错误可尝试的次数
当用户连线时可能打错ID或密码,这个设定可以让他打错几次以后就断线,避免有人用穷举法猜测密码。
private--设定线上是否可以执行SITE GROUP/SITE GPASS
当开放SITE GROUP与SITE GPASS指令时,可以用这两个指令切换到/etc/ftpgroup的群组。一般而言我们不会用到这个功能,以避免安全漏洞。
greeting--显示Server的版本信息,用法如下:
greeting
当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。
barnner--设定未进入Login画面之前用户看到的信息,用法如下:
banner<文件路径>;
这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。
host--设定ftp主机名
email--指定ftp管理者的email地址
message--信息文件的设定,用法如下:
message<文件>;{<何时>;{……}}
这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择:
login(登入时)
cwd=<目录>;(进入某目录时)
class 名称是前面已经定义过的,允许你的信息只对哪些人发出。
而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号:
%T(本机时间)
%F(目前分区所剩余的空间)
%C(目前所在的目录)
%E(管理者的E-mail)
%R(客户端主机名称)
%L(本机主机名称)
%U(用户名称)
%M(与我相同class用户允许多少人连线)
%N(与我相同class用户目前有多少人连线)
%B(绝对磁盘限制大小,目前分区(单位blocks))
%b(preferred磁盘限制大小,目前分区(单位blocks))
%Q(目前已使用的blocks)
%I(最大可使用的inodes(+1))
%i(Preferred inodes限制)
%q(目前使用的indoes)
%H(超量使用磁盘空间的时间限制)
%h(超量使用文件数目的时间限制)
readme--通知用户哪些README文件已经更新
log commands--记录用户所使用过的命令,用法如下:
log commands<用户种类>;
log transfers--记录用户所传输的文件,用法如下:
log transfers<用户种类>;<传输方向>;
设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如:
log transfers anonymous,guest inbound,outbound
log security--记录安全性,用法如下:
log security<用户种类>;
特别用于记录某类用户关于noretrive、notar等有关安全性的记录
log syslog--记录到系统的syslog文件
alias--设定目录别名,用法如下:
alias<别名字符串>;<目录>;
cdpath--设定cd更换目录搜索顺序
compress,tar--设定是否自动压缩,用法如下:
compress[……]
tar[……]
定义哪些人可以执行压缩以及tar
shutdown--通知用户要关站了
shutdown<信息文件>;
如果信息文件存在的话,当这个文件指定的某时间以后,就会拒绝连线并切断已有的连线,等时间一到就关机。这个信息文件的格式如下:
<年>;<月>;<日>;<时>;<分>;<拒绝倒数>;<断线倒数>;<文字>;
daemon address--指定只监听某个IP地址,用法如下:
daemon address
当你有许多IP的时候,使用这个选项将会取消其它任何虚拟FTP主机的设定。不设定的话,监听所有IP。
virtual--设定虚拟FTP站台
wu-ftpd提供了虚拟主机的功能,也就是说,在同一台机器上提供了不同FTP站台,以主机名称或IP来区分;当然你要用名称的话,还需要跟DNS配合才行。virtual有很多个设定:
virtual
<路径>;
可以是主机名或IP地址
root指的是ftp的根目录,banner是欢迎信息,logfile指的是这个虚拟站台的log文件
以下是一些例子:
virtual virtual.com.bj root /home/ftp2
virtual virtual.com.bj banner /etc/vftpbanner.2
virtual virtual.com.bj logfile /etc/viftplog.2
virtual
<字母>;
用户可以查到hostname跟管理者email,以下是一些例子:
virtual 210.62.146.50 hostname virtual.site.com.bj
virtual vritual.site.com.bj email [email protected]
virtual
allow<用户>;[<用户>;……]
virtual
deny<用户>;[<用户>;……]
很明显,以上两个选项是设定是否允许连线的,以下是一些例子:
virtual virtual.site.com.bj allow *
virtual virtual.site.com.bj deny badman
virtual
private
本虚拟站台拒绝anonymous用户
defaultserver deny <用户>;[<用户>;……]
defaultserver allow <用户>;[<用户>;……]
当我们使用了虚拟主机,原先的deny,allow设定不知道要设哪个server,所以会无效,用defaultserver代表原来的主机
defaultserver private
主站台拒绝anonymous用户
passive address--转换IP数值
passive address<外部IP>;/cidr
passive ports--passive的ports范围
passive ports
pasv-allow--允许使用pasv
pasv-allow[<地址>;……]
port-allow--允许使用port
port-allow[<地址>;……]
mailserver--指定Upload通知的mail服务器
incmail--指定anonymous upload的email通知地址
virtual incmail--指定虚拟主机anonymous upload的email通知地址
defaultserver incmail--指定预设主机anonymous upload的email通知地址
mailfrom--通知的寄信人upload
virtual mailfrom--虚拟主机upload通知的寄信人
defaultserver mailfrom--预设主机upload通知的寄信人
chmod--设定是否可以改变文件权限
delete--设定是否可以删除文件
overwrite--覆盖文件
rename--重命名文件
umask--允许设定umask
passwd-check--设定anonymous FTP的密码检查程度,用法如下:
passwd-check()
设定对anonymous ftp用户的密码是否检查,none表示不检查,trivial为包含@的任意密码,rfc822则表示密码要遵循RFC822格式,enforce表示密码检查不过不允许进入,warn表示密码检查不过只出现警告信息。
deny=email--拒绝特定的email当密码
path-filer--摄定哪些文件名不可使用
path-filer<错误信息文件>;<允许字符>;<不允许字符>;
upload--设定upload权限
upload[absloute/relative][class=]…[-]<设定的目录>; >;[dirs/nodirs][d_mode]
用来对我们要设定的目录做权限设定:
absoulte/relative使用绝对路径或是相对路径
class=指定某个class
root-dir指的是对哪些root-dir的人,也就是chroot后的登入目录,应用这个规则
设定的目录指的就是我们要限制的目录
yes/no指得是能否在此目录下开新文件
owner,group指出是开出来的文件拥有者及群组
Mode指的是文件权限
dirs/nodirs指的是能否开新目录
d_mode设定建立新目录时目录的权限,如果不设定会根据mode来设定
thoughput--控制下载速度
thoughput<子目录列表>;<文件>;<远端地址列表>;
对远端的地址,控制他抓某个子目录下的某些文件时的速度,例如:
thoughput /e/ftp * * oo - *
thoughput /e/ftp /sw* * 1024 0.5 *
thoughput /e/ftp sw* readme oo - *
thoughput /e/ftp sw* * oo - *.foo.com
以上的设定你是否能够看出来呢?“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表一倍。第一行的意思是说,在/e/ftp下面的文件不限制下载速度;第二行说,在/sw*下面的任何文件限速为1024bytes/sec*
0.5=512bytes/sec;第三行又把readme文件的限速取消;最后一行则对*.foo.com开放全速。
anonymous-root--对某class设定匿名用户的根目录
anonymous-root[]
guest-root--预设一个guest用户根目录
guest-root[]
其中用于指定uid的范围
deny-uid,deny-gid--拒绝某段UID(GID)范围
allow-uid,allow-gid--允许某段UID(GID)范围
restricted-uid,restricted-gid--限制用户不能离开他的登录目录
unrestricted-uid,unrestricted-gid--用户可以离开他的登录目录
dns refuse_mismatch--设定DNS查到名称与用户设定不符的动作
dns refuse_mismatch<信息文件>;[override]
当用户使用未注册IP时,拒绝他的连线,override则是不理会错误而让他连线,信息文件则是我们要给用户看的。
dns refuse_no_reverse--设定无反查记录拒绝连线
dns refuse_no_reverse<信息文件>;[override]
当用户的IP反查无记录时,拒绝他的连线
dns resolveoptions--设定DNS解析选项
dns resolveoptions[options]
这里可以设定DNS解析选项
⒉/etc/ftphosts
ftphosts文件其实跟ftpaccess里面的access,deny很像,它是特别用来设定某些ID的连线,它没有class定义,所以必须是真实用户。
allow|deny<用户>;<地址>;[<地址>;……]
以下是一些例子:
allow rose 140.0.0/8
deny jack 140.123.0.0:255.255.0.0
允许rose从140.*.*.*进来,拒绝jack从140.123.*.*上来
⒊/etc/ftpservers
这个文件控制了当你有不同的IP/hostname的时候,进来的连线使用哪一个配置文件。例如:
10.196.145.10 /etc/ftpd/ftpaccess.somedomain/
10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/
some.domain internal
10.196.145.20 /etc/ftpd/config/faqs.org/
ftp.some.domain /etc/ftpd/config/faqs.org/
⒋/etc/ftpusers
在这个文件里记录的用户禁止使用FTP
⒌/etc/ftpgroups
给SITE GROUP指令使用,线上切换group。SITE EXEC容易造成安全漏洞,一般我们都不开放。
⒍/etc/ftpconversions
用来做tar、compress、gzip等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。
2,Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼
Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼。而在国内,Linux的应用也是方兴未艾,众多公司已经投入到Linux系统的研发和推广工作中。一些优秀的Linux操作系统相继出现,比如红旗Linux等。但是我国的Linux应用水平还很低,熟悉Linux的人员严重缺乏,Linux专业人才的缺乏已成为Linux在国内应用和普及的瓶颈问题。据《开放系统世界》2003年第八期介绍,中国五年内Linux人才需求量将会超过120万。而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。如此大好时机,我们干吗还愣着不动呢!如果你是一位Linux爱好者,你可能已经掌握了基本的Linux的知识与操作,毫无疑问,你并不会去满足这样小小的成就。Linux为何如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器应用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中,我将以Redhat Linux 9为蓝本,从Web服务器的一些最基本的操作入手,从初学者使用的态度,让读者正确充分的认识Apache。好,现在就让我们一起踏上征服Apache的自由之路吧。
Apache的主要特征是:
. 可以运行上所有计算机平台;
. 支持最新的HTTP 1.1协议;
. 简单而强有力的基于文件的配置;
. 支持通用网关接口CGI;
. 支持虚拟主机;
. 支持HTTP认证;
. 集成Perl脚本编程语言;
. 集成的代理服务器;
. 具有可定制的服务器日志;
. 支持服务器端包含命令(SSI)
. 支持安全Socket层(SSL)
. 用户会话过程的跟踪能力;
. 支持FastCGI;
. 支持Java Servlets。
安装Apache
下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。
系统需求
运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。
获取软件
你可以在http://www.apache.org中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。
需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。
安装软件
你可以通过以下三种方法安装Apache服务器。
1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。
2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。
下载软件包apache_1.2.4.e.tar.gz
tar xvzf apache_1.2.4.e.tar.gz
这就完成了安装工作,简单吧!
如果你使用的是RedHat Linux的话,你也可以下载apache_1.2.4.rpm软件安装包,然后使用rpm -ivh apache_1.2.4.rpm命令安装。
3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache定制其功能。
下载包含Apache源代码的软件包apache_1.2.4.tar.gz; 然后用tar命令将它解开; 将当前目录改变为Apache源代码发行版的src目录; 将配置样本文件(Configuration.tmpl)复制为Configuration文件;
编辑Configuration文件中的配置选项:
Makefile配置选项:一些编译选项:
. "CC="一行指定用什么编译软件编译,一般为"CC=gcc";
. 如果需要将额外的标志(参数)指定给C编译软件,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
. 如果系统需要特殊的库和包含文件,可以在这里指定它们:
EXTRA_LIBS=
EXTRA_INCLUDES=
. 如果你要改变代码优化设置的话,你须将下面一句去掉注释,然
后改成你所需要的值:
#OPTIM=-O2
Rule配置选项:用来决定需要什么功能,一般情况下无需改变。
模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:
AddMole moles/standard/mod_env.o
如果你需要Apache服务器具备什么功能,就将那个模块用AddMole语句加到配置文件Configuration中去。
3,一、 MYSQL的基本概念
1、MYSQL的定义
MYSQL一种多用户、多任务的数据库服务器软件
2、MYSQL的特点
支持多平台,没有内存漏洞,分布式处理
支持JAVA、PHP、PERL、支持数据类型
支持ODBC,支持SQL查询
二、 安装MYSQL的服务器
1、 RPM方式MYSQL
#RPM –ivh MYSQL-3。23-3.i386.rpm
#RPM –ivh MYSQL-client-3.23-33.i386.rpm
#RPM-ivh MYSQL-Shared.3.23-33.i386.rpm
#Tpm -ivh MYSQL –server.3.23-33.i386.rpm
2.编译安装方式
#tar -xvzf mysql 3.23.tar.gz
# cd mysql-3.23
#/configure --prdfix=/usr/local
#make
#malke install
# cd/usr/local/bin/
#/mysql-install-db 初始数据库系统。
系统库作用:记录服务器的设置参数,存放用户库信息
安全选项
#safe-mysqld
6. 如何在linux上配置ftp 及创建 ftp用户
做一个虚拟账户就解决了:
步骤如下:
1、建立虚拟用户口令库文件
口令库文件中奇数行设置用户名,偶数行设置口令
# vi /etc/vsftpd/logins.txt 注意,一下是4行
upload 这个是帐户名
upload 这个是密码
download
download
2、生成vsftpd的认证文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
设置认证文件只对用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
3、建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!
4、建立虚拟用户所要访问的目录并设置相应权限
# mkdir /home/ftpsite
# useradd -d /home/ftpsite virtual(用户名)
# chown virtual:virtual /home/ftpsite
# chmod 700 /home/ftpsite/
5、设置vsftpd.conf配置文件
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
# service vsftpd restart
7、建立用户配置文件目录
使用mkdir命令建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同
touch /etc/vsftpd_user_conf/upload
touch /etc/vsftpd_user_conf/download
8、每个FTP虚拟用户都可以独立设置其权限
vi /etc/vsftpd_user_conf/upload
anon_world_readable_only=NO 可读可下载
anon_upload_enable=YES 可上传
anon_mkdir_write_enable=YES 可创建和删除文件夹
anon_other_write_enable=YES 可文件改名和删除文件
local_root=/home/ftpsite/upload 指定upload的宿主目录
download_enable=NO 禁止下载
(注意:请先到/home/ftpsite下面去创建upload文件夹)
7. Linux下用C语言写一个FTP系统程序,基于客户/服务器模式
在绝大多数的LINUX发行版本中都选用的是WashingtonUniversity
FTP,它是一个着名的FTP服务器软件,一般简称为wu-ftp。它功能强大,能够很好地运行于众多的UNIX操作系统,例如:IBM
AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求:
1) 可以在用户下载文件的同时对文件做自动的压缩或解压缩操作;
2)
可以对不同网络上的机器做不同的存取限制;
3) 可以记录文件上载和下载时间;
4)
可以显示传输时的相关信息,方便用户及时了解目前的传输动态;
5) 可以设置最大连接数,提高了效率,有效地控制了负载。
& 2.2 所需资源
&1.2.1
所需包
RedHat6.2 服务器安装
&1.2.2
所需配置文件
/etc/ftpusers
/etc/ftpaccess
/var/run/ftp.pids
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts
&1.2.3 相关命令
ftpd FTP服务器程序
ftpshut 用于关闭FTP服务器程序
ftpcount 显示目前在线人数
ftpwho
查看目前FTP服务器的连接情况
ckconfig 检查FTP服务器的设置是否正确
ftprestart
重新启动FTP服务
&1.2.4 相关目录
/home/ftpd/bin
存放一些供FTP用户使用的可执行文件
/home/ftpd/etc
存放一些供FTP用户使用的配置文件
/home/ftpd/pub 存放供下载的信息
/home/ftpd/incoming 存放供上载信息的空间
配置方案
1.
/etc/ftpaccess
说明: ftp权限配置文件
源文件:
guestuser weboa
# FTP用户
class all real,guest,anonymous
*
class weboa guest *
# 格式:class [类名]
[real/guest/anonymous]
[IP地址]
功能:
这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP
服务器上的用户基本上可以分为以下三类:
real 在该FTP服务器有合法帐号的用户;
guest 有记录的匿名用户;
anonymous 权限最低的匿名用户
email [email protected]
loginfails 5
# 格式:loginfails [次数]
功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。
readme README* login
readme README* cwd=*
message /welcome.msg
login
message .message cwd=*
#
格式:message [文件名称] [指令]
功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。
compress yes all
# 格式:compress
[yes/no] [类别]
功能:设置哪一个类别的用户可以使用compress(压缩)功能。
tar
yes all
# 格式:tar [yes/no] [类别]
功能:设置哪一个类别的用户可以使用tar(归档)功能。
chmod no
guest,anonymous
# 格式:chmod [yes/no] [real/anonymous/guest]
功能:
设置是否允许指定用户使用chmod命令更改文件权限。默认是
允许。
delete yes all
# 格式:delete [yes/no]
[real/anonymous/guest]
功能:
设置是否允许指定用户使用delete命令删除文件。默认是允许。
overwrite yes guest
#
格式:overwrite [yes/no] [real/anonymous/guest]
功能:设置是否允许指定用户覆盖同名文件。默认是允许。
rename yes guest
#
格式:rename [yes/no] [real/anonymous/guest]
功能:设置是否允许指定用户使用rename命令来为文件改名。默认
是允许。
log
transfers anonymous,real inbound,outbound
# 格式:log transfers
[real/guest/anonymous] [inbound/outbound]
功能:
设置哪些用户的上载(inbound)和下载(outbound)操作做日志。
shutdown
/etc/shutmsg
# 格式:shutdown [文件名]
功能:
FTP服务器关闭的时间可以设置在后面所指定的文件中,当设
置的时间一到,便无法登录FTP服务器了,要恢复的话只有将
这个文件删掉。而这个文件必
须由指令/bin/ftpshut来生成。
passwd-check rfc822 warn
#
格式:passwd-check [none/trivial/rfc822] [enforce/warn]
功能:设定对匿名用户anonymous的密码使用方式。
none 表示不做密码验证,任何密码都可以登录;
trival 表示只要输入的密码中含有字符“@ ” "Times New Roman"'>就可以登录;
rfc822 表示密码一定要符合RFC822中所规定的E-Mail格式才
能登录;
enfore 表示输入的密码不符合以上指定的格式就不让登录;
warn
表示密码不符合规定时只出现警告信息,仍然能够登录。
limit remote 32 Any
/etc/ftpd/toomany.msg
# 格式:limit [类别] [人数] [时间] [文件名]
功能:这个指令的功能为设置指定的时间内指定的类别允许连接的
指定人数上限。当达到上限的时候,显示指定文件的内容。
upload /home/ftpd * no
upload /home/ftpd /pub yes anonymous 0644 dirs
# 格式:upload [根目录]
[上载目录] [yes/no] [用户] [权限]
[dirs/nodirs]
功能:对可以上载的目录进行更加详细的设置。
alias incoming
/home/ftp/incoming
# 格式:alias [目录别名] [目录名]
功能:给指定目录设置一个别名,在切换目录时就可以使用较短的
目录别名。
2.
/etc/ftpusers
说明:FTP用户黑名单,为了安全考虑,需要禁止以下用户使用FTP
源文件:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
在众多的网络应用中,FTP(File Transfer
porotocol)有着非常重要的地位。在Internet中一个十分重要的资源就是软件资源。而各种各样的软件资源大多数都是放在FTP服务器中的。可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。
FTP服务可以根据服务对象的不同分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,Anonymous
FTP Server,它使用任何人都可以登录到FTP服务器上去获取文件。
如果你在安装LINUX系统的时候,在选择启动进程的时候选择了“ftpd”这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。我们已经可以利用它来实现系统FTP服务器的功能了。我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。
8. 如何控制AIX中目录的ftp访问权限
当我们想要将一个目录设置为ftp只读或ftp只写时,我们可以借助/etc/ftpaccess.ctl文件来实现这种权限控制。
一、设置一个目录为ftp只读
1. 编辑/etc/ftpaccess.ctl,加入如下一行:
readonly: /test
2. ftp连接服务器进行读取传输,成功
HA_node2@/> ftp 172.16.18.13
Connected to 172.16.18.13.
220 DumpServer FTP server (Version 4.2 Fri Feb 3 22:13:23 CST 2006) ready.
Name (172.16.18.13:root): root
331 Password required for root.
Password:
230-Last unsuccessful login: Tue May 13 08:44:37 2008 on /dev/pts/1 from 9.181.50.139
230-Last login: Tue May 13 10:45:06 2008 on ftp from ::ffff:9.181.50.246
230 User root logged in.
ftp> cd /test
250 CWD command successful.
ftp> lcd /test
Local directory now /test
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 29472
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> get trace.raw
200 PORT command successful.
150 Opening data connection for trace.raw (880640 bytes).
226 Transfer complete.
880852 bytes received in 0.08342 seconds (1.031e+04 Kbytes/s)
local: trace.raw remote: trace.raw
3.进行写入传输,则遭遇报错
ftp> bin
200 Type set to I.
ftp> put trace.raw-1
200 PORT command successful.
550 Write access denied
二、设置一个目录为ftp只写
1. 编辑/etc/ftpaccess.ctl,加入如下一行:
writeonly: /test
2. ftp连接服务器进行读取传输,则遭遇报错
HA_node2@/> ftp 172.16.18.13
Connected to 172.16.18.13.
220 DumpServer FTP server (Version 4.2 Fri Feb 3 22:13:23 CST 2006) ready.
Name (172.16.18.13:root): root
331 Password required for root.
Password:
230-Last unsuccessful login: Tue May 13 08:44:37 2008 on /dev/pts/1 from 9.181.50.139
230-Last login: Tue May 13 15:45:37 2008 on ftp from ::ffff:172.16.18.11
230 User root logged in.
ftp> cd /test
250 CWD command successful.
ftp> lcd /test
Local directory now /test
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 29472
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer complete.
ftp> bin
200 Type set to I.
ftp> get trace.raw-2
200 PORT command successful.
550 Read access denied
3.进行写入传输,成功
ftp> bin
200 Type set to I.
ftp> put trace.raw-1
200 PORT command successful.
150 Opening data connection for trace.raw-1.
226 Transfer complete.
880640 bytes sent in 0.07938 seconds (1.083e+04 Kbytes/s)
local: trace.raw-1 remote: trace.raw-1
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 31192
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-r----- 1 root system 880640 May 13 15:53 trace.raw-1
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer complete.
9. 怎样配置一个FTP的网站服务器
Windows2003用IIS配置FTP服务器教程:
用IIS建立FTP服务器不是非常复杂,操作起来比较简单,类似于用IIS建立网站,其中涉及的虚拟目录等概念和网站中的虚拟目录一致。
第一步:通过任务栏的“开始->所有程序->管理工具”,再其下找到Internet信息服务(IIS)管理器,打开管理器后会发现在最下方有一个“FTP站点”的选项,我们就是通过它来建立FTP服务器。
第二步:默认情况下FTP站点有一个默认FTP站点,只要把资源放到系统目录下的inetpub目录中的FTPROOT文件夹即可。如系统在F盘,只要将分享的资源放到f:inetpubftproot目录中就可以了,用户登录默认FTP站点时将会看到放到该目录中的资源。
第三步:如不想使用默认设置和默认路径的话可以进行修改,方法是在“默认FTP站点”上点鼠标右键选择“新建->FTP站点”。
第四步:在启动的FTP站点创建向导中可以自定义FTP服务器的相关设置,点“下一步”后继续。
第五步:为FTP站点起一个名,这里设置为boaer.com的FTP。
第六步:为此FTP站点设置一个可用的IP地址,还可以选择“全部未分配”,这样系统将会使用所有有效的IP地址做为FTP服务器的地址。同时FTP服务器对外开放服务的端口是多少也是在此进行设置的,默认情况下为21。
第七步:接下来是FTP用户隔离设置,选择不隔离用户,用户可以访问其他用户的FTP主目录,选择隔离用户则用户之间是无法互相访问目录资源的,另外AD隔离用户主要用于公司网络使用AD的情况。对于大多数情况来说,公司是没有AD的,而且为了安全起见需要隔离用户,因此我们选择第二项“隔离用户”。
第八步:选择FTP站点的主目录,可以进行修改,默认为系统目录下的inetpub目录中的FTPROOT文件夹。通过右边的“浏览”按钮设置为其他目录,例如“D:oaer”。
第九步:设置用户访问权限,只有两种权限提供给我们进行设置,依次为“读取”和“写入”,我们根据实际进行设定即可。
第十步:FTP站点的全部设置工作完成。到internet信息服务(IIS)管理器中在FTP站点下的“boaer的FTP”上点鼠标右键选择启动即可开启该FTP。
10. AIX小机怎么限制FTP帐号的登录目录和操作权限
1.创建并编辑ftpaccess.ctl
#vi /etc/ftpaccess.ctl ->添加useronly: ftpuser1,ftpuser2……
这些用户FTP后看到的目录是"/",不允许cd到上级目录
2. Copy the "ls" binary to user's home directory:
Please replace $HOME below with user's home directory.
$HOME表示该用户ftp后到达的指定目录(可通过/etc/passwd文件查看该用户的$HOME目录)
# mkdir bin
# chown root bin
# cp /bin/ls /ftp/bin/ls
# chmod 111 /ftp/bin/ls
# chmod 555 /ftp/bin
# chgrp system /ftp/bin
3. Copy the required libraries:
# mkdir lib
# chmod 555 lib
# chgrp system /ftp/lib
# cp /usr/lib/libc.a lib/libc.a
# cp /usr/lib/libcurses.a lib/libcurses.a
# cp /usr/lib/libcrypt.a lib/libcrypt.a
4.重启ftp服务:
#stopsrc -t ftp
#startsrc -t ftp