1. 用户和组


登录linux时,需要输入用户账号。linux只认用户ID, 用户ID User ID,简称 UID 用户属于的用户组, Group ID, 简称 GID.

2. 用户账号


用户账号在linux下与两个文件有关: /etc/passwd 和 /etc/shadow. /etc/passwd 保存用户账号信息。 /etc/shadow 是专门管理密码相关的数据。
/etc/passwd 文件
$ head -4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
每行代表一个账号,里面有些账号是系统运行需要的,简称为系统账号, 比如 bin , daemon, adm, nobody 等。
使用 : 分隔,共7个字段: 1: 账号名称 2: 密码 早期保存密码,密码数据现在保存到/etc/shadow 中,所以现在是 x 代替。 3: UID 0:为系统管理员, 1-499: 系统账号, 500-65535: 一般用户账号。 4: GID 组ID 5: 用户信息说明列 6: 主文件夹 用户登录后,会到该用户主目录中,默认的用户主目录为 /home/yourID name 7: shell 用户登录后取到的shell。
/etc/shadown文件
$ head -4 /etc/shadow
root:$1$l0aFE9hs$d1/FIMqIl3foYUl3ETyk10:16353:0:99999:7:::
bin:*:13361:0:99999:7:::
daemon:*:13361:0:99999:7:::
adm:*:13361:0:99999:7:::
查看权限,一般设置为root只读
ll /etc/shadow
-r--------  1 root root 1085 Nov 21 03:40 /etc/shadow

按照:分隔,共9个字段 1:账号名称 2:密码 经过的密码字段。 3:最近改动密码的日期 为1970-01-01累加的天数。 4:密码不可被改动的天数 0表示不限制 5:密码需要重新修改的天数 99999计算后为273年, 6:密码需要更改期限前的警告天数 7:密码过期后账号宽限时间 还可以登录,登录后强制修改密码 8:账号失效日期 账号将不能再使用 9:保留字段

3. 用户组


用户组数据保存在/etc/group 文件中
$ head -4 group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
一行代表一个用户组,文件以 : 分隔,共4列
1: 用户组名称 2: 用户组密码 通常不需要设置,密码文件为 /etc/gshadow 3: GID 4: 用户组支持的用户。
初始用户组initial group: 在/etc/passwd 中的GID为用户初始用户组 有效用户组 一个用户可以有多个组,当前所在用的组为有效用户组
$ groups
root bin daemon
使用groups命令查看用户的组,第一个出现的为有效用户组。
使用 newgrp groupname 可以切换组。

/etc/gshadow 组密码文件
head -4 /etc/gshadow   
root:::root
bin:::root,bin,daemon
daemon:::root,bin,daemon
sys:::root,bin,adm
使用:分隔,4列 1:组名称 2:密码 3:用户组管理员账号 4:用户组的所属用户账号。