为了配置 Open Suse Linux 11.1 的 FTP
Server,今天几乎折腾了一天,现在算是小有所获吧,写写自己的过程。
首先在安装 SUSE 的过程中,software 部分选上 File
Server,这部分包括 FTP Server。当然喽,在YaST中安装这个也可以。安装完Linux之后,打开 YaST,在 network service
中选择 FTP Server。然后在 Start-up 页中选择 "Service Start" 为 "When
Booting"。在某些时候,可能由于Firewall的关系,其它的电脑不能通过网络访问这个FTP server,这个时候需要在 Expert Settings
页中,选择 "Open Port in Firewall",然后重启 FTP server 就可以了。
在这个步骤之前,学习了老半天
/etc/xinetd.d 目录下的文件,学习如何修改这个文件来启动 ftp
services,但总是失败,不过也小有收获,大致知道了这些文件都是做这个用的,在这儿写下来,以备将来参考。
linux中,/etc/xinetd.d
目录中各文件的设定
在由 super deamon 管理的服务一般是在 /etc/xinetd.d 中设置参数,在启动时,会读取
/etc/xinetd.conf 中的预设参数,但是我们可以在 /ect/xinetd.d 中更改预设的参数。
在/etc/xinetd.d
中参数档案的内容都类似于:
---------------------------------------------------------------------------------------------
service
<service_name>
{
<attributte> <assign_op>
<value> <value>.......
............
}
-------------------------------------------------------------------------------------------
第一行一定都有一个
service,至于那个 <service_name> 里面的内容,则与 /etc/services 有关,因为它可以对照着
/etc/services内的名称与 port number 来决定所要启用的 port 是哪个。然后相关的参数就在两个大括号中间。 attribute 是一些
xinetd 的管理参数,assign_op 则是参数的设定方法。assign_op 的主要设定形式为:
= :
表示后面的设定参数就是这样的
+= :表示后面的设定为“在原来的设定里加上新的参数”
-=
:表示后面的设定为”在原来的参数舍弃这里输入的参数“
下面是相关说明:
一般设定项目:
disable
yes/no
允许该 server可以执行或者不能执行。如果我想要启动某个服务,则应 设定为: disable =
no
socket_tpye
stream/dgram/raw
stream为联机机制较为可靠的TCP包,若为UDP则使用dgram机制。raw代表server需要与IP直接对谈。例如:telnet
使TCP:
socket_type = stream
protocol
tcp/udp/......
这个东西是说在联机时使用的是哪一种协议。各个协议的代号 可以参考
/etc/protocols内容。此外,除非是你自己设定的服务,否则这个可以不用设定
wait
yes/no
这就是Multi-threaded
与single-threaded的方式,即如果同时有多人请求服务,是同时进行服务个还是按顺序一个一个的服务。 如果允许同时,可设为: wait =
no
user UID/root
如果服务启动者不要以root为主的话,那么这个地方就可以改变为其它
的使用者,例如 nobody 。此外,这个UID必须存在于 /etc/passwd中。
group
GID
同user,只是这个GID也必须存在于 /etc/group中
instance
number/UNLIMITED
这个是在同一时间之内,同一个服务可以允许的联机数目,可以
写入一个数字进行控制,也可以使用UNLIMITED不限制上限。
nice
-19~19
设置该程序的优先级,数字越小(负值)越先被执行
server
program(完整路径)
这个就是指出这个服务的启动程序:例如要启动telnet的话,可以输入: server =
/usr/bin/telnet
server_args program的一些参数
这里就是在
server那里需要的一些参数
log_on_success
PID/HOST/USERID/EXIT/DURATION
在成功登入之后,需记录的项目: PID 为记录该server启动时的process
ID,HOST为远程主机的IP,USERID为登入者的账号,EXIT为离开的时候记录的项目,DURATION为该使用者使用此服务多久。
log_on_failure
HOST/USERID/ATTEMPT/RECORD
在登入失败后被 syslog记录的项目:
HOST为远程主机的IP,USERID为登入者账号,ATTEMPT为记录登入者的企图为何,RECORD为记录远程主机的信息以及为何本机server不能启动的原因,主要有login,shell,exec,finger等指令可以使用在这里
(基本上,可以在 /etc/hosts.allow
或/etc/hosts.deny书写内容)。
高级设定项目:
env
'name=value'
这个项目可以让你设定环境变量
port
number
这里可以设定不同的服务与对应的port,但请记住你的port与服务名称必 须与 /etc/services
内记载的相同才行!
redirect IP_Address
port
将client端对我们的要求,转到另一部主机上去。那个IP_Address
即为远程主机的IP。
includedir
directory
表示引入此目录底下的所有档案到/etc/xinetd.conf
安全控制项目:
bind
IP_Address
这个是设定“允许使用此一服务的适配卡”的意思。即如果你的LINUX主机上有
两个IP,你只想让IP1可以使用此一服务,但IP2不能,这里就可以将IP1写入。
interface
IP_Address
与bind相同
only_from 0.0.0.0或192.168.1.0/24 或host_name
或domain_name
这东西用在安全机制上面,也就是管制“只有这里面规定的IP或者主机名称可以登入”!如果是0.0.0.0则表示所有主机都可以登入,如果是192.168.1.0/24,则为192.168.1.1~192.168.1.255之间的可登入。另外也可以选择
domainname,例如,.ev.ncku.edu.tw,则为该域内主机可登入。
no_access
同上
跟only_from差不多,只是表示为“不可以”登入的主机
access_times
00:00-12:00/HH:MM-HH:MM
这个项目在设定“该server启动的时间“,是使用24小时设定。例如你的ftp要在8点到16点开放的话,就是:
08:00-16:00。
umask
000/777/022
设定使用者建立目录或档案的时候默认的属性。系统建议值为022。