用户与组管理的相关命令

1.用户信息文件  /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

7个字段含义

第1个字段:用户名称
第2个字段:密码标志 x表示 用户是有密码的 密码在/etc/shadow
第3个字段:UID (用户ID)
  0: 超级用户 系统最高级用户的uid表示,把普通用户uid改为0,普通用户也成管理员了,可同时有多个管理员
  1-499:系统用户(伪用户)
 500-65535: 普通用户
第4个字段:GID (用户初始组id)
第5个字段:用户说明备注
第6个字段:家目录
  普通用户:/home/用户名
  超级用户:/root
第7个字段:登录之后的shell
linux的命令解释器
普通用户/bin/bash
不能登录用户 /sbin/nologin

初始组和附加组
初始组:指用户已登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,
一般就是和这个用户的用户名相同的组名作为这个用户的初始组
附加组:指用户可以加入多个其它的用户组,并拥有这些组的权限,附加组可以有多个

2.影子文件 /etc/shadow  权限000

/etc/passwd   644

root:66nqH42SD3OTNQS3kk$AOec/Whtl5nERj9KFmU.Kwgia1pkw1XWIIfhYMzPqz/sx4EyQJIW0ONrircuhu3wWI4VKJ6kBU1KN6.CVyq6X.:16813:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::

9个字段
第1个字段:用户名
第2个字段:加密密码
加密算法升级为sha512散列加密算法
如果密码是 "!!" 或 "*" 代表没有密码,不能登录
第3个字段:密码最后一次修改日期 时间戳
第4个字段:两次密码的修改时间间隔(和第三个字段相比)
第5个 :密码有效期(单位 天) (和第3个字段相比)
第6个字段:密码修改到期前的警告天数(和第5个字段相比)
第7个字段:密码过期后的宽限天数(和第5个字段相比)
0:代表密码过期后立即失效 或者不写
-1:代表密码永不会失效
第8个 :账号失效时间 (时间戳表示)
第9个 :保留

时间戳换算为日期
date -d "1970-01-01 1 days" 1970年 01月 02日 星期五 00:00:00 EST
1970-01-01 1 天后的时间

date -d "2016-03-23 1 days"
2016年 03月 24日 星期四 00:00:00 EDT

日期换位时间戳
echo (((((date --date="2016/03/06" +%s)/86400+1))
16867
date -d "1970-01-01 16867 days"
2016年 03月 07日 星期一 00:00:00 EST

 

3.组信息文件 /etc/group
第1个:组名
第2个:组密码标志
第3个:GID
第4个:组中附加用户

 

4.组密码文件:/etc/gshadow
第1个:组名
第2个:组密码
第3个:组管理员用户名
第4个:组中附加用户

用户管理命令
添加用户命令 useradd
修改用户密码 passwd
修改用户信息 usermod
修改用户密码状态 chage
删除用户 userdel
用户切换命令 su

1.useradd 命令格式
useradd [选项] 用户名
-u UID :手动指定用户的uid号
-d 家目录: 指定用户的家目录
-c 用户说明:指定用户说明
-g 组名: 指定用户的初始组
-G 组名 :指定用户的附加组,多个 用,分隔
-s shell: 指定用户登录shell,默认是/bin/bash

2.删除用户userdel
用户切换命令 su
userdel [-r] 用户名
-r 删除用户的同时删除用户家目录

su [选项] 用户名
- : 选项只使用"-"代表连带用户的环境变量一起切换

-c: 仅执行一次命令,而不切换用户身份

用户组管理
1.添加用户组
groupadd [选项] 组名
-g GID :指定组ID
2.修改用户组
groupmod [选项] 组名
-g GID: 修改组id
-n 新组名: 修改组名
groupmod -n newgroup_name group_name
把组名group_name 修改为newgroup_name
3.删除组名
groupdel 组名
当组是一个用户的初始组而且这个用户存在时,不可以删除这个组
必须得先删初始用户才行
有附加用户没初始用户的组可以删除
groupadd gr1
useradd -g gr1 u1
useradd -G gr1 u2
不会产生u1还个组,u1用户的初始组为gr1了

4.把用户添加入组或从组中移除
gpasswd [选项] 组名
-a 用户名: 把用户加入组(操作的是附加用户)
-d 用户名: 把用户从组中删除

 

posted @ 2020-12-03 17:39  晚山  阅读(94)  评论(0编辑  收藏  举报