Linux用户管理

article/2025/11/1 14:12:47

目录

1.用户管理

1.1 用户类型

1.2 用户UID

1.3 配置文件

1.3.1 /etc/passwd

1.3.2 /etc/shadow

1.4 新增用户

1.5 设置密码

1.6 删除用户

1.7 切换用户

1.8 添加sudo用户

2. 用户组管理

2.1 用户组类型

2.2 用户组GID

2.3 配置文件

2.4 新增用户组

2.5 删除用户组


Linux是一个多用户多任务操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

Linux系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响,为了能够让用户更加合理、安全地使用系统资源,从而产生了一套用户管理功能

Linux下的用户管理分为两类——用户管理和用户组管理

1.用户管理

1.1 用户类型

在Linux下,用户被分为三类

  1. 超级用户(root):用户在系统上有完全权限:可以修改和删除任何文件;可以运行任何命令;可以取消任何进程。根用户负责增加和保留其他用户、配置硬件、添加系统软件。虽然根用户可以在系统上的任何地方创建文件,通常使用/root作为主目录
  2. 普通用户:普通用户是使用系统的真实用户人群。普通用户通常把/bin/bash作为登录Shell和/home的子目录作为主目录。一般情况下,普通用户只在自己的主目录和系统范围内的临时目录里(如/tmp和/var/tmp)创建文件
  3. 系统用户:系统用户不代表人,而代表系统的组成部分,是用于服务,进程运行使用的用户。例如,处理电子邮件的进程经常以用户名mail来运行;运行Apache网络服务器的进程经常作为用户apache来运行。系统用户通常没有登录Shell,因为它们不代表实际登录的用户。同样,系统用户的主目录很少在/home中,而通常在属于相关应用的系统目录中

1.2 用户UID

Linux中的用户是通过UID(uesr ID)进行标记的,UID类似于身份证号,与用户名一一对应,能唯一标识系统上的一个用户,三种用户类型的UID分别为

  • 超级用户:UID = 0
  • 普通用户:UID ≥ 1000
  • 系统用户:UID < 1000

使用 id -u 命令可以查看当前登录用户的ID,如

注意到,root用户的提示符是#,而普通用户的提示符是$

修改用户的UID有两种方式

1. 使用 usermod -u 命令

请在root权限下修改,修改时可能出现usermod: user temp is currently used by process xxxxx,可在登陆时直接选择root登录

2. 修改 /etc/passwd配置文件

使用vim打开 /etc/passwd ,然后修改对应用户的uid保存退出即可,上一种方法本质上也是如此

1.3 配置文件

对于用户管理来说,会涉及到两个配置文件,分别是:/etc/passwd /etc/shadow。其中,/etc/passwd文件用于存储用户信息,/etc/shadow用于存储密码信息

1.3.1 /etc/passwd

/etc/passwd中的内容如上一小节所示,每一行代表一个用户信息,由 : 划分成7个部分

temp:x:1050:1002::/home/temp:/bin/bash
  1. 第一列的temp表示用户名,通常长度不超过8个字符,需要注意的是,用户名中不能包含“:”号。为了兼容,用户名中最好不要包括“.”,此外尽量避免使用“-”作为连字符和以“+”号打头
  2. 第二列的x表示密码,在某些系统中会存放密码。尽管该字段存储的密码不是明文但由于该文件对所有用户均可读,因此依然存在一定的风险。所以,很多Linux系统会在这里用x表示,而将真正的密码保存到/etc/shadow中
  3. 第三列的1050表示UID
  4. 第四列的1002表示GID,对应/etc/group配置文件中的一条记录(用户组的唯一标识)
  5. 第五列的为描述信息,解释该用户是做什么用的,即图中的蓝色部分,一般普通用户这个部分默认为空
  6. 第六列的/home/temp表示当前用户的主目录,对于root用户而言,其家目录就是/root;对于普通用户而言,其家目录就是/home/$username
  7. 第七列的/bin/bash为登录之后执行的shell,这里的/bin/bash就是运行bash控制台

1.3.2 /etc/shadow

对于/etc/shadow配置文件来说,默认情况下只有根用户才有读取的权限,其他用户对此文件没有任何权限。我们使用根用户登录系统后,执行如下命令来查看shadow配置文件的信息

cat /etc/shadow vim /etc/shadow

每一行代表一个用户信息,由 : 划分成9个部分

  1. 第一列表示用户名,与/etc/passwd中的用户名相对应
  2. 第二列的一长串字符表示用户对应的密码。如果该列为“!!”或“*”,表示未设置密码,无法进行登录
  3. 第三列的表示最近修改的天数,使用时间戳进行表示,也就是距离时间原点(1970年1月1日)的天数,这里为空表示最近为进行过修改
  4. 第四列表示两次修改的时间间隔,此处为0表示随时可以修改
  5. 第五列表示密码的有效天数,默认为99999,也就是273年,可认为是永久有效
  6. 第六列表示失效前多少天进行告警,一般默认为7
  7. 第七列表示密码失效后能够宽限的天数,也就是用户仍能在多少天内使用之前的失效密码登录系统。如果值为0,表示立即失效,如果是-1则表示永远不会失效;如果为10,则表示过期后10天依然能够登录系统
  8. 第八列表示账号失效的日期,账号失效时,即使密码有效,也无法登录系统
  9. 第九列为保留字段,暂未开始使用

1.4 新增用户

命令

useradd 用户名 -选项

选项

  • -u 指定用户uid
  • -d 指定用户登入时的主目录,替换系统默认值/home/<用户名>
  • -s 指定用户登入后所使用的shell 解释器,默认/bin/bash,如果不想让其登录,则可以设置为/sbin/nologin
  • -g 指定用户所属的用户组
  • -m 指定不创建家目录

示例

输入useradd <用户名>之后,不带选项时系统会默认帮我们做如下动作

    1. 在 /etc/passwd 文件中创建一行关于temp1用户的数据

    2.在 /etc/shadow 文件中新增了一行关于temp1用户密码的数据

    3. 在 /etc/group 文件中创建一行与用户名相同的组

    4. 在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息,一般没有密码

    5. 自动创建用户的家目录,默认在/home下,与用户名同名

    6. 将/etc/skel下的文件拷贝到主目录下

1.5 设置密码

命令

passwd 用户名 -选项

选项

  • -l 锁定密码,用户不能更改密码
  • -u 密码解锁
  • -d 删除密码

示例

如果不带用户名,则默认给当前登录的用户修改密码,root用户可以给其他用户设置密码,普通用户只能给自己设置密码,设置完密码后,查看/etc/shadow文件

由 !! 变成了字符串,代表密码设置成功,用户可以使用该密码登录

1.6 删除用户

命令

userdel 用户名 -选项

选项

  • -r 删除用户及家目录

示例

注意,如果不带 -r选项,用户的家目录不会被删除

删除完成后,查看/etc/passwd 和/etc/shadow文件,发现temp1用户相应信息已删除

1.7 切换用户

命令

su 用户名 -选项

选项

  • -l 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname,此外,也会变更PATH变量
  • -m -p 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname,此外,也会变更PATH变量
  • -s 指定要执行的shell

从普通用户切换成root用户

// 方法一:su
[hqs@VM-8-2-centos ~]$ su// 方法二:su -
[hqs@VM-8-2-centos ~]$ su -// 方法三: su root
[hqs@VM-8-2-centos ~]$ su root

输入命令之后按回车会提示你输入密码,注意此时的密码是root用户的密码,输入root密码后,就由普通用户切换成了root用户

[hqs@VM-8-2-centos ~]$ su 
Password: 
[root@VM-8-2-centos hqs]# whoami
root

从root用户切换成普通用户

// 方法一:su + 用户名 ———— 可以从root直接切换成任一用户
[root@VM-8-2-centos hqs]# su hqs
[hqs@VM-8-2-centos ~]$ whoami
hqs// 方法二:直接按ctrl + d
[root@VM-8-2-centos ~]# whoami
root
[root@VM-8-2-centos ~]# logout  // ctrl + d
[hqs@VM-8-2-centos ~]$ whoami
hqs// 方法三:logout
[root@VM-8-2-centos ~]# logout
[hqs@VM-8-2-centos ~]$ whoami
hqs

超级用户切换成普通用户不需要输入密码

1.8 添加sudo用户

一个没有经过配置的普通用户是无法使用 sudo命令来提升自己的权限的

Linux下,将普通用户添加至sudo用户需要修改配置文件 /etc/sudoers/ ,要想完成这一操作首先需要我们切换成root用户

打开之后的文件如下

直接往下滑,或者输入“:”(shift+;)进入命令行模式,再输入反斜杠/,进行文本搜索关键字ALL=(ALL),按回车直接定位到要修改的位置

再图上位置添加下面的语句即可,注意退出保存时使用 wq!

用户名 ALL=(ALL) ALL

为temp用户添加sudo权限成功

2. 用户组管理

2.1 用户组类型

Linux下的用户组主要分为两类

  1. 基本组 ( 私有组 ) :建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组
  2. 附加组 ( 公有组 ) :可以容纳多个用户,组中的用户都具有组所拥有的权利

在Linux中,一个组不能属于另一个组,即Linux里不允许嵌套组的存在

2.2 用户组GID

GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的 GID

root用户的 UID = 0, GID = 0,在创建普通用户时,可以使用-g选项指定所属的组,否则默认的 GID = UID

修改用户的GID可以用如下命令

groupmod -g 新的组ID 用户名

将已经存在的用户添加到已经存在的组中可以使用如下命令

uesrmod -a -G 要添加的组 用户名

Linux下一个用户可以属于多个组,这里将temp2用户添加到GID = 1002的组中,查看/etc/group文件

2.3 配置文件

对于用户组管理而言,其配置文件为:/etc/group/etc/gshadow

使用vim打开/etc/group

和/etc/passwd一样,每一行代表一个组信息,每一行又通过:隔开,分为四部分

  1. 第一列表示用户组名
  2. 第二列为密码,与/etc/passwd类似,用x进行占位
  3. 第三列为用户组的唯一标识GID
  4. 第四列表示组成元

2.4 新增用户组

命令

groupadd 新增用户组名

示例

groupadd test

打开/etc/group查看,用户组添加成功

2.5 删除用户组

命令

groupdel 删除的用户组名

示例

groupdel test

打开/etc/group查看,用户组删除成功


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

相关文章

Linux 系统中的用户管理

Linux系统中的用户管理 1. 用户及用户组存在的意义1.1 用户存在的意义1.2 用户组存在意义 2. 用户及用户组在系统中的存在方式3. 用户切换3.1 用户查看3.2 用户切换 4. 用户涉及到的系统配置文件5. 用户和用户组建立及删除6. 用户和用户组的信息管理7. 用户认证信息管理7.1 用户…

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工具进行备份还…