【操作系统实验】Ubuntu Linux 虚拟机用户管理

2023-05-16

文章目录

  • 一、用户
  • 二、用户分类
    • 1、普通用户
    • 2、超级用户
    • 3、系统用户
  • 三、用户相关文件
    • 1、/etc/passwd文件
    • 2、/etc/shadow文件
  • 四、用户管理命令
    • 1、useradd
    • 2、adduser
    • 3、passwd
    • 4、usermod
    • 5、userdel


一、用户

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

  • 在Linux系统中,任何文件都属于某一特定用户,而任何用户都隶属于至少一个用户组。

用户名(username):每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

用户ID:每个用户不仅有唯一的用户名,还有唯一的用户id,用户id缩写为uid。对于系统内核来说,它使用uid来记录拥有进程或文件的用户。Linux系统分配的uid是一个32位的整数,即最多可以有2^32个不同的用户。

系统有一个数据库,存放着用户名与uid的对应关系,这个数据库存在配置文件/etc/passwd中,系统上的大多数用户都有权限读取这个文件,但是不能进行修改。

二、用户分类

Ubuntu系统的安全性和多功能,依赖于如何给用户分配权限以及对其的使用方法。

当我们初次安装Ubuntu系统时,会被要求创建一个用户账号,系统会在home文件夹下建立一个以该用户名命名的文件,用于存储与该用户相关的文件。这种在安装系统时创建的第1个用户,虽然也是普通用户,但对比其他普通用户,该用户可以完成更多的管理功能。(在同类Linux系统中,往往只有root用户才能创建用户)。

用户分为3类:普通用户、超级用户、系统用户,其uid有不同的取值范围。

1、普通用户

普通用户是使用系统最多的人群,用户主目录为/home/用户名。普通用户的权限不是很高,一般情况下只在自己的主目录和系统范围内的临时目录中创建文件。

查看用户名的方法:

① 在shell中可以查看用户名。

cd etc  #进入cat目录
cat passwd  #在shell中可以查看用户名more passwd

② 利用图形编辑器来查看和管理用户,在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息,如下图所示。

$ gedit /etc/passwd  #在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息

在这里插入图片描述

2、超级用户

超级用户又称为root用户或系统管理员,使用/root作为主目录。在系统上拥有最高权限:可以修改和删除任何文件、可以运行任何命令、可以取消任何进程、增加和保留其他用户、配置添加系统软硬件。超级用户的uid、gid都为0。

在gedit中查看超级用户信息如下,root用户位于passwd文件的第一行,如图所示。
在这里插入图片描述

3、系统用户

大多数Linux系统会将一些低uid保留给系统用户。系统用户不代表人,而代表系统的组成部分,例如处理电子邮件的进程经常以用户名mail来运行;运行Apache网络服务器的进程经常作为用户apache来运行。

因为不是真正的用户,所以系统用户没有登录shell,其主目录也很少在/home中,而在属于相关应用的系统目录中,如从下图中可以看到系统用户mail,其主目录在/var/mail下。
在这里插入图片描述

三、用户相关文件

1、/etc/passwd文件

Linux系统的用户信息保存在配置文件/etc/passwd中,该文件是可读格式的文本,管理员可以利用文本编辑器来修改。而系统的大多数用户没有权限修改它,只能读取这个文件。

/etc/passwd 文件中的每行记录了一个合法用户账号的数据,每一行数据用冒号分隔,其格式如下:

username:password:uid:gid:userinfo:home:shell

其中,各个字段的含义如下表所示:
在这里插入图片描述

2、/etc/shadow文件

用户的加密密码被保存在/etc/passwd文件的第二个字段中。由于passwd文件包含的信息不仅仅有用户密码,每个用户都需要读取它,任何一个用户都有权限读取该文件从而得到所有用户的加密密码。而加密常用的md5算法,越来越容易被暴力破解,这样的密码保存方式是非常危险的。因此,在Linux和Unix系统中,采用了一种更新的“影子密码”技术来保存密码,用户的密码被保存在专门的/etc/shadow文件中,只有超级管理员的root权限可以查看,普通用户无权查看其内容。

① 在shell中可以查看文件。

cd etc  #进入cat目录
cat shadow  #在shell中可以查看文件more shadow

② 利用图形编辑器来查看和管理用户,在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息,如下图所示。

$ gedit /etc/shadow  #在文本编辑器gedit中,打开/etc/passwd文件可以查看普通用户的信息

在这里插入图片描述

/etc/shadow文件中的每行记录了一个合法用户账号的数据,每一行数据用冒号分隔,其格式如下:

username:password:lastchg:min:max:warn:inactive:expire:flag

其中,各个字段的含义如下表所示:

在这里插入图片描述

四、用户管理命令

1、useradd

  • 功能描述:创建一个新用户。
    系统创建一个新用户时,同时为新用户分配用户名、用户组、主目录和登录shell等资源。
  • 格式:useradd [选项] 用户名
  • 选项:在这里插入图片描述

例1:创建用户

说明:
(1)只有超级用户root和具有超级用户权限的用户才能建立新用户。
(2)useradd命令如果不加任何参数,建立的是“三无”用户:一无主目录,二无密码,三无系统Shell。

useradd user01  #超级用户user01

例2:建立新用户同时建立主目录

useradd -m user01  #建立新用户同时建立主目录

例3:建立新用户并设置密码

useradd –m user01 –g group01 –p 123456  #新建用户user01,创建主目录,指定组为group01(基本组),设置密码为123456

2、adduser

  • 功能描述:创建新用户。
    使用adduser创建用户时显示了建立用户的详细进程,同时包含部分人机交互的对话过程,系统会提示用户输入各种信息,然后根据这种信息创建新用户。使用简单,不用加参数,建议初学者使用。

  • 格式:adduser 用户名

例:建立新用户

adduser user02  #创建新用户user01

3、passwd

  • 功能描述:为用户设定口令,修改用户的口令,管理员还可以使用passwd命令锁定某个用户账户,该命令需要root权限。
    Ubuntu中登录用户时需要输入口令,也就是说只有指定了密码后才可以使用该用户,即使指定的是空口令也可以。
  • 格式:passwd [选项] 用户名
  • 选项:在这里插入图片描述

例1:设置用户密码

passwd user01  #为用户user01创建管理口令

例2:锁定用户

passwd -l user01  #锁定user01用户

锁定账户后,这个账户不能使用了,解锁后可以使用。
锁定用户后,密码前显示“ ! ”。

例3:设置密码最大使用时间

passwd -x 4 user01  #设置user01账户最大密码使用时间为4天

例4:删除密码

passwd -d user01  #删除user01密码

4、usermod

  • 功能描述:修改用户账户的信息。
    usermod命令可以修改已存在用户的属性,如用户ID号、账号名称、主目录、用户组、登录shell等。

  • 格式:usermod [选项] 用户名

  • 选项:在这里插入图片描述

  • 例1:改变用户的组

usermod –g 1001 malimei  #修改用户的组/主要组为1001
  • 例2:更改用户信息
usermod –l user01 user –g 1001 –d /home/test  #将user用户名修改为user01,用户组gid改为1001,用户主目录改为/home/test

5、userdel

  • 功能描述:删除用户。
    userdel命令可以删除已存在的用户账号,将/etc/passwd等文件系统中的该用户记录删除,必要时还删除用户的主目录。
  • 格式:userdel [选项] 用户名
  • 选项:
    –r : 将用户的主目录一起删除。

例:删除user01用户

userdel user01  #删除用户user01,保留主目录
userdel user01 -r  #删除用户user01及其主目录

ending~~~

有什么问题欢迎留言噢

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

【操作系统实验】Ubuntu Linux 虚拟机用户管理 的相关文章

随机推荐

  • Linux多进程/线程编程之【fork()和exec()】

    目录 一 fork系统调用创建子进程 1 1 为什么要创建子进程 1 2 fork系统调用的内部原理 1 3 关于子进程 1 4 线程和fork 二 exec族函数及实战 2 1 为什么需要exec族函数 2 2 exec族的6个函数介绍
  • C++手撕 ACM——换座位-桌椅高度(取模运算)

    大三寒假要结束了 xff0c 继续备战秋招 xff0c 年前刷了些双指针 数组 链表的简单LeetCode题 xff0c 都没有做笔记 xff0c 现在也忘得差不多了 xff0c 计划写一份专栏记录刷题的过程 xff0c 复盘算法中的细节
  • C++手撕LeetCode——二叉树遍历(BFS层序遍历)

    大三寒假要结束了 xff0c 继续备战秋招 xff0c 年前刷了些双指针 数组 链表的简单LeetCode题 xff0c 都没有做笔记 xff0c 现在也忘得差不多了 xff0c 计划写一份专栏记录刷题的过程 xff0c 复盘算法中的细节
  • C++手撕LeetCode——双指针(滑动窗口)

    大三寒假要结束了 xff0c 继续备战秋招 xff0c 年前刷了些双指针 数组 链表的简单LeetCode题 xff0c 都没有做笔记 xff0c 现在也忘得差不多了 xff0c 计划写一份专栏记录刷题的过程 xff0c 复盘算法中的细节
  • 消息队列及常见消息队列介绍

    转载 消息队列及常见消息队列介绍 一 消息队列 MQ 概述 消息队列 xff08 Message Queue xff09 xff0c 是分布式系统中重要的组件 xff0c 其通用的使用场景可以简单地描述为 xff1a 当不需要立即获得结果
  • WIN10专业版修改用户名名字

    有时候一些软件不支持中文路径 xff0c 这个时候中文用户名就很绝望 xff0c 所以给出修改的视频链接以及坑 链接 视频 坑 更换超级用户后 xff0c 转到超级会员admin时电脑黑屏 有鼠标箭头 xff0c 但是不显示桌面 xff0c
  • 套利套保模型|BVAR、ECM、GARCH、价差

    线性回归OLS BVAR ECM GARCH 价差套利 套利策略 套保比率 套保权重 套保绩效
  • Java x的平方根

    x 的平方根 简单 给你一个非负整数 x xff0c 计算并返回 x 的 算术平方根 由于返回类型是整数 xff0c 结果只保留 整数部分 xff0c 小数部分将被 舍去 注意 xff1a 不允许使用任何内置指数函数和算符 xff0c 例如
  • kvm的概念

    目录 1 KVM的概念 2 前期准备 3 案例实施 kvm的概念 KVM xff08 Kernel based Virtual Machine xff09 是一个开源软件 xff0c 基于内核的虚拟化技术 xff0c 实际是嵌入系统的一个虚
  • python 循环结构-for循环

    知识性的教程 xff0c 不能像小说那样对已知的线索进行七拐八绕的隐藏 xff0c 而应该开门见山地将所有的知识直接铺设在读者眼前 这也是本系列教程的编写宗旨 根据指定的循环次数是否有限 xff0c 循环语句可以分为有限循环语句和无限循环语
  • 【高频出现】测试工程师技能面试题目和答案

    一 sql相关 1 mysql存储过程与普通的sql语句区别 存储过程就是多条sql语句的集合 xff0c 由于它是在数据库端得sql语句 xff0c 所有执行起来很快 2 sql的常用语句 xff1a 1 新增 xff1a insert
  • 生产者消费者模式保姆级教程 (阻塞队列解除耦合性) 一文帮你从C语言版本到C++ 版本, 从理论到实现 (一文足以)

    目录 一 图解 xff0c 步步分解理论基础 1 1 使用锁 43 条件变量实现生产者消费者模式理论基础 1 2 使用信号量实现生产者消费者模式的理论基础 二 Linux环境下对于基于阻塞队列的两种实现方式 C版本 2 1 条件变量 43
  • 卸载anaconda后powershell 无法将“D:\anaconda\Scripts\conda.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

    卸载anaconda后powershell 无法将 D anaconda Scripts conda exe 项识别为 cmdlet 函数 脚本文件或可运行程序的名称 之前在电脑上安装了anaconda xff0c 配置还花了我半天没时间
  • shell编程、makefile学习笔记

    windows r n linux n 1 shell介绍 1 1 shell是操作系统的终端命令行 1 shell可以理解为软件系统提供给用户操作的命令行界面 xff0c 可以说它是人机交互的一种方式 2 我们可以使用shell和操作系统
  • 西瓜书线性模型课后题sklearn实现

    文章参考了线性模型文章 xff0c 笔者代码基础很差 xff0c 只使用sklearn对 机器学习 第三章课后习题3 3和3 5 xff0c 分别对应对数几率回归和线性判别分析模型做了简单实现 水平有限 xff0c 如有错误敬请指正 对数几
  • (C++)类与对象

    目录 一 类与对象的思想 1 类和对象的概念 2 类的访问控制 3 类中的元素说明 4 类的实际使用 二 对象的构造和析构函数 1 构造函数 2 构造函数的重载与调用 3 拷贝构造函数 4 深度拷贝 5 默认构造函数 6 析构函数 7 匿名
  • Win11系统右键没有解压选项!!!???

    Win11系统右键没有解压选项 xff01 xff01 xff01 xff1f xff1f xff1f 这个问题困扰了我很久 xff0c 直到今天我才在贴吧里面找到答案 xff01 xff01 xff01 下面是详细的教程 xff01 xf
  • 初识爬虫——BeautifulSoup分析及实践

    目录 一 BeautifulSoup 是什么 xff1f 二 简析对象 三 BeautifulSoup 实践 四 代码实现 总结 爬虫文章专栏 一 BeautifulSoup 是什么 xff1f 解析和提取网页中的数据 xff1a 解析数据
  • Anaconda在powershell中无法激活的解决方法(CMD中激活正常)

    使用powershell或者是使用VScode中的终端无法正常激活conda里的虚拟环境 报错信息里说的是终端没有初始化 xff0c 但是实际上在cmd中能正常激活的话 xff0c 所以这个问题大概率不是此原因 具体原因是powershel
  • 【操作系统实验】Ubuntu Linux 虚拟机用户管理

    文章目录 一 用户二 用户分类1 普通用户2 超级用户3 系统用户 三 用户相关文件1 etc passwd文件2 etc shadow文件 四 用户管理命令1 useradd2 adduser3 passwd4 usermod5 user