【1.1】用户和组管理
Linux帐号分类
超级用户
拥有完全控制功能,用户名称通常为root,其UID(用户系统标识符)为0
普通用户
分类:
11系统账号
这种类型账号提供给Linux系统本身使用。在某些软件执行时候,需要你提供一个普通用户类型的账号。
为了满足这个需求而建立的账号,我们称为系统账号。在Red Hat Enterprise Linux中,系统用户的UID在1到499之间。
22 真实用户
真实账号在系统中,被分配的UID范围为500至4,294,967,295之间。
群组账号
- 用来储存多个用户的信息,每一个群组账号可以用来记录一组用户的数据。
群组账号分类:
超级用户组
root的用户群组我们称为超级用户组
超级用户群组的GID(群组标识符)为0。隶属于超级用户群的成员,不具备系统管理的权利。
系统群组
与系统账号一样,系统群组也是给Red Hat Enterprise Linux系统本身,或是某个软件使用。目前Red Hat Enterprise Linux定义系统群组的GID范围为1到499之间。
用户自定义组
除了上述的群组外其余的所有群组都是用户自定义群组。
用户自定义组账号可使用的GID范围为500到4,294,967,293
用户账号文件——passwd
/etc/passwd文件是UNIX安全的关键文件之一。
该文件用于用户登录时校验用户的登录名、加密的口令数据项、用户ID(UID)、默认的用户组ID(GID)、用户信息、用户主目录以及登录后使用的shell。/etc/passwd文件的每一行保存一个用户的资料,而用户数据按域以冒号“:”分隔。格式如下所示:
username:password:uid:gid:userinfo:home:shell
其中,各个域的含义如表所示:
/etc/passwd文件中域的含义
域 |
含 义 |
username |
登录名 |
password |
加密的用户口令 |
uid |
用户ID |
gid |
用户组ID |
userinfo |
用户信息 |
home |
分配给用户的主目录 |
shell |
用户登录后将执行的shell(若为空格则默认为/bin/sh) |
用户的登录名是用户用来登录的识别,由用户自行选定,主要由方便用户记忆或者具有一定含义的字符串组成。所有用户口令的存放都是加密的,通常采用的是不可逆的加密算法。一般来说,用户的UID应当是独一无二的,其他用户不应当有相同的UID数值,只有UID等于0时可以例外。每个用户都需要保存专属于自己的配置文件及其他文档,以免用户间相互干扰。当用户登录进入系统时,会启动一个Shell程序,默认是bash。
用户影子文件——shadow
Linux使用不可逆的加密算法(如MD5,SHA1等)来加密口令。和/etc/passwd类似,/etc/shadow文件中每条记录用冒号“:”分隔,形成9个域,格式如下所示:
username:password:lastchg:min:max:warn:inactive:expire:flag
其中,各个域的含义如表所示:
/etc/shadow文件中域的含义
域 |
含 义 |
username |
用户登录名 |
password |
加密的用户口令 |
lastchg |
表示从1970年1月1日起到上次修改口令所经过的天数 |
min |
表示两次修改口令之间至少经过的天数 |
max |
表示口令还会有效的最大天数,如果是99999则表示永不过期 |
warn |
表示口令失效前多少天内系统向用户发出警告 |
inactive |
表示禁止登录前用户名还有效的天数 |
expire |
表示用户被禁止登录的时间 |
flag |
保留域,暂未使用 |
用户组账号文件——group和gshadow
/etc/passwd文件中包含着每个用户的用户组ID(GID)。
/etc/group文件对用户组的许可权限的控制并不是必要的,这是因为Linux系统用来自于/etc/passwd文件的UID、GID来决定文件存取权限。
用户组可以像用户一样拥有口令。
/etc/group文件记录格式如下所示:
group_name:group_password:group_id:group_members
其中,各个域的含义如表所示:
/etc/group的域及其含义
域 |
含 义 |
group_name |
用户组名 |
group_password |
加密后的用户组口令 |
group_id |
用户组ID(GID) |
group_members |
以逗号分隔的成员用户清单 |
/etc/gshadow的域及其含义
域 |
含 义 |
group_name |
用户组名 |
group_password |
加密后的用户组口令 |
group_members |
以逗号分隔的成员用户清单 |