Linux学习|Gentoo/Arch/FreeBSDLinux我用 Linux

linux中group_passwd_shadow文件详解

2017-02-15  本文已影响87人  cheng3100

linux中与用户管理、用户组控制相关的主要的三个文件是 /etc/group /etc/passwd/etc/shadow。这三个文件中确定了系统中的所有用户以及其所在组的信息,包括用户名,用户密码,用户组,用户ID和组ID等等,直接通过修改这些文件就可以实现增加用户等操作,而如adduser <username>这样的指令本质上最终也是在修改这些文件。下面对这个三个文件的内容做一个简要分析。

/etc/group

使用vim打开该文件

vim /etc/group

可以看到文件中由多行组成,其中每行代表一个组的信息,以root组为例说明每一行的格式及含义:

root:x:0:

该行由四段组成,每一段间以:区分,每段含义如下:

组名称 组密码 组ID 组成员
root x 0

/etc/passwd

同样使用vim打开该文件,可以看到该文件格式与group类似由多行组成,每行代表了一个用户的信息,依然以root用户为例,该行显示:

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

其中由7段组成,每段间以:分隔,每段含义如下

用户名 用户密码 用户ID 组ID 备注 家目录 启动shell
root x 0 0 root /root /bin/bash

/etc/shadow

该文件保存用户的密码加密后的信息,打开该文件需要root权限,打开后第一行为root的密码信息:

root:$id$salt$encrypted:17051:0:99999:7:::

由8个:分割成9个字段,每个字段定义如下

用户名 加密值 最近密码修改时间 密码最短使用天数 密码最长使用天数 n天前提示密码即将过期 密码非活动天数 密码额定日期 保留字段
root $id$salt$encrypted 17051 0 99999 7

对部分字段的说明:

id 加密方法
1 MPS
2a Blowfish
5 SHA-256
6 SHA-512

关于这三个文件的常用bash指令

一般来说不建议直接修改这三个文件,因为这三个文件之间相互之间,以及与其他文件之间是有联系关系的,单独修改其中一个文件时还需要对其他关联文件进行同步修改,而一些常用操作可以通过bash指令来完成,下面指令中<>内为用户定义的变量值。

上一篇下一篇

猜你喜欢

热点阅读