鸟哥linux群,【鸟哥的linux私房菜-学习笔记】linux的帐号与群组

linux的帐号与群组

使用者标识符: UID 与 GID

ID 与账号的对应就在 /etc/passwd 当中;

计算机只认得ID(即数字),并不能区别账号;

每个登陆的使用者至少都会取得两个 ID ,一个是使用者 ID (User ID ,简称 UID)、一个是群组 ID (Group ID ,简称 GID)。

使用者账号

登录的时候,输入账号口令,系统的动作如下:

1.先找寻 /etc/passwd 里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的 UID 与 GID (在 /etc/group 中) 读出来,另外,该账号的家目录与 shell 配置也一并读出;

2.再来则是核对口令表,这时 Linux 会进入 /etc/shadow 里面找出对应的账号与 UID,然后核对一下你刚刚输入的口令与里头的口令是否相符;

3.如果一切都 OK 的话,就进入 Shell 控管的阶段。

/etc/passwd 文件结构:

每一行都代表一个账号,有几行就代表有几个账号在你的系统中。 不过需要特别留意的是,里头很多账号本来就是系统正常运行所必须要的,我们可以简称他为系统账号, 例如 bin, daemon, adm, nobody 等等。

每一行使用『:』分隔开,共有七个咚咚,分别是:

1.账号名称;

2.口令:

早期 Unix 系统的口令就是放在这字段上!但是因为这个文件的特性是所有的程序都能够读取,很容易被窃取, 因此后来就将这个字段的口令数据改放到 /etc/shadow 中了。所以这里你会看到一个x;

3.UID:

0为系统管理员;

1~499为系统帐号,其中1~99:由 distributions 自行创建的系统账号;100~499:若用户有系统账号需求时,可以使用的账号 UID;

4.GID;

5.用户信息说明栏;

6.家目录;

7.Shell。

*很多程序的运行都与权限有关,而权限与 UID/GID 有关。因此各程序当然需要读取 /etc/passwd 来了解不同账号的权限。 因此 /etc/passwd 的权限需配置为 -rw-r–r– 。

/etc/shadow 文件结构:

shadow 同样以『:』作为分隔符,共有九个字段啊,这九个字段的用途是这样的:

1.账号名称;

2.口令:

这个文件的默认权限是『-rw——-』或者是『-r——–』,口令是加密过的;

3.最近更动口令的日期;

4.口令不可被更动的天数(与第 3 字段相比);

5.口令需要重新变更的天数(与第 3 字段相比);

6.口令需要变更期限前的警告天数(与第 5 字段相比);

7.口令过期后的账号宽限时间(口令失效日)(与第 5 字段相比);

8.账号失效日期;

9.保留。

*口令过期与口令失效并不相同,口令过期但是该账号还是可以用来进行其他工作的,包括登陆系统取得 bash 。不过如果口令过期了, 那当你登陆系统时,系统会强制要求你必须要重新配置口令才能登陆继续使用,这就是口令过期特性。而失效则是该账号再也无法使用该口令登陆了。

例子:

口令过期:

You are required to change your password immediately (password aged)

WARNING: Your password has expired.

You must change your password now and login again!

Changing password for user dmtsai.

Changing password for dmtsai

(current) UNIX password:

口令失效:

Your account has expired; please contact your system administrator

关于群组: 有效与初始群组、groups, newgrp

/etc/group 文件结构:

这个文件每一行代表一个群组,也是以冒号『:』作为字段的分隔符,共分为四栏,每一字段的意义是:

1.组名;

2.群组口令:

同样的,口令已经移动到 /etc/gshadow 去,因此这个字段只会存在一个『x』而已;

3.GID;

4.此群组支持的账号名称。

0818b9ca8b590ca3270a3433284dd417.png

账号相关文件之间的 UID/GID 与口令相关性示意图

有效群组(effective group)与初始群组(initial group):

/etc/passwd 里面第四栏那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统,立刻就拥有这个群组的相关权限。

groups: 有效与支持群组的观察,第一个输出的群组即为有效群组 (effective group)

(当我们使用当前帐号去创建一个新档案时,档案的群组为有效群组。)

newgrp: 有效群组的切换

newgrp 这个命令可以变更目前用户的有效群组, 而且是另外以一个 shell 来提供这个功能的。虽然用户的环境配置(例如环境变量等等其他数据)不会有影响,但是使用者的『群组权限』将会重新被计算。 需要注意,由于是新取得一个 shell ,因此如果你想要回到原本的环境中,请输入 exit 回到原本的 shell。

/etc/gshadow文件结构:

四个字段的意义为:

1.组名;

2.口令栏,同样的,开头为 ! 表示无合法口令,所以无群组管理员;

3.群组管理员的账号 (相关信息在 gpasswd 中介绍);

4.该群组的所属账号 (与 /etc/group 内容相同)

以系统管理员的角度来说,这个 gshadow 最大的功能就是创建群组管理员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值