这些都是比较有实用性的系统配置,收藏下,以备不时之需!以下是etc下重要配置文件解释:
1、/etc/hosts
#文件格式: IPaddress hostname aliases
#文件功能: 提供主机名到IP地址的对应关系,建议将自己经常使用的主机
# 加入此文件中,也可将没有DNS记录的机器加入到此文件中, 会方便网络应用
系统默认有以下两条,建议保留:
#cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
新添加如:{必须有三个字段:IP、FQDN(完全合格域名/全称域名)、HOSTNAME}
210.38.206.21 jx.sgu.edu.cn jx
2、/etc/resolv.conf
文件功能:DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名
与它有相关的文件:/etc/host.conf
文件格式:
domainname 域名
search 域名
nameserver Primary_DNS_Server_IP_address
nameserver Second_DNS_Server_IP_address
其中domainname和search可同时存在,也可只有一个;nameserver可指定多个
示例文件内容:
search sgu.edu.cn
nameserver 202.96.128.86
3、 /etc/host.conf
功能:指定主机名查找方法,通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求
(对于大多数用户不用改动此文件内容)
文件内容可以有以下这些:
order bind,hosts
multi on
nospoof on
解释:
order bind,hosts——>指定主机名查询顺序,这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件(也可以相反)
multi on——>指定是否“/etc/hosts”文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为多穴主机
nospoof on——>指不允许对该服务器进行IP地址欺骗(IP欺骗是一种攻击系统安全的手段,通过把IP地址伪装成别的计算机,来取得其它计算机的信任)
4、/etc/xinetd.conf
旧版本或其他版本为inetd.conf,在Redhat新的版本中 /etc/inetd.conf文件已经没有了,取而代之的是/etc/xinetd.d下的文件,每一个文件就是一个用inetd方式启动的服务,与以前的inetd.conf的作用相同,只是将文件的格式变了
它是Internet 的超级服务器,保存了系统提供internet服务的数据库,通过这个文件,你可以对这些服务加以控制,如打开/关闭某项服务,使它们更为安全的运行。相关程序: /usr/sbin/inetd
相应服务:
telnet、ftp、nrpe、pop3····
基中每项有效的条目中都应该包含以下的域:
* 服务名
* 套接字类型
* 协议类型
* wait/nowait[.max]
* 用户名[.组]
* 服务程序
* 服务程序的参数
——服务名是在/etc/services文件中经过定义的有效服务名称(如telnet,echo等)
——套接字类型域包含以下几种:
* stream - stram
* dgram - datagram
* raw - raw
* rdm - reliabl! y delivered message
* seqpacket - sequenced packet
——协议类型域必须是已经在/etc/protocols文件中定义过的类型(如最常见的是tcp和udp),Sun-RPC服务要在协议前加上“rpc/”(如rpc/tcp或者rpc/udp)
——Wait 只用于数据包套接字,其它的都使用nowait参数。如果服务是多线程的,意味着在与对端建立连接后将释放套接字xinetd进程可以通过些套接字接收更多的消息,这些用“nowait”条目。如果服务是单线程,表示服务将在同一个socket中处理所有的外来数据包,直到超时,这种情况下使用“wait”条目。Max参数,用一个点与wait/nowait隔开,定义了inetd进程在一分钟之内最大产生的实例数目
——用户域定义了服务的使用者。组参数,通过点与用户名隔开,定义了除/etc/passwd文件中之外的可以运行服务的组ID
——服务程序是在套接字请求时执行的程序的完整路径。如果是inted进程内置的服务,此处应为“internally”
——服务程序参数提供程序运行的所需的参数,同样的,如果是内置服务,此处也为“internally”
看一个telnet实例:
/usr/sbin/tcpd in.telnetd
* 服务名: telnet
* 套接字类型: stream
* 协议类型: tcp
* Wait/Nowait[.max]: nowait
* 用户名[.组]: root
* 服务程序: /usr/sbin/tcpd
* 参数: in.telnetd
服务的开启与关闭
非常简单,只要在想要关闭的服务前面加上一个#注释掉即可,如:
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
这时,telnet服务已经关闭了!如果想开启,只需要把#去掉
5、/etc/hosts.allow 和 /etc/hosts.deny
/etc/hosts.allow 设置允许使用xinetd服务的机器,如: All:210.38即允许所有来自210.38.x.x的请求
/etc/hosts.deny 设置不允许使用xinetd服务的机器
6、/etc/networks
旧的或其他版本Linux还会有这个文件/etc/netmasks
文件主要功能是路由表,其他的功能,如添加静态路由、删除路由等可自行参考man
一些例子:
#route add -net dlrin gw dlrin-gw#route add -net 210.38.206.21 netmask 255.255.255.0 eth0#route add -net 210.38.206.23 netmask 255.255.255.0 gw 210.38.206.254 #route add -net *** gw 202.118.66.254#route add default gw 202.118.66.1
7、/etc/passwd ——用户口令文件
/etc/issue 系统进站提示信息(主控台用)
/etc/issue.net telnet时显示信息
/etc/motd 用户进入系统后的提示信息(可以为空)
/etc/ld.so.conf 动态链接库文件目录列表
8、/etc/exports
NFS(Network File System) Server 输出文件系统表,其定义格式:
#cat /etc/exports
/mnt/iso 210.38.206.0/24(rw,sync)
其中参数有:
设置选项 说明
sync 设置NFS服务器同步写磁盘,这样不会轻易丢失数据,NFS服务器建议使用该选项
ro 设置输出的共享目录只读,与 rw捡能同时使用
rw 设置输出的共享目录可读写 ,与ro不能共同使用
9、 /etc/bashrc 和 /etc/csh.cshrc 和 /etc/profile
其中/etc/bashrc [全称为 BASH(Bourne Again Shell) RunTime Command Shell Script] 用的最多
系统用户默认的环境设置:PATH, umask, TERM Type
/etc/csh.cshrc [CSH Runtime COmmand]
10、 /etc/pam.d/login
root可登录的终端设备列表, tty[1-8] 为主控台上的设备,ttyp* (LINUX)远程登录终端(TELNET、ssh)设备
/etc/nologin
系统在要关机时不希望用户登录进来,就产生此文件,此文件内容为显示给用户的有关拒绝连接的信息,用户此时就不能进入系统。当系统重新启动时如果有此文件,则机器启动后任何用户不能使用系统,此时可考虑从软盘或光盘引导删除此文件,然后再重新启动系统
/etc/security
设定那些终端可以让root登录,一般情况下设定为只有console上的用户可能用root,而在Redhat下使用了PAM机制,相应的文件为/etc/securetty
/etc/X11/* XFree86窗口配置文件
/etc/shells
用户可以使用的shell列表,如果强行修改/etc/passwd文件,也可以使用不在列表中的shell程序,但对于shell不在此列表中的用户将无法使用FTP连接本系统
/etc/mtab
系统在启动时创建的信息文件,内容为已经mount的文件系统,此文件内容是动态更新的,可参考/proc/mounts
文章参考:http://blog.chinaunix.net/space.php?uid=8001329&do=blog&id=2536011
3.1 /etc/hosts
#/etc/hosts
#文件格式: IPaddress hostname aliases
#文件功能: 提供主机名到IP地址的对应关系,建议将自己经常使用的主机
# 加入此文件中,也可将没有DNS记录的机器加入到此文件中,
# 这样会方便网络应用
127.0.0.1 localhost localhost.localdomain
202.118.66.81 helius.dlut.edu.cn helius
3.2 /etc/resolv.conf
文件功能:DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名
相关文件:/etc/host.conf
文件格式:
domainname 域名
search 域名
nameserver Primary_DNS_Server_IP_address
nameserver Second_DNS_Server_IP_address
其中domainname和search可同时存在,也可只有一个;nameserver可指定多个
示例文件内容:
search dlut.edu.cn
nameserver 202.118.66.6
3.3 /etc/host.conf
功能:指定主机名查找方法,通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求。
对于大多数用户不用改动此文件内容。
Linux: /etc/host.conf文件内容
order hosts, bind
multi on
Soalris: /etc/nsswitch.conf 中的hosts项
hosts files, dns
3.4 /etc/HOSTNAME ( Linux Redhat 5.x Distribution)
功能:设置主机名,不同LINUX之间可能有所差别,请使用
egrep hostname /etc/rc.d/init.d/*
或
egrep hostname /etc/init.d/*
查找相应版本上的主机名设置文件及方法。
Linux Redhat 5.x对应文件: /etc/sysconfig/network的HOSTNAME项。
3.5 /etc/inetd.conf
Internet 超级服务器, 相关程序: /usr/sbin/inetd
相应服务:
telnet
ftp
pop3
r* rsh rcp rlogin (建议最好关闭r服务)
其他服务最好关掉
linuxconf stream tcp wait root /bin/linuxconf linuxconf --http
3.6 inetd.conf相关文件/etc/services(SYSV/BSD/LINUX相同)
基本不用编辑,linux自带的已包含大部分服务, Solaris 可能需要增加(POP3),
参考相应的服务器安装说明,在此文件中列出了所有可用的网络服务。
# End of services.
linuxconf 98/tcp # added by linuxconf RPM
3.7 /etc/hosts.allow /etc/hosts.deny (Linux下,或使用了tcpd, 参考inetd.conf)
/etc/hosts.allow 设置允许使用inetd服务的机器,如: All:202.118即允许所有来自
202.118.x.x的请求
/etc/hosts.deny 设置不允许使用inetd的机器
这两个文件的设定顺序请参考在线文档:
man tcpd
man hosts.allow
man hosts.deny
Internet 网络服务访问控制文件,
对于安全性要求较高的服务器建议采用xinetd替代inetd,
xinetd debian自带,其他的可以用源代码进行编译安装
3.8 /etc/networks /etc/netmasks
列出路由所需要的网络地址,相关命令/usr/sbin/route,当然也可以不使用这两个
文件,在维护路由表时可直接使用IP地址及网络屏蔽位。
Example:
/etc/networks
dlrin 202.199.128.0
/etc/netmasks
202.199.128.0 255.255.240.0
加入静态路由表项:
+---------------+ DDN
| Cisco 2511 +<-------------->DLMU 202.118.64.0/255.255.255.0
| +<-------------->DLNA 210.47.192.0/255.255.240.0
+-------+-------+
| 202.118.66.254
| 202.118.66.16
+-------+-------+ +-------------+ +-----------+
| Switch/HUB +-------+网络中心 +-----+ LAN Router+
+-------+-------+ +-------------+ +------+----+
| |
|
| 202.118.68.0/255.255.252.0
| +--------------+
+--------------+ 202.118.66.81+ (测试机器)
| +--------------+
|
|
| 202.118.66.1(Default Router)
+-------+-------+
| 路由器 +
+-------+-------+
|202.112.30.65/255.255.255.252
| DDN
| PPP
|
|202.112.30.66/255.255.255.252
Cernet/Internet
(1) 202.118.66.81(Helius) <-> 202.118.66.18 (peony)
202.118.066.081
255.255.255.0 And
-------------------
202.118.066.0 网络地址 在同一个ip网络段
IP Address <-> MAC(Media Access Address)
202.118.66.18 08:00:20:96:01:6A
202.118.66.81 00:80:C8:4C:6A0
202.118.66.1 00:60:5C:F3:FF:75
202.118.66.81 -> 202.118.66.18
以太网的数据包:
08:00:20:96:01:6A + 00:80:C8:4C:6A0 + ip数据
(2) 202.118.66.81 -> 202.112.0.36
不在同一个ip段, 通过间接传送(通过路由器).
[hbwork@linden hbwork]$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
202.118.66.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 3584 0 0 lo
0.0.0.0 202.118.66.1 0.0.0.0 UG 1500 0 0 eth0
^^^^^^^
Default Router
(3) 加入静态路由
相关命令:/usr/sbin/route或 /sbin/route
linux下需要加入自己网络的路由表项
/sbin/route add -net 202.118.66.0 netmask 255.255.255.0 eth0
/sbin/route add -net 202.199.128.0 netmask 255.255.240.0 gw 202.118.66.254
Or:
/sbin/route add -net dlrin gw 202.118.66.254
Or:
/sbin/route add -net dlrin gw dlrin-gw
/sbin/route add default gw 202.118.66.1
9. /etc/passwd
用户口令文件
10. /etc/shadow (如果有此文件,系统支持shadow机制)
$ls -l /etc/shadow
-rwx------ root .... /etc/shadow
11. /etc/fstab
File System Table
#设备名 MountPoint Filesystem Type 加载选项 ... fsck标志
/dev/hda1 / ext2 defaults 1 1
/dev/hda6 /home ext2 defaults 1 2
/dev/hda3 /usr ext2 defaults 1 2
/dev/hda5 /var ext2 defaults 1 2
/dev/hda2 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto sync,user,noauto,nosuid,nodev,unhide 0
0
/dev/cdrom /mnt/cdrom auto user,noauto,nosuid,nodev,ro 0 0
none /proc proc defaults 0 0
Solairs下对应文件: /etc/vfstab
12. /etc/exports
NFS(Network File System) Server 输出文件系统表, 最好不使用NFS.
nfs相关进程:
Solaris: mountd , nfsiod
/etc/init.d/nfs.server
Linux: 内核支持nfs, /proc/filesystem, 也可以通过加载modules实现,
13./etc/defaultrouter (Solaris 2.x)
内容为Default Router的ip地址,
在linux下:
Redhat 5.x: /etc/sysconfig/network
GATEWAY=202.118.66.1
GATEWAYDEV=eth0
Debian: /etc/init.d/network
#! /bin/sh
ifconfig lo 127.0.0.1
route add -net 127.0.0.0
IPADDR=202.118.66.88
NETMASK=255.255.255.0
NETWORK=202.118.66.0
BROADCAST=202.118.66.255
GATEWAY=202.118.66.1
ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
route add -net ${NETWORK}
[ "${GATEWAY}" ] && route add default gw ${GATEWAY} metric 1
14. /etc/bashrc /etc/csh.cshrc /etc/profile
/etc/bashrc BASH(Bourne Again Shell) RunTime Command
Shell Script 用的最多
系统用户默认的环境设置, PATH, umask, TERM Type
/etc/csh.cshrc CSH Runtime COmmand
15. /etc/ftpaccess
FTP访问控制文件, 文件位置可变 , 通过
#egrep ftp /etc/inetd.conf
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
^^^^^^
ftp服务器守护进程文件名
#which in.ftpd
/usr/sbin/in.ftpd
#strings /usr/sbin/in.ftpd |egrep ftpaccess
/etc/ftpaccess
相关配置在ftp服务器配置中讲述。
16. /etc/ftpusers
不允许ftp的用户列表,一般包括root, uucp, bin等
17. /etc/ftpconvions /etc/ftpgroups
FTP服务器配置文件
18. /etc/group 用户组文件
19. /etc/sendmail.cf (Linux) Sendmail(EMAIL服务器)配置文件
/etc/sendmail.cw 本地主机名
主机名: gingko.dlut.edu.cn
希望接收: user@gingko.dlut.edu.cn
user@mail.dlut.edu.cn
user@dlut.edu.cn
/etdc/aliases 邮件别名文件
/etc/aliases.db 邮件别名二进制数据文件, 用newaliases建立
/etc/sendmail.hf sendmail 帮助文件,
$telnet mailserver 25
Trying 202.118.66.8...
以上目录结构是Linux的目录结构, Solaris 2.x目录结构是:
/etc/mail/sendmail.cf
/etc/mail/sendmail.cw
/etc/mail/sendmail.hf
/etc/mail/aliases
/etc/mail/aliases.db
20. /etc/issue 系统进站提示信息(主控台用)
/etc/issue.net telnet时显示信息( strings in.telnetd |egrep issue)
/etc/motd 用户进入系统后的提示信息
21. /etc/named.boot
DNS(BIND 4.9.x) 启动文件
示例文件Caching Only Server)
directory /etc/namedb
primary 0.0.127.in-addr.arpa named.local
cache . root.cache
其中root.cache 文件可通过dig得到:
dig @ns.internic.net . ns > /etc/namedb/root.cache
named.local文件内容如下:
@ IN SOA localhost. root.localhost. (
1999020301
10800
3600
86400
86400 )
IN NS localhost.
1 IN PTR localhost.
/etc/named.conf
DNS(BIND 8.1.x) 启动文件
(在Redhat 5.2下可用/usr/doc/bind-8.1.2/named-bootconf.pl将bind 4.9.x
的named.boot文件转换为bind8的named.conf文件格式, 执行过程如下:
/usr/doc/bind-8.1.2/named-bootconf.pl /etc/named.boot > /etc/named.conf)
22. /etc/host.equiv
$HOME/.rhosts
R*(rlogin, rsh , rcp, rexec)服务信任主机
格式:
主机名(FQDN) 用户列表
23. /etc/ld.so.conf (LINUX)
动态链接库文件目录列表, 相应命令ldconfig
$LD_LIBRARY_PATH Solaris 下相应的环境变量
用ldd 列出相应文件所使用的动态链接库
/etc/default[119]ldd /usr/ucb/ls
libc.so.1 => /usr/lib/libc.so.1
libdl.so.1 => /usr/lib/libdl.so.1
*修改过此文件之后请使用命令ldconfig重新生成目录列表及连接库文件列表。
24. /etc/pam.d/login ( Linux Redhat)
auth required /lib/security/pam_securetty.so
/etc/securetty (Linux Redhat, Debian)
root可登录的终端设备列表, tty[1-8] 为主控台上的设备,
ttyp* (LINUX)远程登录终端(TELNET)设备
/etc/default/login (Solaris)
# If CONSOLE is set, root can only login on that device.
# Comment this line out to allow remote login by root.
#
CONSOLE=/dev/console
注释掉相应的记录即可允许超级用户root从远程主机telnet登录
/etc/login.defs Linux Debian 登录控制文件
25. Linux Loader /etc/lilo.conf
多重启动文件,
**** 修改完此文件后一定需要执行lilo,
**** 重新编译安装新的linux kernel修改此文件并执行lilo
26. /etc/syslog.conf
syslogd configuration file,
27. /etc/smb.conf
SAMBA 服务器配置文件,将linux的文件系统与Windows 9x/NT共享
28. /etc/nologin
系统在要关机时不希望用户登录进来,就产生此文件,此文件内容为显示给用户的有关
拒绝连接的信息,用户此时就不能进入系统。当系统重新启动时如果有此文件,则机器
启动后任何用户不能使用系统,此时可考虑从软盘或光盘引导删除此文件,然后再重新
启动系统。
29. /etc/security
设定那些终端可以让root登录,一般情况下设定为只有console上的用户可能用root.
注:Redhat下使用了PAM机制,相应的文件为/etc/securetty.
30. /etc/X11/*
XFree86配置文件。
31. /etc/shells
用户可以使用的shell列表,如果强行修改/etc/passwd文件,也可以使用不在列表中的
shell程序,但对于shell不在此列表中的用户将无法使用FTP连接本系统。
32. /etc/mtab
系统在启动时创建的信息文件,内容为已经mount的文件系统,此文件内容是动态更新的,
可参考/proc/mounts。
联系客服