admin管理员组

文章数量:1531407

Ps:本内容摘自“鸟哥的私房菜”

如何登入Linux取得UID/GID

当我们以telent或者ssh登入主机时,系统会出现一个login的画面让你输入账号,

这个时候当你输入账号与密码之后,Linux会:

1.先找寻/etc/passwd里面是否有这个账号?如果没有则跳出,如果有的话则将该账

号对应的UID(User ID)与GID(Group ID)读出来,另外,该账号的家目录与

Shell设定也一并读出:

2.再来则是核对密码表!这时Linux会进入/etc/shadow里面找出对应的账号与UID,

然后核对一下你刚刚输入的密码与里头的密码是否相符?

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

vi /etc/passwd

root:x:0:0:root:/root:/bin/bash

1.账号名称:用户输入的账号名称!对应UID用的!

2.密码:用户输入的密码!“x”表示密码已经被移动到shadow这个加密过后的档案

喽!

3.UID:这个就是使用者识别码(ID)!

通常Linux对于UID有几个限制:

id范围  该ID使用者特性

0       当UID是0时,代表这个账号是【系统管理员】!

1~499  保留给系统使用的ID。其实1~65534之间的账号并没有不同,也就是除了0

之外,其它的UID并没有不一样,一般来说,1~99会保留给系统预设的账号,另外

100~499则保留给一些服务来使用。

500~65535 给一般使用者用的。(最新大小:4294967295)

4.GID:这个与/etc/group有关!用来规范group的!

5.使用者信息说明栏:这个字段基本上是用来解释这个账号的意义而已!

6.家目录:这是使用者的家目录,以上面为例,root的家目录在/root,所以当root

登入之后,就会立刻跑到/root里头啦!

7.Shell:登入Linux时预设的bash。Shell即是用来沟通人类下达的指令与硬件之间

真正动作的界面!/sbin/nologin表示账号无法登入的指令!

由于每个程序都需要取得uid与gid来判断权限的问题!所以/etc/passwd的权限必须

设定曾为-rw-r--r--这样的权限。所以密码必须移动到/etc/shadow这个档案分隔开

来的技术,而且还加入很多的密码限制参数在/etc/shadow里头!

vi /etc/shadow

基本上,shadow同样以[:]作为分隔符,共有九个字段。

1.账号名称:用户输入的账号名称,密码也需要与账号对应啊!必须要

与/etc/passwd相同。

2.密码:这个是真正的密码,而且是经过编码的密码啦!你只会看到有一些特殊符号

的字母,而且安全性这个档案的预设属性是[-rw-------]或者[-r--------],亦即

只有root才可以读写。另外,如果密码栏的第一个字符为[*]或者是[!],表示这个账

号并不会被用来登入的意思。

3.最近更动密码的日期:这个字段记录了【更动密码的那一天】的日期。而1971年1

月1日为366,所以该数字为366到当年1月1日累加的总日数设定。

4.密码不可更动的天数:第四个字段记录了这个账号的密码需要经过几天才可以被变

更!如果是0的话,表示密码随时可以更动。如果设定为20天的话,那么当你设定了

密码之后,20天之内都无法改变这个密码哟!

5.密码需要重新变更的天数:你必须要在这个时间之内重新设定你的密码,否则这个

账号将会暂时失效。如果像上面的99999的话,那就表示,密码不需要重新输入啦!

6.密码需要变更期限前的警告期限:当账号的密码失效期快要到的时候,就是上面那

个[必须变更密码]的那个时间时,系统会依据这个字段的设定,发出【警告】言论给

这个账号。

7.密码过期的恕限时间:当密码失效后,你还可以用这个密码在 n 天内进行登入的

意思。

8.账号失效日期:这个日期跟第三个字段一样,都是使用1970年以来的总日数设定

。这个字段表示:这个账号在此字段规定的日期之后,将无法再使用。这个字段使用

通常应该是在【收费服务】的系统中。

9.保留:最后一个字段是保留的,看以后有没有新功能加入。

本文标签: 用户登录流程过程Linux