Debian 系统配置文件

 
Debian 系统配置文件都有哪些?分别由什么作用?
如下:
 
/etc/passwd 、/etc/shadow 和 /etc/group
这三个配置文件用于系统帐号管理,都是文本文件,可用 vi 等文本编辑器打开。/etc/passwd 用于存放用户帐号信息,/etc/shadow 用于存放每个用户加密的密码,/etc/group 用于存放用户的组信息。
/etc/passwd 文件的内容如下:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
...
每一行是由分号分隔的字串组成,它的格式如下:
username:password:uid:gid:gecos:homedir:shell
各域对应的中文说明如下:
用户名:密码:用户 ID :组 ID :用户全名:主目录:登录 shell
Gecos 是通用电子计算机操作系统的缩写,是 Bell 实验室中的一台大型主机。
Unix 系统最初是用明文保存密码的,后来由于安全的考虑,采用 crypt() 算法加密密码并存放在/etc/passwd 文件。现在,由于计算机处理能力的提高,使密码破解变得越来越容易。/etc/passwd 文件是所有合法用户都可访问的,大家都可互相看到密码的加密字符串,这给系统带来很大的安全威胁。现代的 Unix 系统使用影子密码系统,它把密码从 /etc/passwd 文件中分离出来,真正的密码保存在/etc/shadow 文件中, shadow 文件只能由超级用户访问。这样入侵者就不能获得加密密码串,用于破解。使用 shadow 密码文件后,/etc/passwd 文件中所有帐户的 password 域的内容为 "x" ,如果 password域的内容为 "*" ,则该帐号被停用。使用 passwd 这个程序可修改用户的密。
/etc/shadow 存放加密的口令,该文件只能由 root 读取和修改。下面是 shadow 文件的内容:
root:$1$43ZR5j08$kuduq1uH36ihQuiqUGi/E9:12973:0:99999:7:::
daemon:*:12973:0:99999:7:::
bin:*:12973:0:99999:7:::
sys:*:12973:0:99999:7:::
sync:*:12973:0:99999:7:::
...
 
我们可用 chage 命令显示 test 用户的帐号信息:
debian:~# chage -l test
最小: 0
最大: 99999
警告日:        7
失效日:        -1
最后修改:               7月 09, 2005
密码过期:      从不
密码失效:      从不
帐户过期:      从不
/etc/shadow 文件的格式如下:
username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved
各字段的简要说明:
last_change :表示自从 Linux 使用以来,口令被修改的天数。可用 chage –d 命令修改。
min_change :表示口令的最小修改间隔。可用 chage –m 命令修改。
max_change :表示口令更改周期。可用 chage –m 命令修改。
warm :表示口令失效的天数。可用 chage –W 命令修改。
failed_expire :表示口令失效后帐号的锁定天数。可用 chage –I 命令修改。
expiration :表示帐号到期日时间。可用 chage –E 命令修改。
reserved :没有使用,留待以后使用。
在debian系统中,使用 shadowconfig on/off 命令可控制启用和禁用 shadow 口令功能。
/etc/group 是帐号分组文件,控制用户如何分组。下面是组文件的内容:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
...
它的格式如下:
groupname:password:gid:members
这里的 password 代表组口令,很少用到。它可使原先不在这个群组中的用户可以通过 newgrp 命令暂时继承该组的权限,使用 newgrp 命令时会新开一个 shell。口令的加密方式和 passwd 文件中的口令一样,所以如果需设置组口令,要用 passwd 程序虚设一个用户,再把该用户 password 节中的加密口令拷贝到/etc/group 文件中。 members 列代表组成员,我们可把需加入该组的用户以逗号分隔添加到这里即可。同一组的成员可继承该组所拥有的权限。
 
/etc/login.defs
login.defs 是设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对 root 用户无效。如果 /etc/shadow 文件里有相同的选项,则以 /etc/shadow里的设置为准,也就是说 /etc/shadow 的配置优先级高于 /etc/login.defs。下面内容是该文件的节选:
...
#
# 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 change.
#       PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
...
#
# Number of significant characters in the password for crypt().
# Default is 8, don't change unless your crypt() is better.
# If using MD5 in your PAM configuration, set this higher.
#
PASS_MAX_LEN            8
...
 
/etc/securetty
该文件可控制根用户登录的设备,该文件里记录的是可以作为根用户登录的设备名,如 tty1、tty2 等。用户是不能从不存在于该文件里的设备登录为根用户的。这种情况用户只能以普通用户登录进来,再用 su命令转为根用户。/etc/securetty 文件的格式如下:
# /etc/securetty: list of terminals on which root is allowed to login.
# See securetty(5) and login(1).
console
 
# for people with serial port consoles
ttyS0
 
# for devfs
tts/0
 
# Standard consoles
tty1
tty2
tty3
...
如果 /etc/securetty 是一个空文件,则根用户就不能从任务的设备登录系统。只能以普通用户登录,再用 su 命令转成根用户。如果 /etc/securetty 文件不存在,那么根用户可以从任何地方登录。这样会引发安全问题,所以 /etc/securetty 文件在系统中是一定要存在的。
 
~/.gnomerc
作用: GNOME 桌面系统的用户级启动文件,该文件里的脚本在 GNOME 桌面系统启动时会自动执行,如果在用户主目录中没有该文件,用户可自行创建。该脚本是由 GNOME 系统级启动文件/etc/X11/Xsession.d/55gnome-session_gnomerc 所触发的。在我的的系统中,该配置文件的内容如下:
# 配置GTK+程序的打开文件窗口字体编码为 GBK
export G_FILENAME_ENCODING=GBK          
# 下面设置 fcitx 输入法的环境变量
export XIM_PROGRAM=fcitx
export XIM=fcitx
export XMODIFIERS="@im=fcitx"
# 启动 fcitx 中文输入法
fcitx&                                  
 
~/.gtkrc.zh_CN
作用:设置 GTK+ 1.x 程序的配置文件,默认已有字体配置选项,与上面的 ~/.gnomerc 配置文件中的配置 GTK+ 程序打开文件窗口的编码选项配合使用,可使 GTK+ 1.x 程序能在打开文件窗口显示中文的文件名。配置文件内容如下:
style "gtk-default-zh-cn" {
        fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-*,/
                         -*-*-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0"
}
class "GtkWidget" style "gtk-default-zh-cn"
该文件的全局配置文件是 /etc/gtk/gtkrc。如果需统一设置所有用户的 gtk 中文设置,可在该文件中配置。文件的内容和上面的一样。
 
~/.gtkrc-2.0
作用: gtk2.0 程序的设置文件,如果不存在,可手工创建。配置 GTK2.0 程序字体的配置如下:
style "gtk-default-zh-cn" {
    font_name = "Bitstream Vera Sans 10,SimSun 10"
    }
    class "GtkWidget" style "gtk-default-zh-cn"
该文件也有一个全局配置文件 /etc/gtk-2.0/gtkrc,注意是 gtkrc,而不是 gtkrc-2.0,默认该文件也是没有的,需手工创建。一旦存在 ~/.gtkrc-2.0 或 /etc/gtk-2.0/gtkrc 文件,则该文件的配置优先级是最高的,即使用 gnome-font-properties 字体配置程序也不能改变。例如你在 ~/.gtkrc-2.0 里设置了字体是 SimSun 10 号字,则你不能用 gnome-font-properties 字体配置程序更改该设置。
 
/etc/modules
内核模块文件,里面列出的模块会在系统启动时自动加载。用 modconf 工具配置,也可用文本编辑器配置。
 
/etc/gdm.conf
GDM 配置文件
 
/etc/kde3/kdm/kdmrc
Kdm 的配置文件,默认 kdm 是不允许 root 用户登录的,如果我们需以 root 用户登录,我们需修改 kdmrc文件,把 AllowRootLogin=false 改为 AllowRootLogin=true
Kdmrc 的大多数参数也可在KDE的"控制中心--系统管理--登录管理器"上进行配置。
 
/etc/services
Internet 网络服务文件,记录网络服务名和它们对应使用的端口号及协议。文件中的每一行对应一种服务,它由4个字段组成,中间用 TAB 或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。下面是这个文件的节选内容。
tcpmux          1/tcp                           # TCP port service multiplexer
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
daytime         13/tcp
daytime         13/udp
netstat         15/tcp
qotd            17/tcp          quote
msp             18/tcp                          # message send protocol
msp             18/udp
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp
ftp             21/tcp
fsp             21/udp          fspd
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp
telnet          23/tcp
smtp            25/tcp          mail
time            37/tcp          timserver
一般情况下,不要修改该文件的内容,因为这些设置都是 Internet 标准的设置。一旦修改,可能会造成系统冲突,使用户无法正常访问资源。
Linux 系统的端口号的范围为0--65535,不同范围有不同的意义。
0              不使用
1--1023        系统保留,只能由root用户使用
1024---4999    由客户端程序自由分配
5000---65535   由服务器端程序自由分配
 
/etc/protocols
该文件是网络协议定义文件,里面记录了 TCP/IP 协议族的所有协议类型。文件中的每一行对应一个协议类型,它有3个字段,中间用TAB或空格分隔,分别表示“协议名称”、“协议号”和“协议别名”。下面是该文件的节选内容。
# Internet (IP) protocols
#
# Updated from http://www.iana.org/assignments/protocol-numbers and other
# sources.
# New protocols will be added on request if they have been officially
# assigned by IANA and are not historical.
# If you need a huge list of used numbers please install the nmap package.
 
ip      0       IP              # internet protocol, pseudo protocol number
#hopopt 0       HOPOPT          # IPv6 Hop-by-Hop Option [RFC1883]
icmp    1       ICMP            # internet control message protocol
igmp    2       IGMP            # Internet Group Management
ggp     3       GGP             # gateway-gateway protocol
ipencap 4       IP-ENCAP        # IP encapsulated in IP (officially ``IP'')
st      5       ST              # ST datagram mode
tcp     6       TCP             # transmission control protocol
egp     8       EGP             # exterior gateway protocol
igp     9       IGP             # any private interior gateway (Cisco)
pup     12      PUP             # PARC universal packet protocol
不要对该文件进行任何修改。
 
/etc/network/interfaces
网络接口参数配置文件,下面是一个配置示例,它在一个网络接口中配置了两个静态 IP 地址:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
 
# The loopback interface
auto lo
iface lo inet loopback
 
# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
#       gateway 192.168.1.1
#       name 以太网局域网网卡
 
auto eth0:0
iface eth0:0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
下面是一个从DHCP服务器自动获得 IP 地址的示例:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
 
# The loopback interface
auto lo
iface lo inet loopback
 
# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet dhcp
11.13. /etc/resolv.conf
该文件是 DNS 域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。 resolv.conf 的关键字主要有四个,分别是:
nameserver   # 定义DNS服务器的IP地址
domain       # 定义本地域名
search       # 定义域名的搜索列表
sortlist     # 对返回的域名进行排序
/etc/resolv.conf 的一个示例:
domain ringkee.com
search www.ringkee.com ringkee.com
nameserver 202.96.128.86
nameserver 202.96.128.166
最主要是 nameserver 关键字,如果没指定 nameserver 就找不到DNS服务器,其它关键字是可选的。
 
/etc/host.conf
当系统中同时存在DNS域名解析和 /etc/hosts 主机表机制时,由该 /etc/host.conf 确定主机名解释顺序。示例:
order hosts,bind    # 名称解释顺序
multi on            # 允许主机拥有多个IP地址
nospoof on          # 禁止IP地址欺骗
order 是关键字,定义先用本机 hosts 主机表进行名称解释,如果不能解释,再搜索 bind 名称服务器(DNS)。
 
/etc/hosts
设置IP地址与主机名对应表,可用该文件来进行主机名称解释。如:
# 格式:IP地址     主机名       别名
127.0.0.1 localhost localhost.localdomain
192.168.1.1 debian debian
192.168.0.2 t02 t02.tiger
192.168.0.4 t04 t04.tiger
11.16. /etc/hostname
该文件只有一行,记录着本机的主机名。如:
debian
 
/etc/hosts.allow 和/etc/hosts.deny
这两个文件是 tcpd 服务器的配置文件,tcpd 服务器可以控制外部 IP 对本机服务的访问。这两个配置文件的格式如下:
# 服务进程名:主机列表:当规则匹配时可选的命令操作
server_name:hosts-list[:command]
/etc/hosts.allow 控制可以访问本机的 IP 地址,/etc/hosts.deny 控制禁止访问本机的 IP。如果两个文件的配置有冲突,以 /etc/hosts.deny 为准。下面是一个 /etc/hosts.allow 的示例:
ALL:127.0.0.1         # 允许本机访问本机所有服务进程
smbd:192.168.0.0/255.255.255.0     # 允许192.168.0.网段的 IP 访问 smbd 服务
ALL 关键字匹配所有情况,EXCEPT 匹配除了某些项之外的情况,PARANOID 匹配你想控制的 IP 地址和它的域名不匹配时(域名伪装)的情况。
 
/etc/hdparm.conf
Hdparm 命令是很有用的,它可以设置驱动器的运行参数,以提高系统性能,如硬盘的 DMA 开关就是通过该命令设置的。所以在 Debian 系统中已设置了开机自启动 hdparm 命令的 Script,该 Script 位于/etc/rcS.d/ 目录下。当 Debian 系统启动时会自动运行该 Script,并从 /etc/hdparm.conf 配置文件中读出配置参数来运行 hdparm 命令,从而达到自动设置驱动器运行参数的目的。 /etc/hdparm.conf 里列出了所有的配置参数说明,并有几个典型的示例。我们只要修改一下示例就可以用了。如:
...
 
#Samples follow:
#First three are good for devfs systems, fourth one for systems that do
#not use devfs. The fifth example uses straight hdparm command line
#syntax. Any of the blocks that use command line syntax must begin with
#the keyword 'command_line', and no attempt is made to validate syntax.
#It is provided for those more comfortable with hdparm syntax.
 
#/dev/discs/disc0/disc {
#       mult_sect_io = 16
#       write_cache = off
#       spindown_time = 240
#}
 
#/dev/discs/disc1/disc {
#       mult_sect_io = 32
#       spindown_time = 36
#       write_cache = off
#}
 
#/dev/cdroms/cdrom0 {
#       dma = on
#       interrupt_unmask = on
#       io32_support = 0
#}
 
/dev/hda {
        mult_sect_io = 16
        write_cache = off
        dma = on
}
 
#command_line {
#       hdparm -q -m16 -q -W0 -q -d1 /dev/hda
#}
重启电脑就可使配置生效。
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值