linux中passwd_shadow_group详解
2017-02-15 19:57
211 查看
linux中与用户管理、用户组控制相关的主要的三个文件是
使用vim打开该文件
可以看到文件中由多行组成,其中每行代表一个组的信息,以root组为例说明每一行的格式及含义:
该行由四段组成,每一段间以
其中组密码均显示为x,在unix的早期这里是直接显示明文密码的,后来出于安全考虑使用加密算法进行加密,并将加密后的值单独使用一个文件进行保存
组成员如果显示空缺则该组只有一个用户且用户名与组名相同,如果该组有多个用户,则该字段显示所有的用户名,中间以
同样使用vim打开该文件,可以看到该文件格式与
其中由7段组成,每段间以
用户密码与上面的组密码类似,都是为了与早期版本兼容而均显示为x,实际的用户密码加密后将加密值存储在
用户ID必须为非负数,同时0固定为root用户,1~499为系统保留用户,500以上则为普通用户
备注为一行不含空格的字符串,用于简要表明该用户的信息
启动shell为从该用户登录系统后所使用的shell程序,常用的shell有
该文件保存用户的密码加密后的信息,打开该文件需要root权限,打开后第一行为root的密码信息:
由8个
对部分字段的说明:
加密值:上表中
id:为加密方法
salt: 从[a-zA-Z0-9]中选若干字符用于进行扰乱算法
encrpted:经过加密后的值
如果整个字段显示
最近密码修改时间: 从1970年1月1日距密码修改日期共经历多少天
最短使用密码使用天数:0为无限制
最长使用密码使用天数:99999为无限制
密码非活动天数:0表示过期立即锁定,-1表示永不锁定
用户添加
用户删除
用户名修改
锁定用户
解锁用户
用户密码修改
更改用户所在组
/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文件中,即接下来要介绍的一个文件
用户ID必须为非负数,同时0固定为root用户,1~499为系统保留用户,500以上则为普通用户
备注为一行不含空格的字符串,用于简要表明该用户的信息
启动shell为从该用户登录系统后所使用的shell程序,常用的shell有
sh
csh
ksh
tcsh
bash等等,默认情况下为
/bin/sh,该段也可以为一个程序如python等,这样从该用户登录系统后只能运行该程序,结束后退出
/etc/shadow
该文件保存用户的密码加密后的信息,打开该文件需要root权限,打开后第一行为root的密码信息:root:$id$salt$encrtpted:17051:0:99999:7:::
由8个
:分割成9个字段,每个字段定义如下
用户名 | 加密值 | 最近密码修改时间 | 密码最短使用天数 | 密码最长使用天数 | n天前提示密码即将过期 | 密码非活动天数 | 密码额定日期 | 保留字段 |
---|---|---|---|---|---|---|---|---|
root | $id$salt$encrypted | 17051 | 0 | 99999 | 7 |
加密值:上表中
$id$salt$encrypted并不是实际显示在文件中的值,而是由两个
$符号隔开的三个字段
id:为加密方法
id | 加密方法 |
---|---|
1 | MPS |
2a | Blowfish |
5 | SHA-256 |
6 | SHA-512 |
encrpted:经过加密后的值
如果整个字段显示
!则代表该用户被锁定,无法登陆,可以使用
usermod -U <username解锁
最近密码修改时间: 从1970年1月1日距密码修改日期共经历多少天
最短使用密码使用天数:0为无限制
最长使用密码使用天数:99999为无限制
密码非活动天数:0表示过期立即锁定,-1表示永不锁定
关于这三个文件的常用bash指令
一般来说不建议直接修改这三个文件,因为这三个文件之间相互之间,以及与其他文件之间是有联系关系的,单独修改其中一个文件时还需要对其他关联文件进行同步修改,而一些常用操作可以通过bash指令来完成,下面指令中<>内为用户定义的变量值。
用户添加
useradd <usernamer>
用户删除
userdel <username>
用户名修改
usermod -l <newname> <oldname>注意这个操作仅仅只修改用户名称,家目录名等需要手动更改
锁定用户
usermod -L <username>锁定后用户无法登陆,需要root权限,会导致
etc/passwfd的密码字段显示为
!
解锁用户
usermod -U <sername>解锁后会去除
etc/passwfd的密码字段的
!
用户密码修改
passwd <username>
更改用户所在组
usermod -G <groups> <username>这个指令会更改用户到列表中的组中,如果用户原先所在的组没有写入这个列表中,则用户会自动从这个组退出,如果增加
-a选项,则不会从原先所在而没有在中出现的的组中退出。
相关文章推荐
- linux /etc/passwd /etc/shadow /etc/group 详解
- linux etc下 passwd 、shadow和group文件详解
- Linux /etc/passwd /etc/shadow /etc/group 解读
- linux:用户和组文件解释(/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow)
- linux:用户和组文件解释(/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow)
- linux 里 /etc/passwd 、/etc/shadow和/etc/group 文件内容解释
- 0220自学Linux_逻辑理解用户进程权限相关+理解文件内各字段(passwd,shadow,group)
- Linux /etc/passwd & /etc/shadow 详解 2
- linux 里 /etc/passwd 、/etc/shadow和/etc/group 文件内容解释
- linux中通过修改/etc/passwd,/etc/shadow,/etc/group创建用户
- linux 查看当前用户id、whoami用户列表、用户组、用户权限/etc/passwd、/etc/group、/etc/shadow以及切换用户身份、su、sudo、/etc/sudoers
- linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释
- Linux下passwd和shadow文件内容详解
- linux 里 /etc/passwd 、/etc/shadow和/etc/group 文件内容解释
- Linux下passwd和shadow文件内容详解
- linux,/etc/passwd,/etc/shadow详解
- Linux下passwd和shadow文件内容详解
- linux 里 /etc/passwd 、/etc/shadow和/etc/group 文件内容解释
- L-2 Linux下passwd和shadow文件内容详解
- linux查看当前用户id、whoami用户列表、用户组、用户权限/etc/passwd、/etc/group、/etc/shadow以及切换用户身份、su、sudo、/etc/sudoers