一篇文章快速搞懂Linux用户与用户组管理

用户(UID)

在linux系统中将用户信息存储在/etc/passwd文件中,我们可以进行查看。
一篇文章快速搞懂Linux用户与用户组管理
以root用户为例,我们看看他的组成部分
root:x:0:0:root:/root:/bin/bash
a????️c:d:e:f:g
我用a-g来标识每个部分,更方便解释

  • a:账户名
  • b:用户密码 x意为密码在/etc/shadow文件中
  • c:uid号
  • d:gid号
  • e:用户信息说明
  • f:该用户的家目录
  • g:shell

用户类型

root用户:

超级管理员,UID为0.具有最高权限

系统用户

UID为1-499,一般不会被使用

普通用户

UID数从500开始用起

用户创建与修改

创建用户

useradd 用户名

  • -g 初始化用户组
  • -d 家目录
  • -s 指定shell
  • -e 账户过期时间

注:如果不填写初始化用户组,会自动创建以该用户名为名称的用户组

例:
useradd test -g test -e 2020-03-22

设置密码

passwd 用户名

密码文件存储位置:/etc/shadow
例:
passwd test0

删除用户

userdel 用户名
-r 添加后表示包括用户家目录一起删除
userdel -r test0

查看用户信息

chage -l 用户名

修改用户默认家目录

用户家目录的内容依照 /etc/skel的目录结构,如果我们想改变家目录的默认结构,只需要在此创建或修改目录
一篇文章快速搞懂Linux用户与用户组管理

修改用户所属用户组

修改初始组

usermod -g 组名 用户名
替换/etc/passwd第四字段,初始化用户组

添加组

usermod -G 组名 用户名 覆盖组
usermod -aG 组名 用户名 累加组

修改/etc/group第四字段,累加

用户组

用户组创建

groupadd 组名

用户组删除

groupdel 组名

将用户从组中剔除

gpasswd -d 用户名 组名

文件所有者

改变文件或目录所有者

chown -R 所有者 文件
加R表示目录下所有文件

改变文件或目录的组所有者

chgrp 所有者 文件