1、用户账号管理
Linux操作系统中的用户账号.密码等信息均保存在相应的配置文件中,直接修改这些文件或者使用用户管理命令都可以对用户账号进行管理。
1.1、用户账号文件
与用户账号相关的配置文件主要有两个,分别是/etc/passwd和/etc/shadow。前者用于保存用户名称、宿主目录、登录Shell等基本信息.后者用于保存用户的密码、账号有效期等信息,在这两个配置文件中,每一行对应一个用户账号,不同的配置项之间使用":"(冒号)进行分隔。
1)passwd文件中的配置行格式
操作系统中所有用户的账号基本信息都保存在/etc/passwd文件中,该文件是文本文件.任何用户都可以读取文件中的内容。例如,以下操作可分别查看/etc/passwd文件开头.末尾的几行内容。
[root@node1 ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@node1 ~]# tail -1 /etc/passwd
bdqn:x:1000:1000:bdqn:/home/bdqn:/bin/bash
在passwd文件开头的部分,包括超级用户root 及各程序用户的账号信息,系统中新增加的用户账号信息将保存到passwd文件的末尾。passwd文件的每一行内容中包含了七个用":"(冒号)分隔的配置字段.从左到右各配置字段的含义分别如下所述。
- 第1字段:用户账号的名称,也是登录系统时使用的识别名称。
- 第⒉字段:经过加密的用户密码字串,或者密码占位符"×".
- 第3字段:用户账号的UID号.
- 第4字段:所属基本组账号的GID号.
- 第5字段:用户全名,可填写与用户相关的说明信息。
- 第6字段:宿主目录,即该用户登录后所在的默认工作目录。
- 第7字段:登录 Shell等信息,用户完成登录后使用的Shell.
基于系统运行和管理的需要.所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户账号的密码信息也是保存在pesswd文件中的.不法用户可以获取密码字串进行暴力破解,这样一来账号安全就存在一定的隐患,因此,后来将密码转存入专门的shadow文件中,而passwd文件中仅保留密码占位符"×".
2)shadow文件中的配置行格式
shadow文件又被称为"影子文件",其中保存有各用户账号的密码信息,因此对shadow 文件的访问应该进行严格限制。默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容。例如,以下操作可分别查看/etc/shadow文件开头.末尾的几行内容。
[root@node1 ~]# head -2 /etc/shadow
root:$6$PxQftpcWk/J9RbGB$kAz2GQXgovAqcKPNmWZjIWFtFozat29sf3CC1jw/uJdvvQ8ZZQFCFUaiZpGtV96lScj2ardIe5MmHzaYCKdoW1::0:99999:7:::
bin:*:17834:0:99999:7:::
[root@node1 ~]# tail -1 /etc/shadow
bdqn:$6$As2Q4.ZI0u15/g6F$afNfHaEstQ9kL.V6dUT/gutZSRxO4FFanXPhw.ZNMvB30jpNzN/NILV1dGqsexR0gNVyUOvboR8lL4TiHd3gk0::0:99999:7:::
shadow文件的每一行内容中包含了九个用":"(冒号)分隔的配置字段.从左到右各配置字段的含义分别如下所述.
- 第1字段:用户账号名称.
- 第⒉字段:使用SHA-512(哈希算法中的-种〉加密的密码字串信息,当为"*"或"!!"时表示此用户不能登录到系统。若该字段内容为空.则该用户无须密码即可登录系统.
- 第3字段:上次修改密码的时间.表示从1970年01月01日算起到最近一次修改密码时间隔的天数。
- 第4字段:密码的最短有效天数,自本次修改密码后.必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制。
- 第5字段:密码的最长有效天数.自本次修改密码后.经过该天数以后必须再次修改密码。'默认值为99999,表示不进行限制.
- 第6字段:提前多少天警告用户密码将过期,默认值为7。
- 第7字段:在密码过期之后多少天内禁用此用户。
- 第8字段:账号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算}.默认值为空,表示账号永久可用.
- 第9字段:保留字段,目前没有特定用途。