【搬砖】/etc/passwd 文件结构

文件的内容:

每个Linux都会有root账号,以此来说明,从内容上看,每行都使用【:】分隔(注意:每行前面的数字是行号,不是内容),所以一共有七部分内容,分别是:

1. 账号名称:root,用来对应UID

2. 口令:x

 早期Unix系统的口令放在这个字段。但因为这个文件对所有用户都是可读取的(ls -l /etc/passwd 即可看出来),这样容易造成口令被窃的风险,因此之后这个口令放到/etc/shadow文件中了。该位置就保留了一个【x】,没啥含义。

3. 使用者标识符:UID

 Linux对UID的限制如下所示——

id 范围 该 ID 使用者特性
0
(系统管理员)
当 UID 是 0 时,代表这个账号是『系统管理员』! 所以当你要让其他的账号名称也具有 root 的权限时,将该账号的 UID 改为 0 即可。 这也就是说,一部系统上面的系统管理员不见得只有 root 喔! 不过,很不建议有多个账号的 UID 是 0 啦~
1~499
(系统账号)
保留给系统使用的 ID,其实除了 0 之外,其他的 UID 权限与特性并没有不一样。默认 500 以下的数字让给系统作为保留账号只是一个习惯。

由于系统上面启动的服务希望使用较小的权限去运行,因此不希望使用 root 的身份去运行这些服务, 所以我们就得要提供这些运行中程序的拥有者账号才行。这些系统账号通常是不可登陆的, 所以才会有我们在第十一章提到的 /sbin/nologin 这个特殊的 shell 存在。

根据系统账号的由来,通常系统账号又约略被区分为两种:
1~99:由 distributions 自行创建的系统账号;
100~499:若用户有系统账号需求时,可以使用的账号 UID。
500~65535
(可登陆账号)
给一般使用者用的。事实上,目前的 linux 核心 (2.6.x 版)已经可以支持到 4294967295 (2^32-1) 这么大的 UID 号码喔!

所以,UID为0的时候,就是root。

4. 用户组:GID

 这个与/etc/group有关。

5. 用户信息说明栏:root

 用来解释账号的意义。

6. 家目录:/root

 root的家目录就是 /root 喽!可以观察普通用户的家目录就是你登陆后默认进入的目录。

7. shell

用户登陆系统后会取得一个shell来与系统核心沟通以进行用户的操作任务。因为在这个地方配置的就是bash,所以默认使用的就是这个bash了。

 

参考:http://cn.linux.vbird.org/linux_basic/0410accountmanager_1.php

(完)

posted @ 2019-10-14 17:29  lishidefengchen  阅读(992)  评论(0编辑  收藏  举报