摘要:本文主要讲述了Linux帐号管理相关的4个配置文件即/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow.
Linux: Ubuntu10.0.4
1.用户标识符UID与GID
虽然我们登录Linux主机的时候,输入的是我们的帐号,但是Linux主机并不会直接识别“帐号名称”的,它仅认识ID,“帐号名称”只是为了让人们容易记忆而已。
ID与帐号的对应关系就在/etc/passwd当中。
每个登录的用户至少都会取得两个ID,一个是用户ID(UserID,简称UID), 一个是用户组ID(GroupID,简称GID)。
每个文件都会有所谓的UID和GID,当我们要显示文件的属性时,系统会依据/etc/passwd与/etc/group
的内容找到UID与GID对应的帐号与组名再显示出来。
2.用户帐号
Linux系统上面的用户如果需要登录主机来取得Shell的环境来工作时,需要做出以下事情:
利用tty1~tty7的终端机提供的login接口,并输入帐号和密码才能登录。
输入帐号和密码后,系统又做了很多事情:
a.先在/etc/passwd里面查看是否有你输入的帐号,如果没有则跳出;如果有的话,将帐号对应的UID与GID(在/etc/group中)读出来,另外,该帐号的主文件夹与shell设置也一并读出。
b.核对密码。在/etc/shadow里面找出对应的帐号与UID,然后核对密码是否相符。
c.如果全部成功,就进入shell了。
跟用户帐号有关的有两个非常重要的文件,一个是管理用户UID/GID的/etc/passwd,一个是管理
密码相关数据的/etc/shadow.
ID与帐号的对应关系就在/etc/passwd当中。
每个登录的用户至少都会取得两个ID,一个是用户ID(UserID,简称UID), 一个是用户组ID(GroupID,简称GID)。
每个文件都会有所谓的UID和GID,当我们要显示文件的属性时,系统会依据/etc/passwd与/etc/group
的内容找到UID与GID对应的帐号与组名再显示出来。
2.用户帐号
Linux系统上面的用户如果需要登录主机来取得Shell的环境来工作时,需要做出以下事情:
利用tty1~tty7的终端机提供的login接口,并输入帐号和密码才能登录。
输入帐号和密码后,系统又做了很多事情:
a.先在/etc/passwd里面查看是否有你输入的帐号,如果没有则跳出;如果有的话,将帐号对应的UID与GID(在/etc/group中)读出来,另外,该帐号的主文件夹与shell设置也一并读出。
b.核对密码。在/etc/shadow里面找出对应的帐号与UID,然后核对密码是否相符。
c.如果全部成功,就进入shell了。
跟用户帐号有关的有两个非常重要的文件,一个是管理用户UID/GID的/etc/passwd,一个是管理
密码相关数据的/etc/shadow.
2.1/etc/passwd文件结构
每一行代表一个帐号,有几行就代表有几个帐号在你的系统中!不过需要特别注意的是,
里面很多帐号本来就是系统正常运行所必要的,我们可以简称它们为系统帐号,例如bin,daemon,
这些帐号不要随意删掉。
文件格式:
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
每一行代表一个帐号,有几行就代表有几个帐号在你的系统中!不过需要特别注意的是,
里面很多帐号本来就是系统正常运行所必要的,我们可以简称它们为系统帐号,例如bin,daemon,
这些帐号不要随意删掉。
文件格式:
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
每一行使用“:”隔开,共有7个字段,分别是:
a.帐号名称。
b.密码。
c.UID。
d.GID。
e.用户信息说明列。
f.主文件夹。
g.Shell。
2.2/etc/shadow文件结构
a.帐号名称。
b.密码。
c.UID。
d.GID。
e.用户信息说明列。
f.主文件夹。
g.Shell。
2.2/etc/shadow文件结构
文件格式:
root:$6$I1KLlt38$QZNePJfBZvKY2ZLP7NPAu5ymt9XyB9v4NSpKgmUVF86GNz7T.SlUvjrUw4srXrGLaPd3H0NkCIQ7Au9RP29.l0:15407:0:99999:7:::
daemon:*:14728:0:99999:7:::
bin:*:14728:0:99999:7:::
sys:*:14728:0:99999:7:::
root:$6$I1KLlt38$QZNePJfBZvKY2ZLP7NPAu5ymt9XyB9v4NSpKgmUVF86GNz7T.SlUvjrUw4srXrGLaPd3H0NkCIQ7Au9RP29.l0:15407:0:99999:7:::
daemon:*:14728:0:99999:7:::
bin:*:14728:0:99999:7:::
sys:*:14728:0:99999:7:::
每一行使用“:”隔开,共有9个字段,分别是:
a.帐号名称。
b.密码。
c.最近更改密码的日期。
d.密码不可改动的天数。
e.密码需要重新更改的天数。
f.密码需要更改期限前的警告天数。
g.密码过期后的帐号宽限时间(密码失效日)。
h.帐号失效日期。
i.保留。
3.用户组
3.1 /etc/group文件结构
文件格式:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
a.帐号名称。
b.密码。
c.最近更改密码的日期。
d.密码不可改动的天数。
e.密码需要重新更改的天数。
f.密码需要更改期限前的警告天数。
g.密码过期后的帐号宽限时间(密码失效日)。
h.帐号失效日期。
i.保留。
3.用户组
3.1 /etc/group文件结构
文件格式:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
每一行使用“:”隔开,共有4个字段,分别是:
a.用户组名称。
b.用户组密码。
c.GID。
d.该用户组所包含的帐号。
3.2 /etc/gshadow
文件格式:
root:*::
daemon:*::
bin:*::
sys:*::
每一行使用“:”隔开,共有4个字段,分别是:
a.用户组名称。
b.用户组密码。
c.用户组管理员的帐号。
d.该用户组所包含的帐号。
版权声明:本文为博主原创文章,未经博主允许不得转载。