Linux基础-用户管理与组管理

目录

一、分类

1、按账户身份的访问控制进行分类

2、按用户账号分类

3、按组账号分类(组账号用来区分权限,不用于登录)

二、账号文件与密码文件

1、本地账号数据的存放在本地磁盘中,包括用户账号数据文件和组账号数据文件

1)用户账号数据文件

2)组账号数据文件

2、用户初始配置文件

1)配置文件来源

2)主要的初始配置文件

3、用户账号文件

1)/etc/passwd 保存用户帐号的基本信息

2)实例

4、用户密码文件

1) /etc/shadow 保存密码字串/有效期等信息

2)实例

5、组账号文件

1)/etc/group 保存组号的基本信息

2)实例

6、组密码文件

1)/etc/gshadow 保存组帐号的管理信息

2)实例

三、相关命令

1、useradd命令

1)功能

2)格式

3)常用命令选项

4)实例

2、usermod命令

1)功能

2)格式

3)常用命令选项

4)实例

3、passwd命令

1)功能

2)格式

3)常用命令选项

4)实例

4、userdel命令

1)功能

2)格式

3)常用命令选项

4)实例

5、id命令

1)功能

2)格式

3)实例

6、groupadd命令

1)功能

2)格式

3)常用命令选项

4)实例

7、gpasswd命令

1)功能

2)格式

3)常用命令选项

4)实例

8、groupdel命令

1)功能

2)格式

3)实例


一、分类

1、按账户身份的访问控制进行分类

①用户账号(用UID来识别)

②组账号(用GID来识别)

2、按用户账号分类

①超级用户root

②系统用户

③普通用户

3、按组账号分类(组账号用来区分权限,不用于登录)

基本组(私有组)

附加组(从属组)

二、账号文件与密码文件

1、本地账号数据的存放在本地磁盘中,包括用户账号数据文件和组账号数据文件

1)用户账号数据文件

/etc/passwd(用户账号文件)

/etc/shadow (用户密码文件)

2)组账号数据文件

/etc/group(组账号文件)

/etc/gshadow(组密码文件)

2、用户初始配置文件

1)配置文件来源

新建用户时,根据 /etc/skel模板目录复制

2)主要的初始配置文件

~/.bash profile:每次登录时执行

~/.bashrc:每次进入新的Bash环境时执行

全局配置文件:/etc/bashrc、/etc/profile

3、用户账号文件

1)/etc/passwd 保存用户帐号的基本信息

2)实例

[root@localhost ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

... ... ...

每个用户记录一行,以:分割为7个字段
字段1:用户帐号的名称
字段2:密码字串或占位符x
字段3:用户帐号的UID号
字段4:所属基本组的GID号
字段5:用户全名
字段6:家目录
字段7:登录使用的解释器

4、用户密码文件

1) /etc/shadow 保存密码字串/有效期等信息

2)实例

[root@localhost ~]# cat /etc/shadow

root:$6$Jjo9h9zNw... ...J/:264:0:99999:7:::

... ... ...

每个用户记录一行,以:分割为9个字段

字段1:用户帐号的名称

字段2:加密后的密码字符串

字段3:上次修改密码的时间

字段4:密码的最短有效天数,默认0

字段5:密码的最长有效天数,默认99999

字段6:密码过期前的警告天数,默认7

字段7:密码过期后多少天禁用此用户账号

字段8:帐号失效时间,默认值为空

字段9:保留字段(未使用)

5、组账号文件

1)/etc/group 保存组号的基本信息

2)实例

[root@localhost ~]# cat /etc/group

root:x:0:

... ... ...

每个组记录一行,以:分割为4个字段

字段1:组帐号的名称

字段2:密码占位符x

字段3:组帐号的GID号

字段4:本组的成员用户列表

6、组密码文件

1)/etc/gshadow 保存组帐号的管理信息

2)实例

[root@localhost ~]# cat /etc/gshadow

root:::

... ... ...

每个组记录一行,以:分割为4个字段

字段1:组帐号的名称

字段2:加密后的密码字符串

字段3:本组的管理员列表

字段4:本组的成员用户列表

三、相关命令

1、useradd命令

1)功能

useradd添加用户

2)格式

useradd  [选项] ... 用户名

3)常用命令选项

-u:指定UID

-d:指定家目录,缺省为/home/用户名

-G:指定所属的附加组

-s:指定用户的登录解释器

4)实例

[root@localhost ~]# useradd -u 10010 -d /opt/wangwu -s /bin/bash -G zhaolu wangwu

#添加wangwu用户,指定UID为10010,家目录设置为/opt/wangwu,指定登录解释器为/bin/bash,指定所属附加组为zhaolu

2、usermod命令

1)功能

usermod修改用户

2)格式

usermod d[选项] ... 用户名

3)常用命令选项

-l:更改用户帐号的登录名称

-u:用户id

-d:家目录

-s:登录解释器

-G:附加组(重置附加组) 

4)实例

[root@localhost ~]# usermod -l wuqi -u 123456 -d /home/wangwu -s /sbin/nologin -G wangwu wangwu

#将用户wangwu更改登录名称为wuqi,用户id改为123456,家目录改为/home/wangwu,附加组改为wangwu,登录解释器改为/sbin/nologin(该解释器不用于登录)

3、passwd命令

1)功能

设置用户密码

2)格式

passwd [选项] ... 用户名

3)常用命令选项

--stdin:从标准输入(例如管道操作)读入密码

4)实例

[root@localhost ~]# echo 123456 | passwd --stdin wangwu

#通过 --stdin选项设置密码为123456,免除交互过程

4、userdel命令

1)功能

userdel删除用户

2)格式

userdel [选项] 用户名

3)常用命令选项

-r :连同家目录/用户邮件一起删除

4)实例

[root@localhost ~]# userdel -r wangwu

#删除用户wangwu

5、id命令

1)功能

查询账号id 

2)格式

id [选项] ... 用户名

3)实例

[root@localhost ~]# id root

uid=0(root) gid=0(root) groups=0(root)

6、groupadd命令

1)功能

groupadd添加组账号

2)格式

groupadd [选项] 组名

3)常用命令选项

-g:指定GID

4)实例

[root@localhost ~]# groupadd -g 1234 wangwu

[root@localhost ~]# grep wangwu /etc/group

wangwu:x:1234:wangwu

7、gpasswd命令

1)功能

gpasswd 管理组成员

2)格式

gpasswd [选项] ... 组名

3)常用命令选项

-A:定义组管理员列表

-a:添加组成员(每次只能加一个) 

-d:删除组成员(每次只能删一个)

-M:定义组成员用户列表(可设置多个)

4)实例

[root@localhost ~]# gpasswd -A wuqi wangwu

[root@localhost ~]# grep wangwu /etc/gshadow

wangwu:!:wuqi:

#wuqi设置为wangwu组管理员
[root@localhost ~]# gpasswd -M wuqi,zhangsan,lisi wangwu

[root@localhost ~]# grep wangwu /etc/gshadow

wangwu:!:wuqi:zhangsan,lisi

#wuqi,zhangsan,lisi设置为wangwu组的组成员
[root@localhost ~]# gpasswd -d lisi wangwu

Removing user lisi from group wangwu

[root@localhost ~]# grep wangwu /etc/gshadow

wangwu:!:wuqi:zhangsan

#将用户删除lisi从wangwu组删除
[root@localhost ~]# gpasswd -a lisi wangwu

Adding user lisi to group wangwu

[root@localhost ~]# grep wangwu /etc/gshadow

wangwu:!:wuqi:zhangsan,lisi

#将用户lisi加入wangwu组

8、groupdel命令

1)功能

groupdel删除组(删除的目标组不能是用户的基本组)

2)格式

groupdel组名

3)实例

[root@localhost ~]# grep wangwu /etc/gshadow

wangwu:!:wuqi:zhangsan,lisi

[root@localhost ~]# groupdel wangwu

[root@localhost ~]# grep wangwu /etc/gshadow

#删除wangwu组,再次搜索发现没有输出,证明成功


原文连接:https://blog.csdn.net/Passerby_Wang/article/details/124382680

相关推荐

管正雄:基于预训练模型、智能运维的QA生成算法落地

这个好用的办公网优化工具,官宣免费了

不割韭菜,纯分享:剖析HTML中的类,运维开发必备前端技能,我们一起坚持。

FTP服务配置

【云原生】Docker部署数据库的持久化

从运维到运维大神,只需要一个正确的选择

远程控制软件也要有plan B备选方案

CentOS7 离线安装 Zabbix5.0

centos7基础操作

Docker 简介

Google 为造芯再掀“抢人大战”,英特尔 17 年老将加入

编程技巧│超实用 nginx 中常见的配置合集

云原生(三十六) | Kubernetes篇之Harbor入门和安装

Docker从入门到精通|2022版

开发者,Docker镜像,容器和仓库到底是什么?

【云原生Kubernetes系列第五篇】kubeadm v1.20 部署K8S 集群架构(人生这道选择题,总会有遗憾)

Linux——进程的概念(万字总结)

开发者,熊二都会的Linux入门

vue入门,从启动项目开始,做完得物App的用户登录(前端!)

运维-技能大杂烩