Linux 用户管理

Linux 系统中, 用户账号和用户组信息都存放在/etc 目录下.

  • /etc/passwd 存放用户账号信息, 每行一条用户账号信息. 内容格式(1用户名:2口令:3用户标识号(UID):4组标识号(GID):5账号备注信息:6主目录:7登录的Shell), 字段之间用:(冒号)隔开.
  • /etc/shadow 存放用户密码, 有效期等信息, 内容格式(1用户名:2密码:3密码修改时间:4两次密码修改间隔最少天数:5两次密码修改间隔最多天数:6密码过期提前警告天数:7密码过期多数天禁用此用户:8用户过期时间:9保留字段), 字段之间用:(冒号)隔开.
  • /etc/group 存放用户组信息, 每行一条用户组信息, 内容格式(1用户组名:2用户组密码:3用户组ID:4用户组用户列表), 字段之间用:(冒号)隔开.
  • /etc/gshadow: 存放用户组密码, 内容格式(1用户组名:2用户组密码:3用户组管理员列表:4用户组成员列表), 字段之间用:(冒号)隔开.

新增用户到系统

使用 useradd 命令添加新用户, 添加新用户后, 使用 passwd 设定账号密码. useradd 常用到的参数介绍:

-c, —comment COMMENT    账号备注
-d, —home-dir HOME_DIR  指定用户登入是的起始目录
-D, —defaults               更改useradd参数默认值
-e, —expiredate         账号有效期限
-f, —inactive INACTIVE      账号密码过期多少天后账号被关闭
-g, —gid GROUP          指定账号所属群组的 id 或者 name
-G, —groups GROUPS      指定账号所属的附加群组
-m, —create-home            自动建立用户的登入目录
-M, —no-create-home     不建立用户的登入目录
-N, —no-user-group      取消建立和用户名同名的用户组
-r, —system             创建系统账号
-s, —shell SHELL            指定用户登录后使用的shell
-u, —uid UID                指定用户的ID

添加用户实例

  • 添加账号 guest01 到系统
sudo useradd guest01
sudo passwd guest01
# 查看一下新增加的用户
awk -F: '/^guest/{print "user:" $1,  "uid:" $3, "gid:" $4, "home:" $6, "Shell:" $7}' OFS="\t" /etc/passwd

添加用户登录名为: guest01 的用户到系统. 账号: guest01 能正常登录, 无用户主目录.


  • 添加账号 guest02 到系统
sudo useradd guest02 -m 
sudo passwd guest02

添加用户登录名为: guest02 的用户到系统. 账号: guest02 能正常登录, 有用户主目录 /home/guest02.


  • 添加账号 guest03 到系统
sudo useradd guest03 -m -d /home/other-user-home 
sudo passwd guest03

添加用户登录名为: guest02 的用户到系统. 账号: guest02 能正常登录, 有用户主目录 /home/other-user-home.


  • 添加账号 guest04 到系统
sudo useradd guest04 -s /sbin/nologin -M -N

guest04 用户不允许登录系统, 不创建用户主目录, 不创建同名的用户组.


删除用户实例

  • 删除 guest04 用户
sudo userdel guest04

只是删除账号信息.


  • 删除 guest03 用户, 并且删除用户文件
sudo userdel -r guest03

用户主目录一并被删除.

你可能感兴趣的:(Linux 用户管理)