【用户管理】用户与用户组管理相关文件 卑微求看求赞

在讲相关文件前,先来了解一下为什么要进行用户与用户组管理

Linux系统支持多个用户在同一时间内登录,不同用户可以执行不同的任务,并且互不影响,Linux通过用户权限的划分与管理,实现多用户多任务的安全运行机制

咱们再来了解一下用户和用户组

用户相信大家这么聪明当然是都知道的了(不知道的当我没说)
那用户组是什么呢,⇢是具有相同特征用户的逻辑集合,简单点就是由多个具有相同的权限的用户组成。通过定义用户组,简化了对用户的管理工作
用户和用户组的对应关系有以下4种:
一对一:一个用户可以在一个组中,是组中的唯一成员
一对多:一个用户可以在多个用户组中,此用户具有这些组的共同权限
多对一:多个用户可以在一个组中,这些用户具有和组相同的权限
多对多:多个用户可以在多个组中,也就是以上3种关系的扩展

登录Linux系统时,虽输入的是用户名,但Linux并不认识用户名,他只认识用户名对应的ID
用户ID(User ID,简称UID)和用户组ID(Group ID,简称GID)
Linux系统将所有用户名与ID的对应关系都存储在/etc/passwd文件中
将每个用户组的名称与ID的对应关系存储在/etc/group文件中


为管理用户账户和用户组,系统设置了多个文件存放有关信息
最重要的文件有passwd文件、shadow文件、group文件、gshadow文件

passwd文件

该文件是系统用户配置文件,存储系统中所有用户的基本信息,并且所有用户都可以对此文件执行读操作
该文件还包括系统中的默认用户,这些用户是系统或服务正常运行所必需的用户,这种用户通常称为系统用户或伪用户,1-499的ID是保留给系统使用的
/etc/passwd文件内容如下例:

[root@ localhost ~ ]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin

每一行用户记录的各个数据段用“:”分隔
该文件中每行用户信息都划分为7个字段,每个字段含义如下:

用户名:密码:UID(用户名ID):GID(组ID):描述性信息:主目录:默认shell

字段1:用户名。系统通常对系统的大小写敏感,便于用户记忆。
字段2:密码。用“x”表示此用户设有密码,但他不是真正的密码,真正的密码保存在/etc/shadow文件中,此文件只用root用户可以浏览和操作,最大限度的保证了密码的安全,若删除了“x”,则系统就会认为该用户没有密码。
字段3:UID。每个用户都有唯一的UID,取值范围为0~65535。
字段4:GID。这个字段表示用户初始组的组ID,初始组,指用户登录时就拥有这个用户组的相关权限,每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。eq在建立用户lamp的同时,就会建立lamp组作为lamp用户的初始组。附加组指用户可以加入多个其他的用户组,并拥有这些组的权限。
字段5:描述性信息。只是用来记录用户的相关信息
字段6:主目录。用户登录后有操作权限的访问目录,通常称为用户的主目录。eq:root超级管理员账户的主目录为/root,普通用户的主目录为/home/yourIDname,即在/home目录下建立和用户名相同的目录作为主目录,如lamp用户的主目录为/home/lamp目录,用户登录后均有自己独立的工作环境,个人用户的文件都放在各自的主目录下
字段7:默认shell。如上面例子中默认使用bash,若为nologin就是禁止登录的shell,这个用户就不能登录了

shadow文件

该文件用于存储Linux系统中用户的密码信息,只有root用户拥有读权限
文件内容:

[root@ localhost ~]#cat /etc/shadow
root: $6 $9w5Td6lgVhMxbvO:15775:0:99999:7:::

每行用户信息被分为9个字段

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

每个字段含义如下:
字段1:用户名。该字段与/etc/passwd文件的用户名有相同含义
字段2:加密密码。目前Linux的密码采用SHA512散列加密算法,比MD5或DES加密等级更高更安全。在密码串前加上“!”“﹡”“x”使密码暂时失效
字段3:最后一次修改时间。此时间以1970年1月1日作为1进行不断累加,可以用如下命令进行换算

[root@ localhost ~]# date -d "1970-01-01 15775 days"
2013年03月11日 星期一 00:00:00 CST

字段4:最小修改时间间隔。该字段规定了从字段3起,多长时间内不能修改修改密码。若为0,则密码可以随时修改;若为10,则密码修改后10天内不能再次修改。
字段5:密码有效期。指定距字段3多长时间内需要再次变更密码,否则密码过期。默认值为99999,约274年,若为90,则表示密码被修改90天后需再次修改。管理服务器时,可通过这个字段强制用户定期修改密码。
字段6:密码需要变更前的警告天数。与字段5相比,当账户密码有效期快到时,系统会发出警告信息给用户,提醒用户再过n天密码就要过期。若为7,则距离密码到期第7天开始,该账户在每次登录系统时都会收到“修改密码”的警告信息。
字段7:密码过期后的宽限时间。若还未修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的。若为0,则表示密码过期后立即失效;若为-1,则表示密码永远不会失效。
字段8:账号失效时间。该字段同字段3一样,使用自1970年1月1日以来总天数为账户失效时间。账户在规定时间之外,不论密码是否过期,都将无法使用。
字段9:保留字段。该字段目前没有使用,等待新功能加入。

那密码忘记怎么处理呢?
对于普通账户的密码遗失,可通过root账户解决,它会重新配置好指定账户的密码,而不需要知道原来的密码,利用root身份使用passwd命令即可。
对于root账户的密码遗失,则需重新启动系统,进入单用户模式,系统会提供root权限的bash接口,用passwd命令修改账户密码。

group文件

该文件存放用户组的所有信息
先来看一下文件内容:

[root@ localhost ~]#cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
...
lamp:x:502:

每行为一个用户组,分为4个字段

组名:密码:GID:该用户组中的用户列表

每个字段的含义:
字段1:组名。用户组的名称,由字母或数组构成。同/etc/passwd中的用户名一样,组名也不能重复。
字段2:密码。和/etc/passwd文件一样,“x”只是一个密码标识。用户组密码主要用来指定组管理员的,可代替root进行管理。
字段3:GID。/etc/passwd文件GID对应的群组名,就是通过此文件得到的。
字段4:该用户组中的用户列表。此字段列出每个群组包含的所有用户。该字段显示的都是这个用户组的附加用户。若要让lamp也加入root这个群组,那么只需在第一行的最后一个字段加入lamp,即root : x : 0:root lamp就可以了。

gshadow文件

该文件存放组用户的密码信息
先看文件内容:

[root@ localhost ~]#cat /etc/gshadow
root:::root
bin:::root,bin,daemon
...
lamp:!::lamp

每个字段的含义:

组名:加密密码:组管理员:组附加用户列表

字段1:组名。此字段与/etc/group文件中的组名相对应
字段2:加密密码。对大多数用户来说,通常不设置组密码,通常该字段为空。但有时为“!”,指该组没有组密码,也不设组管理员。
字段3:组管理员。从系统管理员的角度说,该文件最大的功能就是创建组管理员。
字段4:组附加用户列表。该字段显示这个用户组中由哪些附加用户,和/etc/group文件中附加组显示内容相同。

你可能感兴趣的:(Linux,linux,ssh,vim)