Linux操作系统:管理用户和组

2023-05-16

任务一:Linux用户类型和组群

1. Linux系统下的用户账户分为三种

  • 超级用户(root):拥有系统的最高权限,可以不受限制的对任何文件和命令进行操作,对系统具有绝对的控制权。
  • 系统用户(虚拟用户):这类用户无法登录系统,是用来管理或执行特定的任务,如:ftp,mail,bin等。
  • 普通用户:是由超级用户创建,一般可以登录系统,但权限有限,只能操作拥有权限的文件和目录,以及管理自己的进程。

2. 组群

  • 概念:是具有相同特征的用户的逻辑集合。
  • 优点:有了组群,可以在做资源授权时把权限赋予某个组群,组群中的成员即可自动获得这种权限。
  • 说明:一个用户账户可以同时是多个组群的成员,其中某个组群是该用户的主组群其他组群为该用户的附属组群。

3. 用户和组群的相关名词概念

  • 用户名:即登录时使用的名称,系统内唯一。
  • 密码:用于验证用户身份的特殊验证码。
  • 用户标识(UID):用来用户的数字标识符。root的UID是0,系统用户的UID是1~999,普通用户的UID是从1000起依次编号。
  • 组群:具有相同属性的用户属于同一个组群。
  • 组群标识(GID):用来表示组群的数字标识符,每一个用户隶属一个组。root的GID是0,系统用户的GID是1~999,普通用户的GID是从1000起依次编号。
  • 用户主目录:用户的私人目录,是用户登录系统后默认所在的目录。root的主目录是/root,普通用户除非指定,默认情况下是在/home下。
  • 登录shell:用户登录后默认使用的shell程序,默认为/bin/bash

任务二:用户账户文件和组群文件

1. /etc/passwd文件

  • 在Linux系统中,所创建的用户账户及其相关信息均放在/etc/passwd配置文件中。使用vim编辑器打开passwd文件。文件中每一行代表一个用户账户的资料,可以看到第一个是root,passwd文件中的每一行用“:”分隔七个域,其内容如下图:    4e0c7133cddd48c99061f653f540364a.png 
  • passwd文件字段说明:
  • 用户名:用户账户的名称。
  • 加密口令:用户口令,考虑到安全性,使用“x”来填充该字段,真正的密码在shadow文件中。
  • UID:用户名,唯一表示某用户的数字标识。
  • GID:用户所属的私有组号。
  • 用户的描述信息:可选的关于用户全名,用户电话等描述性信息。
  • 主目录:用户的宿主目录。
  • 命令解释器:用户所使用的shell,默认为“/bin/bash”。

注:登录shell:保证用户和计算机交流。

2. /etc/shadow文件

  • 为了增强系统的安全性,用户经过加密的口令均放在/etc/shadow文件下,且/etc/shadow文件只对root用户可读,/etc/shadow文件是/etc/passwd文件的投影,每个用户的信息在shadow文件中占一行且用“:”分隔为9个域,其内容如下图: 

f91304d649c547b2bda08dd13546f741.png

  • 字段1:用户登录名。
  • 字段2:加密后的口令,其中“*”表示非登录用户,“!!”表示没设置密码。
  • 字段3:从1970年1月1日起,到用户最近一次密码被修改的天数。
  • 字段4:从1970年1月1日起,到用户可以更改密码的天数。
  • 字段5:从1970年1月1日起,到用户必须更改密码的天数。
  • 字段6:密码过期前几天提醒用户更改密码。
  • 字段7:密码过期后几天账户被禁用。
  • 字段8:密码被禁用的具体日期。
  • 字段9:保留域,用于扩展功能。

3. /etc/login.defs文件

  • 设置用户账户的某些选项,修改参数管理还未创建的用户信息。例如:使用vim编辑器修改配置文件/etc/login.defs,使即将新建的用户UID在2000到4000之间,再使用useradd新建用户“test01”,再使用id查看该用户的UID。

a5f9bd10f8e344aa90f47a3b21ab8545.png97aed179e06b4a5d9030c99324e77bbc.pngd381fc7ac6cc4cf3a572555f116bfba9.png

4. /etc/group文件 

  • 创建用户时,会创建一个和用户相同名字的组群 。
  • 用于存放用户的组账户信息,对于该文件的内容任何用户都可以读取。
  • 每个组群账户在group文件中占用一行,且用“:”分隔四个域,其内容如下图:                      15548f70180d400f90f6bd8c743bf175.png
  • 用户的主组群并不把该用户作为成员列出,只有用户的附属组群才会把该用户作为成员列出。

5. /etc/gshadow文件 

  • 用于存放组群的加密口令,组管理员等信息,只对root用户可读。
  • 每个组群账户在gshadow文件中占一行,以“:”分隔4个域,其内容如下图:

872d3a4d970347c3933f910c7483839e.png

6. /etc/passwd和/etc/shadow之间的关联

  • 解除关联:pwconv
  • 解除关联:pwunconv

任务三:用户账户的相关操作

1. 新建用户

  • 在新建用户时可以使用useradd或adduser,useradd命令格式为:      useradd     [选项]    <username>
  • 常见选项:                             
  • -d:指定用户的主目录                 
  • -f: 设置账户过期多少天后用户账户被禁用。如果为0,则账户过期后立即被禁用;如果为-1,账户过期后,将不被禁用。                         
  • -g:指定用户所属主组群的组群名称或GID。                                     
  • -m:若用户主目录不存在就创建它。                                                   
  • -p:加密的口令。                     
  • -s:指定用户的登录shell,默认为/bin/bash。                               
  • -u:指定用户的UID。
  • 例如:新建用户user01,UID为1100,指定其所属的私有组为group01并且其UID为1100,用户的主目录为/testhome,用户的shell为/bin/bash,用户的密码为12345678,账号永不过期。     de065bebfd404026a0f0444dcaeaa14a.png

2. passwd命令

  • 指定和修改用户账户口令的命令是passwd。

  • 超级用户可以为自己和其他用户设置口令,而普通用户只能为自己设置口令。

  • 格式:passwd    [选项]    [username]

  • 常见选项: 

  • -l:锁定(停用)用户账户
    -u:口令解锁
    -d:将用户口令设置为空,这与未设置口令的账户不同;未设置
    口令的账户无法登录系统,而口令为空的账户可以
    -f:强迫用户下次登录时必须修改口令
    -n :指定口令的最短存活期
    -x :指定口令的最长存活期
    -w :口令要到期前提前警告的天数
    -i :口令过期后多少天停用账户
    -S :显示账户口令的简短状态信息 36b75506c0d741b3a6c9ac6fc93886f6.png

3.修改用户账户

  • usermod命令用于修改用户的属性
  • 格式:usermod  [选项]  用户名
  • 修改已经创建的用户信息:①usermod命令;②修改配置文件/etc/passwd。
  • 常见选项:
  • -g: 变更所属用户组
    -G: 变更扩展用户组
    -L: 锁定用户禁止其登录系统
    -U:解锁用户,允许其登录系统
    -s: 变更默认终端
    -u: 修改用户的UIDfaca815fd0be4d91afe5eafc43341687.png

4.禁用和恢复用户账户

  • 临时禁用一个账号而不删除它,可以用passwd命令或者是usermod命令,也可以修改/etc/passwd或者是/etc/shadow文件。
  • (1)使用usermod命令de025fdf4f084efe85db870ba997cbaf.png
  • (2)使用passwd命令7da2d9fc4e3d4173ad20f7320ea3cddd.png53617432d16a4151afc95352902b2a10.png
  • (3)直接修改用户账户配置文件:在/etc/passwd或者是/etc/shadow文件中关于user01账户的passwd域的第一个字符前面加上“*”,恢复时只需要删除“*”即可。

5.删除用户账户

  • 可以直接删除/etc/passwd和/etc/shadow文件中要删除的用
    户所对应的行,或者用userdel命令删除。
  • userdel命令为:
    userdel    [-r]    用户名
  • 注意:加r选项和不加r选项的区别:
  • ①(部分删除)如果不加-r选项,userdel命令会在系统中所有与账户有关的文件中,将用户的信息全部删除。(只删除配置文件中的信息,不会删除主目录下的数据)
  • ②(全部删除)如果加-r选项,则在删除用户账户的同时,还将用户主目录以及其下的所有文件和目录全部删除掉。423238d27cdc42cca2eb545ad8c27e0b.png

6.查看用户账户61f9a3e2eb8a4574b50c1220d28d45c1.png


任务四:管理组群

1.维护组群用户

  • 创建组群可以使用命令groupadd或者addgroup。3367e6ca975c4009a73b70fc7ffa529e.png
  • 修改组群的命令是groupmod,其命令为:groupmod   [选项]   组名
  • 常见选项:                                       -g:gid 把组群的GID改成gid
     -n:group-name 把组群的名称改为group-name

2.为组群添加用户

  • 当一个组群中必须包含多个用户时,
    则需要使用附属组群。在附属组中增加、删除用户都用gpasswd命令。
  • gpasswd命令为:
    gpasswd     [选项]    [用户]    [组]
  • 常见选项:                                       -a: 把用户加入组
     -d: 把用户从组中删除
     -r: 取消组的密码
     -A:给组指派管理员dac90358aec6480ea732b967b4d43ad3.png

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux操作系统:管理用户和组 的相关文章

  • 女生学java软件开发怎么样?就业前景如何?

    学java目前现状是男生多于女生 xff0c 从事java工作的也是男生多于女生 xff0c 那么这种现状是说女生学java不好找工作吗 一 女生适合从事java吗 在很多人的潜意识里 xff0c 认为女生是不适合从事java工作的 xff
  • 【 Docker Desktop stopped...】--------已经解决

    windows10系统 xff0c 安装docker 4 6 1版本 xff0c 提示Docker Desktop stopped xff0c 如图所示 在Stackoverflow有此问题 xff0c 底下给出的解决方案是卸载4 6 1版
  • JVM参数配置详解

    JVM调优总结 默认设置 Xms为JVM启动时申请的最小内存 xff0c 默认为操作系统物理内存的1 64但小于1G Xmx为JVM可申请的最大内存 xff0c 默认为物理内存的1 4但小于1G xff0c 默认当空余堆内存小于40 时 x
  • 认识MyBatis与Mybatis-plus及两者的区别

    一 认识Mybatis MyBatis 是持久层框架 xff0c 它支持定制化 SQL 存储过程以及高级映射 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 MyBatis 可以使用简单的 XML 或注解来配置
  • 线程

    创建线程 xff1a 方法一 xff09 继承Thread类 实现步骤 xff1a 继承Thread类 覆盖run 方法 提供并发运程的过程 创建这个类的实例 使用start 方法启动线程 xff08 方法二 xff09 实现Runnabl
  • Linux中实现cp命令

    一 main函数的原型 main int argc char argv argc是所有参数的总数量 argv为参数 如该程序所示 xff1a 程序运行结果如图所示 xff1a 二 实现cp指令的思路 1 打开src c 2 通过lseek函
  • Linux系统编程—进程

    一 相关概念 1 进程与程序 xff1a 程序是一个静态的概念 如gcc xxx c o pro xff0c 磁盘中生成的Pro文件 xff0c 叫做程序 进程就是程序运行起来 xff0c 系统中就多了一个进程 2 查看进程的方法 xff1
  • Linux系统编程——进程间通信

    目录 一 无名管道 相关概念 相关函数介 相关说明 实战 二 有名管道 有名管道和无名管道的区别 有名管道和无名管道的相同点 有名管道的相关函数 实战 三 消息队列 消息队列的介绍 消息队列的特点 相关函数 实战 四 共享内存 共享内存优缺
  • 树莓派——初级编程

    一 没有屏幕的树莓派如何使用 通过串口连接树莓派 通过官方给的相关文件和软件 xff0c 对树莓派进行刷系统 设备破解 默认情况 xff0c 树莓派的串口和蓝牙连接 想办法断开蓝牙连接 xff0c 把串口用来数据通信 默认账号 xff1a
  • 树莓派gpio驱动编写——不使用wiringPi

    一 相关概念 总线地址 总线地址 xff1a cpu能够访问内存的范围 可以通过cat proc meminfo 来查看内存条大小 物理地址 物理地址 xff1a 硬件的实际地址或绝对地址 虚拟地址 虚拟地址 xff1a 逻辑 xff08
  • 初识网络七层模型

    OSI 模型 Open System Interconnection model 是一个由国际标准化组织 x10fc01 提出的概念模型 试图 x10fc01 供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架 它将计算机网络体系
  • http的简单实现

    一 http协议的特性 http协议是建立在TCP IP协议之上应用层协议 xff0c 默认端口为80 8080 http协议的的特点是无状态 xff0c 无连接 二 http协议的请求 利用抓包工具httpwatch可以获取报文 http
  • Selenium之css怎么实现元素定位?

    世界上最远的距离大概就是明明看到一个页面元素站在那里 xff0c 但是我却定位不到 xff01 xff01 Selenium定位元素的方法有很多种 xff0c 像是通过id name class name tag name link tex
  • 零基础如何学习计算机语言

    一 认识电脑键盘 1 对于一个还没有接触过计算机的人来说认识键盘是重要的 2 通用的几个常见快捷键 xff1a CTRL 43 C 复制 CTRL 43 V 粘贴 CTRL 43 A 全选 CTRL 43 X 剪切 CTRL 43 S 保存
  • 如何用python连接Linux服务器

    1 安装paramiko库 pip install paramiko 2 使用paramiko库连接linux 导入库 import paramiko 创建一个sshclient对象 ssh 61 paramiko SSHClient 允许
  • 包装类

    注意点 包装类是final的类 包装类对象是不变的 与字符串类似 不变模式 共有8种包装类 int Integer long Long byte Byte short Short float Float double Double bool
  • 数据库和缓存如何保证一致性?

    先更新数据库 xff0c 还是先更新缓存 xff1f 有了这个想法后 xff0c 就准备开始着手优化服务器 xff0c 但是挡在在他前面的是这样的一个问题 由于引入了缓存 xff0c 那么在数据更新时 xff0c 不仅要更新数据库 xff0
  • 一名高级的Javaer,应该了解的 MYSQL 高级知识点

    SQL查询流程 1 通过客户端 服务器通信协议与 MySQL 建立连接2 查询缓存 xff0c 这是 MySQL 的一个可优化查询的地方 xff0c 如果开启了 Query Cache 且在查询缓存过程中查 询到完全相同的 SQL 语句 x
  • Python循环语句

    1 for循环 1 for in range xff08 xff09 简单的for循环代码 xff1a for i in range 5 print i 输出的便是0 4形成一列 xff0c 这里rang xff08 5 xff09 xff
  • 【Android自定义注解】BindView

    注意 xff1a 定义的控件变量必须是public xff0c 否则报错 1 添加类 package com example zhujie import java lang annotation Retention import java

随机推荐

  • 数据可视化——(提示框插件)

    提示框插件有很多 xff0c 不同的框架中选择的也不一样 本文主要分享toastr插件总结它的使用步骤如下 xff1a 使用步骤 xff1a 加载 jqury js toastr css 和 toastr js 文件 全局配置 为方便 xf
  • 文章五:Python 网络爬虫实战:使用 Beautiful Soup 和 Requests 抓取网页数据

    一 简介 本篇文章将介绍如何使用 Python 编写一个简单的网络爬虫 xff0c 从网页中提取有用的数据 我们将通过以下几个部分展开本文的内容 xff1a 网络爬虫的基本概念Beautiful Soup 和 Requests 库简介选择一
  • Android Studio编译无错,但在模拟器上无法运行App

    今天在学习郭霖老师的 第一行代码 第三版时碰到一个问题 xff0c 明明运行无错 xff0c 却无法在模拟器上正常运行 一开始提示说 Waiting for all target devices to come online xff0c 在
  • 突破CloudFlare五秒盾付费版

    使用的第三方库 cloudscraper 可以绕过免费版的五秒盾 但遇到付费版就无能为力了 最近在爬币圈的网站 xff0c 其中有一个网站叫做 xff1a Codebase 1 使用的就是付费版的 CloudFlare 五秒盾 当我们使用
  • CentOS-7 配置 SSH 远程登录

    CentOS 7 配置 SSH 远程登录 CentOS 配置 SSH 远程登录一 环境二 配置网络1 检查网络状态2 下载 net tools 工具3 检查主机与虚拟机是否正常连通 三 SSH 配置1 检查 CentOS 系统是否已经安装了
  • Linux中如何使用systemctl进行服务的管理?

    一 运行级别的分类 runlevel 运行级别0 xff1a 系统停机状态 运行级别1 xff1a 单用户工作状态 xff0c root权限 xff0c 用于系统维护 xff0c 禁止远程登陆 运行级别2 xff1a 多用户状态 没有NFS
  • Hibernate的配置

    Hibernate 的配置 1 创建工程 xff1b 2 导入 Jar 包 xff1b 3 写 Hibernate 配置文件 xff08 hibernate cfg xml xff09 a 数据库连接信息 b 映射文件包含配置 4 创建表和
  • vue3 axios

    Axios 是一个基于 promise 网络请求库 xff0c 作用于node js 和浏览器中 简介 Axios 是一个用于浏览器和Node的基于承诺的简单HTTP客户端 它提供了一个易于使用的库 xff0c 占地面积小 它还有一个可扩展
  • Linux系统四种安软方式

    Linux软件安装方式 本地安装 把需要的软件压缩包下载到linux主机 xff0c 在主机上直接解压启动即可完成本地安装 xff0c 即绿色版安装 把需要的rpm软件包下载到linux主机 xff0c 在主机上使用rpm命令完成本地安装
  • 关于vscode安装扩展插件提示:获取扩展失败,XHR error

    在我们安装vscode扩展插件时 xff0c 出现报错 xff1a error while fetching extensions XHR error 搜了很多网友的解决方案 xff0c 比如修改网络代理设置 xff0c 修改hosts文件
  • simulink模块,提供xpctarget下驱动源码

    simulink模块 xff0c 提供xpctarget下驱动源码 77999632700099250风中的蜗牛
  • SQL SERVER创建字段注释

    第一种方法是用SQL SERVER的管理工具 表设计中的列属性自带说明 xff0c 填写会自动生成注释 第二种方法 如果在navicat等工具上无法可视化创建注释的 xff0c 需要执行语句 EXEC sys sp addextendedp
  • Android平台上如何让应用程序获得系统权限以及如何使用platform密钥给apk签名

    您好 xff0c 欢迎关注我的专栏 xff0c 本篇文章是关于 Flutter 的系列文 xff0c 从简单的 Flutter 介绍开始 xff0c 一步步带你了解进入 Flutter 的世界 你最好有一定的移动开发经验 xff0c 如果没
  • Android 11 Settings源码入门,我就不信你还听不明白了

    前言 曾听过很多人说Android学习很简单 xff0c 做个App就上手了 xff0c 工作机会多 xff0c 毕业后也比较容易找工作 这种观点可能是很多Android开发者最开始入行的原因之一 在工作初期 xff0c 工作主要是按照业务
  • Linux破解密码

    1 重启虚拟机 xff0c 在引导界面按 e xff08 按鼠标左键 xff0c 用键盘控制上下 xff09 xff0c 进入类界面 xff0c 把中间的ro改为 rw rd break 2 按住Ctrl 43 x xff0c 进入紧急界面
  • “移除”虚拟机和“从磁盘中删除”虚拟机的区别

    1 二者的区别 xff1a 移除 虚拟机操作只是在虚拟机上删除了 xff0c 并没有在Windows系统中删除相关文件 xff0c 是部分删除 xff1b 而 从磁盘中删除 是既在虚拟机上删除了 xff0c 也删除了Windows系统中的相
  • Linux常用命令

    一条命令的结构 xff1a 用户名 64 主机名 工作目录 提示符 lt 命令 gt 选项 参数1 参数2 一 文件操作类命令 1 touch命令 xff1a 用于建立文件或更新文件的修改日期 1 语法格式 xff1a touch 参数 文
  • 内部类

    链接 xff1a https www nowcoder com questionTerminal 48524c47dd924887be6684b17175fa40 1 为什么使用内部类 使用内部类最吸引人的原因是 xff1a 每个内部类都能
  • CentOS 8本地离线YUM源的配置

    1 准备好CentOS 8相同版本号的系统镜像文件 2 添加光驱硬件 xff0c 在光驱中调用iso镜像文件 xff08 具体操作 xff1a 先打开设置里面的CD DVD xff0c 再点击使用ISO镜像文件 xff0c 选择浏览会跳转到
  • Linux操作系统:管理用户和组

    任务一 xff1a Linux用户类型和组群 1 Linux系统下的用户账户分为三种 超级用户 xff08 root xff09 xff1a 拥有系统的最高权限 xff0c 可以不受限制的对任何文件和命令进行操作 xff0c 对系统具有绝对