Linux第三章——用户与组管理

news/2024/5/1 18:36:56/文章来源:https://blog.csdn.net/qq_53008257/article/details/127186011

用户与组账号

  • 一个用户可以隶属于不同的组
  • 一个组可以包含若干用户
  • 系统通过账户对用户与组进行管理

账号

  • Linux系统账号分为用户账号和组账号
    • 用户账号:每个系统的操作者拥有一个用户账号,每个用户账号具有唯一的标识UID和自己所属组的标识GID。
    • 组账号:一组用户账号的集合。通过使用组账号,可以设置一组用户对文件具有相同的权限,管理员通常以组为单位分配对资源的访问权限。

用户

  • Linux中包括几种不同的用户
    • 超级用户:root为默认超级用户,属于超级用户组,其UID、GID都固定为0
    • 普通用户:是由root创建的,每个普通用户在自己的主目录下具有完全权限,普通账号的UID和GID范围通常为1000-60000。
    • 伪用户:也称为程序用户,不允许登录系统,只用于某个程序正常运行。例如bin和daemon这些后台程序都有各自的程序用户。其UID和组GID范围通常为1-999。
  • 每个用户账号都会有个基本组,默认与账号名称相同,为账号额外加入的组为附加组。

用户账号配置文件/etc/password

  • Linux所有的用户账号数据都记录在/etc/passwd文件中,/etc/passwd 文件是一个纯文本文件,该文件的每一行存储一个用户的账号信息,每行采用了相同的格式:
    name:password:uid:gid:comment:home:shell
    在这里插入图片描述
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/3ecb415acb8f4828ad5e04831f6a1513.png

用户口令文件/etc/shadow

  • Linux系统中,口令不直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个”x“来代替,将/etc/shadow作为真正的口令文件,用于保存个人口令在内的数据。
  • 当然shadow文件不能被普通用户读取,只有超级用户才有权读取。
  • /etc/shadow文件是根据/etc/passwd文件产生的,格式比较接近,一行存储一个用户信息,包括9个部分,每部分之间用”:“分割
    在这里插入图片描述

用户登录主机获取shell环境

  • Linux系统用户在计算机中利用tty1~tty6的终端提供的登录接口,并输入账号和密码才能登陆。
  • 先查找/etc/passwd里面是否有输入的帐号,如果没有则退出,如果有,则将该账号对应UID和GID读出来,该账号的home目录与shell设置也一并读出来
  • 核对密码表。进入/etc/shadow里面找出对应的账号与UID,然后核对输入的密码与里面的密码是否相符
  • 如果账户和密码都OK,进入shell管理阶段

组账号配置文件

  • 组账号配置文件保存在两个文件中
  • 组账号文件/etc/group
  • 每一行表示一个组的信息,每行格式group_name:password:gid:user_list
  • 分别表示:组名、组密码、GID、组成员列表。在这里插入图片描述
gpasswd -a student wxdh #将用户"student"加入到"wxdh"组中

有效用户组

  • 如果以student用户身份登录,查询该用户支持的用户组

    groups #查询本用户支持的用户组
    
  • 有效用户组切换

    newgrp wxdh 
    

组账号配置文件

  • 组账号口令文件/etc/gshadow
  • 每一行表示一个组账号的口令信息,每一行表示一个组的信息,每行格式:group_name:admin,admin,…:user_list
  • 分别表示:组名、组密码(一般情况下,没有必要设置)、组管理者、组成员列表。

账号管理命令

  • 用户和组账户的管理是LInux系统工作中最重要的一部分。
  • 在进行账号管理时需要以root身份进行操作
  • 用户和组账号管理包括:
    • 账号的创建
    • 删除
    • 修改
    • 授权
      在这里插入图片描述
  • sudo
    • 相对于su需要了解新切换的用户密码,sudo的执行仅需要自己的密码即可。但并非所有人都能执行sudo,仅规范到/etc/sudoers内的用户才能进行sudo命令

用户与文件系统空间

  • Linux是多人多任务环境,管理员应该适当限制用户的硬盘容量,以妥善分配系统资源。
  • 为了保证用户的独立性,每个用户都有自己的使用空间或目录。
  • 系统可以控制用户对磁盘的使用。

主目录

  • 用户主目录,有时也称为工作目录,每个用户都有自己的主目录,不同用户的主目录一般互不相同。例如,默认情况下,用户wxdh的主目录就是/home/wxdh目录。
  • 用户刚登陆时,其工作目录便是主目录,通常与用户的登录名相同。可以通过”~“字符来引用。
  • 修改主目录方法
	vi /etc/passwd usermod -d /usr/newfolder -u uid

用户与磁盘空间

  • 系统管理员可以控制用户使用的硬盘空间的大小。
  • 用户磁盘空间的限制是以文件系统(分区)为单位,而不理会用户文件放在该文件系统中的哪个目录。
  • quota(磁盘限额)可以从两个方面来限制用户
    • 用户所能够支配的索引节点数
    • 用户可以存取的硬盘分区数

文件权限管理

  • 文件权限管理是文件管理与用户管理的结合
  • 分为两部分
    • 常用的文件权限管理
    • 特殊的权限管理

文件权限

  • 文件权限是指对文件的访问权限,包括对文件的读、写、删除、执行等。
  • 文件的权限分为三组
    • 文件拥有者权限
    • 文件所属群组权限
    • 其他用户的权限
  • 可以设置r、w、x,分别表示读,写,执行权限

文件权限示例

  • 第一列显示文档类型与执行权限,由十个字符组成,分为4个部分:
  • 第一部分,”d“表示目录
  • 第二部分,对文档所有者权限的设定,“表示用户对此目录有读、写和执行的所有权限”
  • 第三部分,对文档所属用户组权限的设定
  • 第四部分,对文档拥有者之外的其他用户权限的设定
    在这里插入图片描述

改变属主和属组

  • 改变属主可以用chown命令,一般语法为:
    chown [-R] 用户名称 文件或目录
    chown [-R] 用户名称:用户组名称 文件或目录
    

改变访问权限

chmod用于改变文件或目录的访问权限
有两种方法

  • 方法一:字符设定法
    chmod [who] [+ | - | =] [mode] 文件名

    • Who:可以是下面字母中的任何一个或者它们的组合。
      • u 表示“用户”,即文件或目录的所有者。
      • g 表示“用户组”,即文件或目录所属的用户组。
      • o 表示“其它用户”。
      • a 表示“所有用户”。它是系统默认值。
    • 操作符号含义如下:
      • “+”表示添加某个权限。
      • “-”表示取消某个权限。
      • “=”表示赋予给定的权限,同时取消文档以前的所有权限。
    • mode表示可以执行的权限,可以是“r”(只读)、“w”(可写)和“x”(可执行),以及它们的组合。
    • 文件名可以是以空格分开的文件列表,支持通配符。
      chmod u=rwx g, o=r hello.sh
      
  • 方法二:数字设定法

    • chmod abc文件名
    • 数字设定法:
      • 0表示没有任何权限
      • 1表示有可执行权限
      • 2表示有可写权限
      • 4表示有可读权限
      chmod 644 hello.sh
      

文件特殊权限

在这里插入图片描述

Selinux

SeLinux安全上下文

  • Selinux系统中的每一个进程与对象都会记录一条安全上下文
  • Selinux启动之后,如果要查看文件和进程安全上下文,可使用以下命令
    id -Z #查看账号安全上下文
    ls -Z #查看文件安全上下文
    ps -Z #查看进程安全上下文
    

进程与程序

  • 【执行一个程序或命令】就可以触发一个事件获取一个PID
  • 触发后加载到内存中成为一个进程。为了让OS可以管理这个进程,进程会给予执行者权限/属性等参数,以及进程所需要的脚本和数据
  • 针对用户进程,又可以分为交互进程、批处理进程和守护进程三类。
  1. 交互进程:由一个shell终端启动的进程,在执行过程中,需要与用户进行交互操作,可以运行于前台,也可以运行在后台。
  2. 批处理进程:该进程是一个进程集合,负责按顺序启动其他的进程。
  3. 守护进程:守护进程是一直运行的一种进程,经常在linux系统启动时启动,在系统关闭时终止。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。例如httpd进程,一直处于运行状态,等待用户的访问。还有经常用的crond进程,这个进程类似与windows的计划任务,可以周期性的执行用户设定的某些任务。

进程管理

  • ps 查看进程
  • ps aux 查看系统所有进程
  • top 动态查看进程变化
  • pstree 查看进程树
  • kill 杀死进程
  • nice renice 调整进程优先级

作业

  1. (单选题)下面( )文件与用户组帐号有关。
    A. /etc/passwd
    B. /etc/shadow
    C. /etc/gshadow
    D. /etc/gpasswd
    正确答案: C

  2. (单选题)下面关于passwd命令说法不正确的是( )。
    A. 普通用户可以利用passwd命令修改自己的密码
    B. 超级用户可以利用passwd命令修改自己和其他用户的密码
    C. 普通用户不可以利用passwd命令修改其他用户的密码
    D. 普通用户可以利用passwd命令修改自己和其他用户的密码
    正确答案: D

  3. (单选题)删除用户使用的命令是( ) 。
    A. delusr
    B. userdel
    C. usrdel
    D. delete user
    正确答案: B

  4. (单选题)默认情况下管理员创建了一个用户,就会在( )目录下创建一个用户主目录。
    A. /usr
    B. /home
    C. /root
    D. /etc
    正确答案: B

  5. (单选题)默认情况下,root用户属于( )用户组。
    A. user
    B. admin
    C. root
    D. system
    正确答案: C
    10分

  6. (单选题)Linux文件权限一共10位长度,分成四段,从左到右第三段表示的内容是( )。
    A. 文件类型
    B. 文件所有者的权限
    C. 文件所有者所在组的权限
    D. 其他用户的权限
    正确答案: C

  7. (单选题)文件exer1的访问权限为rw-r–r–,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是( )。
    A. chmod a+x,g+w exer1
    B. chmod 765 exer1
    C. chmod o+x exer1
    D. chmod g+w exer1
    正确答案: A

  8. (单选题)某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为( )。
    A. 467
    B. 674
    C. 476
    D. 764
    正确答案: D

  9. (单选题)以长格式列目录时,若文件test的权限描述为:drwxrw-r–,则文件test的类型以及文件主的权限是( )。
    A. 目录文件、读写执行
    B. 目录文件、读写
    C. 普通文件、读写
    D. 普通文件、读
    正确答案: A

  10. (单选题)
    chmod中通过指定“ugoa”可以控制哪些用户对某文件(目录)的权限可以被改变,其中“a”表示:( )。
    A.
    文件的所有者
    B.
    其他组的用户
    C. 与文件所有者同组的用户
    D. 所有用户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_19468.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android-JetpackCompose】5、三阶段:组合、布局、绘制,架构分层,设计原则、性能最佳实践

文章目录一、帧的3个阶段1.1 第 1 阶段:组合1.2 第 2 阶段:布局1.3 第 3 阶段:绘制二、读取 state2.1 优化读取 state三、重组循环(循环阶段依赖项)四、架构分层五、设计原则5.1 控制5.2 自定义六、性能最佳实践6.1 使…

c++类和对象

前言 在学习完漫长的C语言,那么这篇文章也算是开始踏上了高级语言之路 。古人云:路漫漫其修远兮,吾将上下而求索。c的道路才开始,那么我们应该为此开始思考了。余甚 愚,余认为c有太多细节了,必定耗时细磨才…

实验一:贝叶斯神经网络及其如何用随机梯度马尔可夫链蒙特卡洛有效训练

0.实验环境搭建: 源代码获取: 来源一:google 来源二:web 来源三:github 环境: conda create --name python36_google_deep python3.6 conda activate python36_google_deep #建议按照顺序安装 pip inst…

基于FPGA的图像边缘检测

基于FPGA的图像边缘检测一、图像处理算法1.灰度转换2.高斯滤波3.二值化4.Sobel二、项目框架1.摄像头配置模块2.图像处理模块3.数据缓存模块4.其它模块三、部分代码1.数据采集模块2.读写控制模块四、参考五、源码简介:基于FPGA,摄像头实时采集图像数据&am…

【Algorithm】Karatsuba Multiplications 乘法算法

Karatsuba Multiplications Q1: 请计算:x1234x1234x1234, y5678y5678y5678, x∗y?x*y?x∗y? 这个问题其实我们在三年级的时候就学过,用乘法竖式进行运算。但是有没有其他的方法,或者说,如果 x,yx,yx,y 非常大的时候…

drf 视图类 GenericAPIView 及扩展

drf 视图类 GenericAPIView 及扩展 文章目录drf 视图类 GenericAPIView 及扩展1、2个视图基类1.1、GenericAPIView:属性和方法1.2、基于APIView 写5个接口1.3、基于GenericAPIView写5个接口2、5个视图扩展类2.1 基于GenericAPIView5个视图扩展类写接口3、九个视图子…

【UCB操作系统CS162项目】Pintos Lab2:用户程序 User Programs(下)

在上节中,我们已经完成了 Lab 2 要求的参数传递和系统调用中的 halt, exit 以及向 stdout 输出的 write,最终停在了 wait 的实现之前。本节就先从 wait 和 exec 继续。 Syscall wait exec:实现父子进程 讲义中 wait 的要求是这样的&#x…

这几个文字翻译工具确定不试试看?

想问问大家平常会接触到TXT文件吗?这是微软在操作系统上附带的一种文本格式,主要是保存纯文字信息,像我们电脑上自带的记事本工具,就是使用这种文件格式。有时候我们需要将文本内容翻译成中文。那你知道如何实现TXT翻译成中文吗&a…

LRU缓存——哈希表+双向链表

一、题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: 1)LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 2)int get(int key) 如果关键字 key 存在于缓存中,…

STA系列 - 特殊时序分析multicycle/half-cycle/false path

文章目录什么是require time/arrive timeMulticycle PathHalf PathFalth Path本篇文章介绍的是特殊的时序path, 全文为视频笔记,以及自己的理解https://www.bilibili.com/video/BV1if4y1p7Dq?p10&vd_source84d1070e8334ce7e2bb0bd110abcf1a7什么是require time…

使用服务器跑模型——案例2

案例2 在本案例中我们使用vscode来上传/下载文件,服务器端编程和debug。 下载 vscode 在官网下载vscode正式版,别使用家庭版。下载地址https://code.visualstudio.com/Download。 使用 vscode 连接服务器 在vscode扩展中搜索ssh并下载安装。 安装成功…

【机器学习】熵权算法确定权重 原理+完整MATLAB代码+详细注释+操作实列

【机器学习】熵权算法确定权重 原理完整MATLAB代码详细注释操作实列 文章目录 1. 熵权法确定指标权重 (1)构造评价矩阵 Ymn (2)评价矩阵标准化处理 (3)计算指标信息熵值 Mj (4&#xff09…

原生JS项目练习——验证码的生成及教验

一、主要功能介绍: 1、通过for循环生成生成六位随机验证码 2、通过for循环随机生成验证码颜色 3、窗口加载事件,窗口一加载就调用函数,重置验证码 4、按钮点击事件,一点击就调用函数,重置验证码 5、input输入框已失去焦…

Yarn概述

Hadoop系列 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hbase…

公众号网课搜题接口系统

公众号网课搜题接口系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(…

快速开发微信小程序之二-微信支付

一、背景 在面试程序员的时候,有两项经历会带来比较大的加分,第一你是否做过支付金融相关的业务,第二你是否写过底层框架中间件代码,今天我们聊一下微信支付是如何对接的。 二、相关概念 1、微信商户平台 要使用微信支付&#…

一、mini2440_bsp_led

一、芯片手册 1、板子原理图 2、GPIO使用 (1)GPxCON (2)GPxDAT 二、实现分析 1、初始化led 设置GPBCON(0x56000010)为 0x00015400 2、设置led输出,根据原理图引脚输出低电平时灯被点亮 LED1…

K8s-临时容器 Ephemeral Containers

临时容器 Ephemeral Containers 当由于容器崩溃或容器镜像不包含调试工具而导致 kubectl exec 无用时, 临时容器对于交互式故障排查很有用。尤其是,Distroless 镜像 允许用户部署最小的容器镜像,从而减少攻击面并减少故障和漏洞的暴露。 由于…

C | 枚举?看一遍就够了

CSDN话题挑战赛第2期 参赛话题:学习笔记 啊我摔倒了..有没有人扶我起来学习.... 目录前言枚举1. 枚举的定义2. 枚举的内存大小3. 枚举的优势4. 枚举需要注意的地方前言 结构体、枚举、联合体都是自定义类型,结构体主要知识点结构体内存对齐可参考《C | …

九月SLAM相关论文速递

九月SLAM相关论文速递 论文列表DirectTracker: 3D Multi-Object Tracking Using Direct Image Alignment and Photometric Bundle Adjustment3D VSG: Long-term Semantic Scene Change Prediction through 3D Variable Scene GraphsLeveraging Large Language Models for Robo…