【Linux】用户和权限

在这里插入图片描述

文章目录

  • 前言
  • 什么是 root 用户
  • su 命令和 exit 命令
  • sudo 命令
    • 为普通用户配置 sudo 认证
  • 用户、用户组管理
    • 什么是Linux 用户和用户组
    • 用户组管理
    • 用户管理
      • 创建用户
      • 删除用户
      • 查看用户所属组
      • 将指定用户添加到指定用户组中
    • 查看当前系统的用户和用户组
  • 权限控制
    • 权限信息
  • 修改权限控制
    • 修改权限信息
    • 修改所属用户、用户组

前言

Linux作为一种广泛使用的操作系统,以其稳定性、灵活性和安全性而闻名。在Linux中,用户和权限是管理访问控制和确保系统安全性的核心概念。深入理解Linux用户和权限对于系统管理员、开发人员和普通用户来说都是至关重要的。

我将为大家全面介绍Linux中的用户和权限概念,深入解析其原理和用法,以及探讨如何正确配置和管理文件和目录的访问权限。

什么是 root 用户

无论是Windows、MacOs还是Linux都采用多用户的管理模式进行权限管理。

在学习 Linux 用户之前,我们首先要知道 Linux 的 root 用户。root 用户也叫 超级管理员,与普通用户不同的是:普通用户的很多权限受到限制,而 root 用户拥有 Linux 操作系统的最大权限。

在这里插入图片描述

  • 普通用户在HOME之内是不受限制的,而一旦出了HOME目录,很多操作都会受到限制。

在这里插入图片描述

在这里插入图片描述

su 命令和 exit 命令

①su 命令

那么我们如何从普通用户切换到 root 用户,或者如何从 root 用户切换到 普通用户呢?我们使用 su [-] [用户名] 来进行用户之间的切换。

  • - 是可选的,表示是否在切换用户之后加载环境变量,建议带上
  • 用户名参数,表示要切换到的用户,可以省略,省略表示切换到 root 用户

su - handsome
su - root

在这里插入图片描述
通过上面的执行图片我们不难发现问题:

  • 当我们从普通用户转到 root 用户的时候,需要输入密码
  • 而从 root 用户转到普通用户的时候则不需要使用密码

②exit 命令

使用 exit 命令之后,会退出当前用户,回到上一次的用户。

在这里插入图片描述

当然,如果我们觉得 exit 命令麻烦的话,也可以直接使用快捷键 CTRL + C 退出当前用户,回到上一用户。

sudo 命令

俗话说:地位越高,风险越大。root 用户作为拥有最高权限的管理员,需要格外的注意每一条命令的使用,因为 root 用户执行操作的时候也不会有提示,所以很容易造成不可挽回的后果。也就是说我们不应该长时间处于 root 管理员身份。

不处于管理员身份的话,那么如果我们想要执行普通用户不具有的权限的时候,要来回切换用户吗?这样会显得很麻烦,我们可以使用 sudo 命令 来使我们执行这条命令的时候是处于 root 用户的身份的。

我们要想使用 sudo ,还需要为普通用户配置 sudo 认证

为普通用户配置 sudo 认证

  1. 切换到 root 用户,执行 visudo 命令,会打开一个文件
  2. 找到文件末尾,输入小写的 o ,然后输入用户名 ALL=(ALL) NOPASSWD: ALL
  3. 先按一下ESC退出编辑模式,然后输入两次大写的Z,退出并保存

sudo mkdir /test2

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

用户、用户组管理

在这里插入图片描述

什么是Linux 用户和用户组

在Linux系统中,用户(User)和用户组(Group)是用于管理和识别系统中的个人用户和集合用户的概念。

  1. 用户(User):
  • 用户是系统中的个人或应用程序,每个用户都有唯一的用户名和用户标识符(User ID,UID)。
  • 用户可以登录系统并在系统上执行各种操作,如访问文件、运行程序等。
  • 每个用户都有自己的个人目录(Home Directory),用于存储用户的配置文件、个人数据等。
  • 用户可以通过登录凭据(用户名和密码或其他身份验证方式)来验证自己的身份。
  1. 用户组(Group):
  • 用户组是一组用户的集合,用于方便地管理和分配权限。
  • 用户组可以将一组用户绑定在一起,使得它们可以共享共同的权限和资源。
  • 每个用户可以属于一个或多个用户组。一个用户组可以有多个成员,而每个成员也可以属于多个用户组。
  • 用户组通常用于简化权限管理和授予特定资源的访问权限。

通过使用用户和用户组的概念,Linux系统能够实现细粒度的权限管理和资源控制。管理员可以根据需要分配用户所属的用户组,并为每个用户组设置特定的权限。这样可以方便地管理文件和目录的访问权限,并确保用户和应用程序以安全、可管理的方式操作系统。

用户组管理

  • groupadd 用户组名——创建用户组
  • groupdel 用户组名——删除用户组

用户组命令需要我们在 root 管理员的身份下执行。

用户管理

  • useradd [-g -d] 用户名——创建用户
  • userdel [-r] 用户名——删除用户
  • id [用户名]——查看用户所属组
  • usermod -aG 用户组 用户名——将指定用户添加到指定用户组中

创建用户

useradd [-g -d] 用户名

  • 选项:-g指定用户的组,如果不指定用户组,会自动创建一个同名的用户组并将该用户添加进入;如果指定用户组,这个用户组需要保证存在
  • 选项:-d指定用户HOME路径,不指定的话,HOME路径会默认在:/home/用户名

useradd -g itcast -d /home/test test

在这里插入图片描述

删除用户

userdel [-r] 用户名

  • 选项:-r,删除用户的HOME目录,不使用 -r 的时候用户的HOME目录会保留

在这里插入图片描述

查看用户所属组

id [用户名]

  • 参数:用户名,表示要查看的用户所属的用户组,如果省略,则表示查看当前用户的所属用户组

在这里插入图片描述

在这里插入图片描述

将指定用户添加到指定用户组中

usermod -aG 用户组 用户名

在这里插入图片描述

查看当前系统的用户和用户组

使用 getent passwd 命令可以查看当前系统有哪些用户。

在这里插入图片描述

显示出来的信息分为七部分:

  • 用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

使用 getent group 查看当前系统的用户组

在这里插入图片描述

显示出来的信息分为三部分:

  • 组名称:组认证(显示为x):组ID

权限控制

当我们使用 ls -l 的时候,显示出来的信息,我们是否想要直到它显示出来的信息各个部分是什么意思呢?

在这里插入图片描述

  • ①表示文件、文件夹的权限控制信息
  • ②表示文件、文件夹所属用户
  • ③表示文件、文件夹所属用户组

权限信息

我们知道了哪些代表权限信息,那么每一个字母又代表什么呢?

在这里插入图片描述

  • r 表示读权限
    • 针对文件,表示可以查看文件内容
    • 针对文件夹,表示查看文件夹中的内容
  • w 表示写权限
    • 针对文件,表示可以修改此文件
    • 针对文件夹,表示可以在文件夹内创建、删除、改名的操作
  • x 表示执行权限
    • 针对文件,表示可将文件作为程序执行
    • 针对文件夹,表示可以更改工作目录到此文件夹,即 cd 操作

在这里插入图片描述

我们可以看到,当前处于 handsome用户,不属于 boot 文件夹的用户和用户组,属于其他用户权限,所以我们看权限的时候就看后三位 r-x 表示其他用户对于该文件夹只有读和执行的权限。

假如我们对该文件夹执行创建、删除、改名等操作看看会怎么样?

在这里插入图片描述
请求被拒绝了,这也就说明了其他用户对该文件夹只有读和执行的权限,而没有创建、删除、改名的权限。

在这里插入图片描述

在这里插入图片描述

修改权限控制

  • chmod 修改文件、文件夹的权限信息
  • chown 修改文件、文件夹的所属用户和所属组

修改权限信息

chmod [-R] 权限信息 文件或文件夹

  • 选项:-R,表示对该文件夹里的所有文件都执行该操作

因为不同部分的权限信息代表的含义不同,所以我们需要使用 u g o 来分别表示用户、用户组、其他用户权限,并且我们修改文件或者文件夹的权限信息只能以 root 管理员的身份修改

在这里插入图片描述
我们修改 handsome/home/test.txt 的权限信息。

在这里插入图片描述

在 Linux 中,如果文件或文件夹被标识为绿色,则表示不安全。

修改文件夹权限信息。

在这里插入图片描述

在这里插入图片描述

修改权限信息的时候,使用 u=rwx 等会不会觉得很麻烦呢?Linux 为我们提供了一种简单以数字的形式来代表权限信息的方式。

  • 0:无任何权限,即—
  • 1:仅有 x 权限,即–x
  • 2:仅有 w 权限,即-w-
  • 3:有 w 和 x 权限,即-wx
  • 4:仅有 r 权限,即r–
  • 5:有 r 和 x 权限,即r-x
  • 6:有 r 和 w 权限,即rw-
  • 7:有全部权限,即rwx

在这里插入图片描述

修改所属用户、用户组

chown [-R] [用户名][:][用户组名] 文件或文件夹

  • 选项:-R,表示文件夹中的所有文件都执行该操作
  • 选项:用户,表示修改所属用户
  • 选项:用户组,表示修改所属用户组

该操作也只能在 root 管理员的身份下执行

在这里插入图片描述
/home/handsome/test.txt 的所属用户和用户组更改到 root

在这里插入图片描述

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

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

相关文章

【IDEA问题】下载不了源代码

引出问题 最近不知道怎么打开 IDEA,本想查看源代码,然后点击下载源码,总是报找不到此对象的源代码。百度找了半天,GPT问了半天还是解决不了,直到遇到了这篇:idea中无法下载源码问题解决,终于得…

74、75、76——tomcat项目实战

tomcat项目实战 tomcat 依赖 java运行环境,必须要有jre , 选择 jdk1.8 JvmPertest 千万不能用 kyj易捷支付 项目机器 选择 一台机器 ,安装jdk1.8的机器下载tomcat的包 上传到机器,解压tomcattomcat文件 bin文件夹: 启动文件 堆栈配置文件 catalina.sh JAVA_OPTS="-Xm…

Nginx反向代理配置+负载均衡集群部署

文章目录 负载均衡反向代理基础环境部署:什么是代理实验环境图流量过程 环境部署准备两台Web服务器安装Nginx准备页面内容添加主机名 代理服务器配置 修改windos hosts文件测试:终端浏览器 负载均衡反向代理基础环境部署: 什么是代理 正向代…

腾讯云轻量应用服务器CPU型号?处理器主频多少?

腾讯云轻量应用服务器CPU型号是什么?处理器主频多少?轻量应用服务器不支持指定CPU处理器型号,目前腾讯云服务器网账号下的轻量应用服务器,CPU采用2.5GHz主频的Intel(R) Xeon(R) Gold 6133 处理器,睿频 3.0GHz&#xff…

160. 相交链表 题解

题目描述:160. 相交链表 - 力扣(LeetCode) 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 注:本题中链表相交是“Y”型的&am…

ClickHouse(十三):Clickhouse MergeTree系列表引擎 - ReplicingMergeTree

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…

unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上

原理是使用sdk获取视频流,格式为YUV,然后分离YUV通道到三张不同的Texture2D上,通过shader将三个通道重新输出为原始图像。 我将所用的各个部分已经整理成一个压缩包,免积分下载 压缩包结构如下 使用步骤 1 DLL:放在Plugins文件…

wordpress数据表中标签和分类如何区分?

wordpress中标签和分类是什么关系怎么区分?最后有一个群的网友告诉了我文章ID和标签ID的关系是放在了wp_term_relationships表中,然后我百度了下这个表的结构和相关介绍,发现果然如此,先把文章保存起来: wp_term_rela…

那些年的golang开发经验记录

goland 问题CreateProcess error216, 该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者 Cannot run program "......" (in directory "D:\project\go\awesomeProject\src\test"): CreateProcess error2…

nginx基于主机和用户访问控制以及缓存简单例子

一.基于主机访问控制 1.修改nginx.conf文件 2.到其他主机上测试 (1)191主机 (2)180主机 二.基于用户访问控制 1.修改nginx.conf文件 2.使用hpasswd为用户创建密码文件,并指定到刚才指定的密码文件webck 3.测试…

Cocos Creator 3.8 后期效果 Shader 编写(2/2) 进阶篇

前言 在上一篇文章中,麒麟子给大家分享了如何在 Cocos Creator 3.8 中的自定义管线中,添加属于自己的后期效果 Shader。 但基于 BlitScreen 的方案,我们只能编写最简单后效 Shader,如果我们想要支持更多复杂的 Shader&#xff0c…

nginx动态同步配置模块nginx-upsync-module

使用场景简介 nginx一般直接在配置文件里配置upstream即可实现负载均衡,但有些特定的环境下此种方式就显得有些局限性。比如后台动态调整节点的时候;调整节点后不想修改配置文件重启nginx。 可以将配置文件从nginx本地迁移到其他第三方服务上如etcd、c…

Claude 2、ChatGPT、Google Bard优劣势比较

​Claude 2: 优势:Claude 2能够一次性处理多达10万个tokens(约7.5万个单词)。 tokens数量反映了模型可以处理的文本长度和上下文数量。tokens越多,模型理解语义的能力就越强)。它在法律、数学和编码等多个…

LinearAlgebraMIT_8_TheRankOfMatrix

这节课中主要讲解根据秩来判断方程组/矩阵的(solvability)解情况,即通过秩来判断(aumented matrix)增广矩阵的解。我们需要直接求解方程组的解就是求解矩阵的解。 x.1 判断(非齐次线性方程组)Axb是否有解 我们以下面这个方程组为例,它具有3个约束条件和…

虹科方案 | 汽车总线协议转换解决方案(二)

上期说到,虹科的PCAN-LIN网关在CAN、LIN总线转换方面有显著的作用,尤其是为BMS电池通信的测试提供了优秀的解决方案。假如您感兴趣,可以点击文末相关链接进行回顾! 而今天,虹科将继续给大家带来Router系列在各个领域的…

AI 绘画Stable Diffusion 研究(六)sd提示词插件

大家好,我是风雨无阻。 今天为大家推荐一款可以有效提升我们使用 Stable Diffusion WebUI 效率的插件, 它就是 prompt-all-in-one, 它不但能直接将 WebUI 中的中文提示词转换为英文,还能一键为关键词加权重,更能建立常…

Redis的AOF持久化

除了RDB持久化功能之外,Redis还提供了AOF持久化功能。与RDB 持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的,如下图所示。 举个例子,如果我们对空白的数据…

vim学习笔记(致敬vim作者)

vim cheat sheet 30. vim 删除大法 vim 删除某个字符之后改行的其他的字符?删除某行之后的其他行?删除某个字符之后的其他字符?【1】删除单个字符? 跳到要删除的字符位置 按下d键然后按下shift 4键 【2】删除某行之后的其他行…

vite+vue3项目环境搭建

1.安装 npm init vite 2.输入项目名称 vue3-project 3.选择框架 说明:vue 4.选择类别 说明:JavaScript 5.进入文件夹 cd vue3-project yarn npm run dev 6.打开local

数据安全加固:深入解析滴滴ES安全认证技术方案

前文分别介绍了滴滴自研的ES强一致性多活是如何实现的、以及如何提升ES的性能潜力。由于ES具有强大的搜索和分析功能,同时也因其开源和易于使用而成为黑客攻击的目标。近些年,业界ES数据泄露事件频发, 以下是一些比较严重的数据泄露案件: 202…