Linux的/etc/services文件的作用?etc目录下主要配置文件解释,.d文件
/etc/services 作用 /etc/services文件保存了服务和端口的对应关系。但是通常服务的配置文件里会自行定义端口。那么两者间是什么关系呢?事实上,服务最终采用的方案仍然是自己的端口定义配置文件。但是/etc/services的存在有几个意义:
1、如果每一个服务都能够严格遵循该机制,在此文件里标注自己所使用的端口信息,则主机上各服务间对端口的使用,将会非常清晰明了,易于管理。
2、在该文件中定义的服务名,可以作为配置文件中的参数使用。
例如:在配置路由策略时,使用"www"代替"80",即为调用了此文件中的条目“www 80”
3、且当有特殊情况,需要调整端口设置,只需要在/etc/services中修改www的定义,即可影响到服务。
例如:在文件中增加条目“privPort 55555”,在某个私有服务中多个配置文件里广泛应用,进行配置。
当有特殊需要,要将这些端口配置改为66666,则只需修改/etc/services文件中对应行即可。
基本上是个标准,但是不是强制的。推荐的做法是在/etc/services里面加入新端口的定义或是使用已有的端口的定义,然后在监听的时候使用从/etc/servies里面得到的端口定义。这样和其他程序有没有冲突,一目了然。而且一旦需要调整和重新分配端口的时候也容易。
比如db2监听的是db2cdb2inst1这个端口名称,至于具体这个端口是多少(通常是50000),是定义在/etc/services里的,而且可以自由调整,比如改成60000,那么下次启动db2的时候就是监听60000端口
1)作用
/etc/services文件是记录网络服务名和它们对应使用的端口号及协议。
2)格式
文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。
服务名 "tab" 端口号/协议名 “tab” 别名
kermit 1649/udp
l2tp 1701/tcp l2f
l2tp 1701/udp l2f
h323gatedisc 1718/tcp
3)应用
很多的系统程序要使用这个文件。
如果每一个服务都能够严格遵循该机制,在此文件里标注自己所使用的端口信息,则主机上各服务间对端口的使用,将会非常清晰明了,易于管理;
在该文件中定义的服务名,可以作为配置文件中的参数使用。例如:在配置路由策略时,使用"www"代替"80",即为调用了此文件中的条目“www 80”;
且当有特殊情况,需要调整端口设置,只需要在/etc/services中修改www的定义,即可影响到服务。
例如:在文件中增加条目“privPort 55555”,在某个私有服务中多个配置文件里广泛应用,进行配置。当有特殊需要,要将这些端口配置改为66666,则只需修改/etc/services文件中对应行即可。
在应用程序中可以通过服务名和协议获取到对应的端口号,通过在该文件注册可以使应用程序不再关心端口号。
4)端口分配
Linux系统的端口号的范围为0–65535,不同范围有不同的意义。
0 不使用
1--1023 系统保留,只能由root用户使用
1024---4999 由客户端程序自由分配
5000---65535 由服务器端程序自由分配
4、如何使应用程序不再关心服务所使用的端口号?
1)确定服务程序名称,协议,端口号
2)在/etc/services中配置1)中信息
3)应用程序可以不直接使用端口号,通过函数getservbyname("server","tcp")获取端口号。
4)如果服务想更改端口号只要更改/etc/services中的端口号就可以了,应用程序不需要做任何更改。
注:同时可以通过函数getservbyport(htons(50),“tcp”)获取对应端口和规约上的服务名。
使用这两个系统函数需要包含头文件:#include <netdb.h>
Linux备用常用笔记——etc目录下主要配置文件解释
这些都是比较有实用性的系统配置,收藏下,以备不时之需!以下是etc下重要配置文件解释:
1、/etc/hosts
#文件格式: IPaddress hostname aliases
#文件功能: 提供主机名到IP地址的对应关系,建议将自己经常使用的主机
# 加入此文件中,也可将没有DNS记录的机器加入到此文件中, 会方便网络应用
系统默认有以下两条,建议保留:
#cat /etc/hosts 127.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
/etc/login.defs 文件内容及其解释
/etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。
如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs
# *REQUIRED* required
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
#密码最大有效期
PASS_MIN_DAYS 0
#两次修改密码的最小间隔时间
PASS_MIN_LEN 5
#密码最小长度,对于root无效
PASS_WARN_AGE 7
#密码过期前多少天开始提示
#
# Min/max values for automatic uid selection in useradd
#创建用户时不指定UID的话自动UID的范围
UID_MIN 500
#用户ID的最小值
UID_MAX 60000
#用户ID的最大值
#
# Min/max values for automatic gid selection in groupadd
#自动组ID的范围
GID_MIN 500
#组ID的最小值
GID_MAX 60000
#组ID的最大值
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#当删除用户的时候执行的脚本
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes
#使用useradd的时候是够创建用户目录
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
#用MD5加密密码
感谢分享:原文地址
linux中的.d文件一般指的是什么文件?
1.依赖文件:dependence
2 .d也可能是default的意思,表示默认(配置)文件,
3 还有可能是Dynamic的意思,表示动态意义的文件。
带.d的文件夹比较常见,比如/etc下很多,,,表示文件夹下有系统缺省的配置文件。更详细的了解Linux知识可参考《Linux就该这么学》。
带.d的文件夹比较常见,比如/etc/rc3.d、/etc/dev.d表示文件加下有系统缺省的配置文件。

浙公网安备 33010602011771号