Linux 系统中的用户管理

article/2025/11/1 14:10:19

Linux系统中的用户管理

    • 1. 用户及用户组存在的意义
      • 1.1 用户存在的意义
      • 1.2 用户组存在意义
    • 2. 用户及用户组在系统中的存在方式
    • 3. 用户切换
      • 3.1 用户查看
      • 3.2 用户切换
    • 4. 用户涉及到的系统配置文件
    • 5. 用户和用户组建立及删除
    • 6. 用户和用户组的信息管理
    • 7. 用户认证信息管理
      • 7.1 用户名称
      • 7.2 用户加密字符
    • 7.3 密码使用天数
    • 7.4 密码最短有效期
    • 7.5 密码最长有效期
    • 7.6 密码过期警告
    • 7.7 认证非活跃天数
    • 7.8 账号认证到期时间
    • 7.9 未启用功能
    • 8. 用户权力下放

1. 用户及用户组存在的意义

1.1 用户存在的意义

由于系统资源是非常有限的,如何合理分配系统资源就成了一个严重的问题。在解决这个问题时就必须要有整个资源配合。
1). 身份 account
2). 授权 author
3). 认证 auth

这就是著名的3A机制,3A机制组成系统中最底层的安全架构。

1.2 用户组存在意义

1). 用户组是一个逻辑容器
2). 对用户进行归类和统一授权

2. 用户及用户组在系统中的存在方式

由于人类对信息的处理量有限,所以人类对于字符串(名称)的感觉比对数字的信息更加敏感,但是电脑是通过算法对信息进行处理的,电脑对数字(id)更加敏感。

id <-------> 名称 ,必须要记录到文件当中用户才能存在

用户存在的方式就是 /etc/passwd 文件中的一行字符
用户组存在的方式就是 /etc/group 文件中的一行字符

3. 用户切换

3.1 用户查看

命令 whoami ##可以查看当前用户
id ##查看用户 id 信息

在这里插入图片描述
id 命令后面跟的那个用户就查看那个用户的id,什么都不跟就是看当前所在用户的id)

id -用法
-u查看用户的用户id
-g查看用户主组id
-G查看用户所有的组的id
-n显示名称
-nG -ng -nu显示对应的名称而不再显示数字

3.2 用户切换

su - username
- #表示切换用户的环境

在这里插入图片描述

在命令窗口中用命令来切换用户时,在切换到对应的窗口完成任务后需要输入 exit 来退出当前用户,回到之前的用户;否则后面会u出现环境错乱,切换的次数很多严重时会导致系统瘫痪。

在这里插入图片描述
在这里插入图片描述

在命令窗口中输入 su - westos,会将当前用户切换至 westos 用户,如果是超级用户切换到其他用户时会直接切换过去,不需要密码;如果是普通用户切换到超级用户或者其他普通用户时都需要输入密码。

注意:

  1. 在做用户切换时当使用完毕用户身份及时退出
  2. 不要在一个shell中反复执行su命令
  3. 在一个shell中反复执行su命令会导致环境错乱
  4. 在一个shell中切换身份时,只是在当前 shell 中起作用,在其他shell中还是之前的身份。

4. 用户涉及到的系统配置文件

文件目录代表的内容
/etc/passwd用户身份信息文件
/etc/group组身份信息文件
/etc/skel/.*用户环境配置文件模板
/etc/shadow用户认证信息文件
/home/username用户家目录
/var/spool/mail/username用户邮箱文件

1) 在用户身份信息中都是固定的7列格式,分别代表的内容:
用户名称:用户密码(密码放在这不安全):用户id:主组id:用户说明:用户家目录:用户默认

在这里插入图片描述

2)在组身份信息中都是固定的4列格式,分别代表的内容:
组名称:组密码:组id:组的附加成员有那些

在这里插入图片描述

5. 用户和用户组建立及删除

监控用户命令

在命令窗口中输入 watch -n 1 " tail -n 4 /etc/passwd /etc/group; ls -l /home" ; tail -n 4 /etc/passwd /etc/group 表示显示这两个文件内容的后4行,ls -l /home 表示显示 /home 目录中内容的属性。watch -n 1 表示监控以上信息,隔1 秒更新一次结果。

在这里插入图片描述

注:执行多条命令可以用分号间隔开

  1. 用户建立
命令含义
useradd username用户建立
useradd -u id username指定用户的用户ID建立用户
0 Linux超级用户ID
用户id范围: 0-65535 (2^16)1-200 系统自动保留ID
201-999 Liunx系统自用ID
1000-60000 用户级ID
useradd -g id username指定主组ID建立用户
useradd -G id username指定附加组ID建立用户
useradd -d dir username指定用户家目录建立用户
useradd -M username建立用户时不建立用户家目录
useradd -c word username指定用户说明建立用户
useradd -s shell username指定用shell建立用户

在这里插入图片描述

1)输入命令 useradd zxk , 即可直接建立用户名称为 zxk 的用户;

在这里插入图片描述

2)输入命令 useradd -u 666 zxk , 即可建立用户名称为 zxk 的用户,用户ID 为666;

在这里插入图片描述

3)输入命令 useradd -g 1000 zxk , 即可建立用户名称为 zxk 的用户,组ID 为1000;
在这里插入图片描述

4)输入命令 useradd -G 72 zxk , 即可建立用户名称为 zxk 的用户,附加组的ID 为72;

在这里插入图片描述

5)输入命令 useradd -d /home/upup zxk , 即可建立用户名称为 zxk 的用户,它的家目录为 /home/upup;

在这里插入图片描述

6)输入命令 useradd -c “zxk linux” zxk , 即可建立用户名称为 zxk 的用户,它的说明为zxk linux;

在这里插入图片描述

7)输入命令 useradd -s /bin/sh zxk , 即可建立用户名称为 zxk 的用户,它使用的shell 为sh ;

在这里插入图片描述8)输入命令 useradd -M zxk , 即可建立用户名称为 zxk 的用户,它使用的shell 为sh ;

在这里插入图片描述

  1. 在建立用户时,如果要指定用户的组ID 那么之前这个组一定要存在,否则在建立用户时会报错;
  2. 在建立用户时,如果需要指定附加组,那么这个组也一定要存在,在建立的时候才可以将其设定为附加组;
  3. 可以同时设定用户ID 组ID 附加组ID 等信息.
    :设定用户的ID 为888,组的ID 为7455,附加组的ID 为72。
    useradd -u 888 -g 7455 -G 72 zxk

在这里插入图片描述

  1. 用户删除

在做上述实验时应该在做下一个实验之前先删除上一个同名的用户,否则在建立用户时会报错。

userdel -r username ##用户删除
如果没有加 -r ,则只会删除用户的信息,并不会删除用户的根目录。-r 表示删除用户的系统配置文件,如果不加-r 在新建和以删除的用户同名时会报错。

在这里插入图片描述

  1. 组的建立

在新建用户时,如果需要指定给新建用户的组,当这个组不存在时可以先建立这个组。

命令含义
groupadd groupname组建立
groupadd -g id groupname指定组名称
groupdel groupname组删除

在这里插入图片描述

6. 用户和用户组的信息管理

除了上述建立用户和建立组对用户进行管理外,还可以通过更改的方式对其管理。

命令含义
usermod -l更改用户名称
usermod -u更改用户id
usermod -g更改主组id
usermod -G更改用户附加组身份
usermod -aG添加用户附加组身份
usermod -d更改家目录指向字符,但是真实的目录名称并不改变
usermod -md更改家目录指向字符同时更改家目录名称
usermod -c更改用户说明
usermod -s更改默认shell
usermod -L冻结账号
usermod -U解锁账号
groupmod -g更改用户组id

1)输入命令 usermod -l kk123 zxk , 即可把已经存在的zxk 用户名称更改为 kk123 的用户 ;

在这里插入图片描述
此更改会更改只会更改用户名称,并不会更改组的身份和文件名称。

2)输入命令 usermod -u 1999 zxk , 即可把已经存在的zxk 用户ID更改为 999 ;

在这里插入图片描述
在更改用ID 时,这时的ID 要按照用户ID 的默认规则来改。

3)输入命令 usermod -g 72 zxk , 即可把已经存在的zxk 用户主组ID更改为 72 (此要更改成的组ID必须之前这个组就已经存在);

在这里插入图片描述

4)输入命令 usermod -G 7455 zxk , 即可把 zxk 用户的附加组更改为ID为 7455的附加组 ( 如果之前没有附加组,就会将这个组给附加上去;如果之前已经有附加组,就会将之前的附加组更改;如果要取消之前的附加组也可以用usermod -G “” zxk,即可把zxk这个组的附加组去掉);

在这里插入图片描述

5)输入命令 usermod -aG 1000,72 zxk , 即可把ID为1000和72的两个组附加给zxk 用户 ;

在这里插入图片描述

6)输入命令 usermod -d /home/kk123 zxk , 更改的是 /etc/passwd 家目录指向字符,但是真实的目录名称并不改变 ;

在这里插入图片描述
在这里插入图片描述

7)输入命令 usermod -md /home/haha zxk , 即可更改家目录指向字符同时更改家目录名称(md 两个字符不能交换顺序);

在这里插入图片描述
在这里插入图片描述

8)输入命令 usermod -c “kk linux 123” zxk , 即可更改用户说明为kk linux 123 ;

在这里插入图片描述

9)输入命令 usermod -s /bin/sh zxk , 即可更改默认 shell 为 sh ;

在这里插入图片描述

10)输入命令 groupmod -g 7555 lk , 即可更改lk 这个用户的组ID为7555 ;

在这里插入图片描述输入命令groupmod -g 3888, 即可更改用户 zxk 的组ID 为3888(更改组ID 时不能与已经存在的组ID 相同);

在这里插入图片描述

7. 用户认证信息管理

在系统 /etc/shadow 这个文件中有每个用户认证信息的详细显示。

在这里插入图片描述
分别代表的含义为:

用户名称 : 用户密码的加密字符 : 用户密码最后一次被修改时间 : 密码最短有效期 : 密码最长有效期 : 密码过期前警告期 : 账号非活跃期 : 账号到期时间 : 用户自定义

7.1 用户名称

输入命令 passwd -S username 可以查看密码状态

在这里插入图片描述在这里插入图片描述

LK表示密码被锁定 ,在 /etc/shadow 中显示为 !! ;Passdord locked 表示没有设置密码.

在这里插入图片描述
在这里插入图片描述

PS 表示密码被设定过, 在 /etc/shadow 中显示为加密的字符串; Password set, SHA512 crypt. 表示设定了密码,加密方式为SHA512.

7.2 用户加密字符

1)更改密码
在超级用户下执行命令 passwd username 即可执行更改密码

在这里插入图片描述
也可以用非交互的方式更改zxk 这个用户的密码为zxk.
输入命令 echo zxk | passwd --stdin zxk.

在这里插入图片描述

当普通用户更改密码时只需在普通用户下输入 passwd 命令即可更改密码,passwd 后面不可加用户,即使是自己也不行。

在这里插入图片描述

注:

  1. 超级用户更改不需要输入原始密码,并且设定的新密码也特殊强制要求;
  2. 普通用户更改的密码一定要输入原始密码,并且新设定的密码有一定的要求,如:8位以上无序数字+无序字母组合等规则,否则会报错。

2)冻结认证

命令含义
passwd -l username冻结账号认证
passwd -u username解锁账号认证

如冻结 zxk 这个用户,会出现 LK ,并且在 /etc/shadow 这个文件在也会在加密字符前出现!!.
在这里插入图片描述
在这里插入图片描述
解锁时输入 passwd -u zxk 结果如下

在这里插入图片描述
账户的锁定也可以用 usermod -L 来锁定。

在这里插入图片描述
在这里插入图片描述
用 usermod -L 锁定 zxk 这个用户,会出现 LK ,并且在 /etc/shadow 这个文件在也会在加密字符前出现一个!。用 usermod -U 解锁也会解锁一个!。在企业8 版本中 冻结和锁定的级别一样,用一个锁定或者冻结,可以用另外一个解冻或者解锁;但是在企业8 之前的版本中,用 passwd -l 锁定之后,需要用 usermod -U 解锁两次才可解锁。

3)密码删除

passwd -d username 删除用户的密码

在这里插入图片描述
在这里插入图片描述

7.3 密码使用天数

从1970-1-1算其到今天的时间
输入命令 passwd -e username 会修改默认使用时间为0 ,用户在登陆系统完成认证之后,被强制的修改一次密码,否则登陆不了系统。

输入命令 chage -d 0(number) username 也会使用户账号必须改密码才能登陆系统, 但是chage -d number 可以修改为其他指定天数。

7.4 密码最短有效期

passwd -n 1 username
chage -m 1 username
都表示用户在1天内不能改密码.

在这里插入图片描述但是超级用户修改普通用户时没有限制。

7.5 密码最长有效期

passwd -x 40 username
chage -M 40 username
都表示40天内用户必须更新密码否则会被冻结,如果在这个时间段之内修改过密码,则以最后一次修改的时间往后顺延40天.

7.6 密码过期警告

passwd -w 2 lee
chage -W 2 lee
表示账号过期前2天会警告时间

7.7 认证非活跃天数

passwd -i 2 lee
chage -I 1 lee
表示账号认证最大时间超过后还能用多久.

7.8 账号认证到期时间

chage -E "2021-05-11"    
表示到 2021-5-11 这天账号会被冻结.

注:

  1. 只能用chage改不能用passwd 改;
  2. chage -E “” zxk 可以将zxk 用户的账号到期认证时间改为空格,其他的信息不管是用chage 命令还是用passwd 命令都不能将改过之后的改为空。

7.9 未启用功能

8. 用户权力下放

在系统中普通用户是无法执行系统管理命令的,那么如果需要普通用户执行系统管理动作那么就需要给普通用户一定的权力,此时可以通过超级用户来进行授权。

普通用户授权方式 “sudo”
作用 : 可以使普通用户使用指定的用户身份来运行命令。

授权方法:
输入 visudo命令,此命令作用是编辑 /etc/sudoers 并提供语法检测。虽然 vim 也可以对 /etc/sudoers 命令进行编辑,但是不会提示语法报错;语法检测只能确保语法正确,不能表示设定是否合理或者单词拼写是否错误。如果有语法错误,在编辑完 /etc/sudoers 之后退出时会提示错误,按 e 继续进行编辑。

在对 /etc/sudoers 文件进行编辑时,一般在文件的100行左右进行编辑,确保代码规范性。

hostname 查看当前系统的主机名

需要设定的用户在那台主机上用什么身份执行命令
usernamehostname=(newusername)[NOPASSWD:] /command, /command1

如:
在这里插入图片描述表示 zxk 这个用户在 westoslinux.westos.org这台主机上以超级用户的身份免密执行 usr/sbin/useradd, /usr/sbin/userdel 用户建立和用户删除这两个功能。

在这里插入图片描述

在需要调用在这个权限命令时需要用到 sudo 这个命令加上要执行的命令。
在没有设定建立组的权限时,即使用了 sudo 也不能获得超级用户的权限,如果想要建立组等权限,我们还需要进一步的设置。

在这里插入图片描述
给 zxk 这个用户在westoslinux.westos.org这台主机上以超级用户的身份执行 usr/sbin/useradd, /usr/sbin/userdel ,/usr/sbin/groupadd, /usr/sbin/groupdel 用户建立和用户删除以及组的建立与删除,但是执行的过程需要密码。
在这里插入图片描述
可以知道在切换到 zxk 这个用户时,用 sudo 调用权限时,需要输入密码,但是也只是在第一此调用的时候需要输入密码。


http://chatgpt.dhexx.cn/article/fd8IUO5a.shtml

相关文章

EduCoder Linux之用户管理

一个操作系统安全的核心组件就是用户账户管理,Linux是个多用户多任务的操作系统&#xff0c;所有要使用系统资源的用户都必须先向系统管理员申请一个账号&#xff0c;然后以这个账号的身份进入系统。 多用户多任务操作系统就是指可以在系统上建立多个用户&#xff0c;而同一时间…

Linux系统管理---linux用户管理

目录 一、配置文件 1、/etc/password 2、/etc/shadow 时间戳转日期&#xff1a; 3、/etc/group 4、/etc/gshadow 5、/etc/login.defs 6、/etc/default/useradd 7、/etc/skel 二、命令 1、用户创建过程 useradd/usermod/userdel/passwd/groupadd/gpasswd/newgrp/group…

sql server 2008 r2数据库备份还原

一、安装SQL SERVER 2008R2。各种下一步。 二、从原数据库中备份数据库。 步骤&#xff1a;点击数据库右键–>任务–>备份。 需要注意&#xff1a;备份地址只能有一个&#xff0c;否则数据库会被分包备份。导致还原时出现异常。如下图所示: 三、还原 1、创建数据库马甲。…

十一、MYSQL数据库备份还原

十一、MYSQL数据库备份还原 数据库冷备份mysqldump备份和还原数据库备份主从数据库备份备份指定数据库备份多个数据库备份所有数据库 备份数据表方法1: mysqldump备份数据表方法2: create table备份方法3: SQL SELECT INTO 实例 - 制作备份复件 导出数据库信息查看secure-file-…

数据库还原差异备份文件

首先有一个完整的数据库备份&#xff0c;其次要确定当前的差异备份文件是基于这个完整的数据库备份的文件&#xff08;即在这个数据库完整备份完件备份之后&#xff0c;到这个差异备份文件备份之时&#xff0c;数据库没有被完整备份过&#xff09; 1、还原完整数据库&#xff…

数据库备份和还原bak文件

备份&#xff1a; 选中数据库右键 > 任务 > 备份 还原&#xff1a; 选中数据库右键 > 任务 > 还原 >数据库 在选项里勾选覆盖现有数据库&#xff0c;有可能数据库还在使用还原不成功就勾选关闭目标数据库现有连接 在常规里边点击设备选择备份的设备&#x…

mssql数据库的备份与还原

一、mssql数据库备份 右键需要备份的数据库 > 任务 > 备份 进入到备份数据库页面后 ①. 检查备份类型(完整)和备份目标(磁盘) ②. 删除原有备份路径 ③. 添加新路径 选择路径并给备份文件命名&#xff0c;注意&#xff1a;文件名需要加上后缀 点击确定&#xff0c;待弹出…

SQL Sever 数据库的备份与还原

1.数据库的备份 1.选择要备份的数据库 creat--右键任务--备份 2.设置文件位置 3.可以给备份的数据库设置时间限制 5.备份完成 2.数据库的还原 2.数据的还原 选择数据库右击还原数据库 2.从设备还原数据库---选择文件位置---添加 3,选择要还原的数据库--注意要选择所有文件 4…

达梦数据库的备份和还原

简要介绍一下达梦数据库备份还原的概念以及如何进行备份还原及故障恢复。 物理备份&#xff1a;拷贝有效数据页。 联机备份 联机即在数据库运行状态下进行备份&#xff0c;必须开归档模式&#xff0c;支持库备份、表空间备份、表备份、归档备份。它包括完全备份&#xff08;拷…

SQL Server 2012 数据库备份还原

文章目录 1.数据库备份2.创建备份设备使用SSMS工具创建备份设备使用SQL方式创建备份设备 3.完整备份与还原使用SSMS工具完整备份与还原使用SQL方式完整备份与还原 4.差异备份与还原使用SSMS工具差异备份与还原使用SQL方式差异备份与还原 5.事务日志备份与还原使用SSMS工具事务日…

达梦数据库之备份与还原

备份与还原是DBA必备的技能之一&#xff0c;为防止数据的误操作、误删除等突发情况&#xff0c;所以备份还原至关重要&#xff0c;一下从几方面共同学习一下达梦数据库的备份与还原基础知识。 一、概述 达梦数据库的备份还原方式&#xff1a;物理备份还原和逻辑备份还原物理备…

DB2数据库的备份还原详解

备份&#xff1a; 一、连接数据库服务器&#xff08;在服务器端建立备份文件夹&#xff09; windows下&#xff08;winr mstsc&#xff09;输入db2cmd&#xff0c;linux下&#xff08;我使用的是xshell&#xff09; 若当前用户为root则需要切换用户至数据库管理员 db2inst1 …

数据库——数据库的备份和还原

文章目录 一、数据库的备份二、数据库的还原1. 第一种方式步骤1&#xff1a;在数据库服务器内部创建数据库步骤2&#xff1a;在cmd窗口执行 2. 第二种方式步骤1&#xff1a;在数据库服务器内部创建数据库步骤2&#xff1a;切换到该数据库&#xff0c;使用source命令还原 一、数…

达梦数据库的备份还原

与Oracle数据库类似&#xff0c;达梦数据库的备份包含物理备份和逻辑备份。 逻辑备份和物理备份各有优劣&#xff0c;一般来说&#xff0c;物理备份拷贝有效的数据页&#xff0c;恢复速度比较快&#xff0c;占用空间比较大&#xff1b;逻辑备份导出数据库中逻辑数据&#xff0…

达梦数据库的备份与还原

目录 一、物理备份还原 1、冷备 &#xff08;1&#xff09;使用DM控制台工具console备份 &#xff08;2&#xff09;使用dmrman工具进行备份 2、热备 &#xff08;1&#xff09;开启归档 &#xff08;2&#xff09;联机备份 3、还原恢复 &#xff08;1&#xff09;表联…

SQLServer数据库备份与还原

一、Microsoft SQL Server Management Studio是什么&#xff1f; Microsoft SQL Server Management Studio&#xff0c;顾名思义&#xff0c;是微软 SQL Server的管理工具&#xff0c;说白了&#xff0c;就是微软官方管理自家数据库的软件。可以对数据库和表操作&#xff0c;本…

MySQL数据库备份与还原

MySQL数据库备份与还原 一、通过Navicat设置计划1 : 备份文件存储位置2 : 新建计划3 : 测试计划 二、通过Navicat设置自动任务1 : 设置计划任务时间 三、通过Windows设置自动任务1 : 打开任务计划程序2 : 创建基本任务 四、mysql还原五、说明 一、通过Navicat设置计划 1 : 备份…

pgAdmin4数据库备份还原

1、右键数据库选择备份&#xff08;backup&#xff09; 2、选择backup格式&#xff0c;输入名字&#xff0c;直接点击备份&#xff0c;备份完成 3、恢复前先删掉所有的表&#xff0c;再右键选择恢复&#xff08;Restore&#xff09; 直接选择备份文件点击恢复&#xff0c;恢复…

DM数据库备份与还原

目录 一、基本概述 二、DM8备份还原的方法 2.1备份还原工具 2.2配置归档 2.3使用联机执行 SQL 语句进行备份还原 2.3.1数据库备份 2.3.2表空间备份 2.3.3表备份 2.3.4归档备份 2.3.5数据备份高级主题 2.3.6管理备份 2.3.7数据还原还原 2.4使用DMRMAN工具进行备份还…

达梦数据库备份与还原

一、基础知识 达梦的备份分为逻辑备份和物理备份。 其中物理备份分为完全备份和增量备份。完全备份是指一个备份包含指定数据库或表空间的所有数据。增量备份是指在一次全备份或上一次增量备份后&#xff0c;以后每次的备份只需备份与前一次相比增加或者被修改的文件。物理备份…