Linux-用户和权限(黑马学习笔记)

news2024/12/26 21:00:08

认识root用户

root用户(超级管理员)

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

● 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)

● 而在前期,我们一直使用的账户是普通的用户:itheima

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

演示:

● 使用普通用户在根目录下创建文件夹

● 切换到root用户后,继续尝试

● 普通用户的权限,一般在其HOME目录内是不受限的

● 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

su和exit命令

在前面,我们接触过su命令切换到root账户。

su命令就是用于账户切换的系统命令,其来源英文单词:Switch User

语法:

● - 符号是可选的,表示是否在切换用户后加载环境变量,建议带上

● 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

● 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d

●使用普通用户,切换到其它用户需要输入密码,如切换到root用户

● 使用root用户切换到其它用户,无需密码,可以直接切换

sudo命令

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。

但是我们不建议长期使用root用户,避免带来系统损坏。

我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

语法:

● 在其它命令前,带上sudo,即可为这一条命令临时赋予root授权

● 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

为普通用户配置sudo认证

● 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

● 在文件的最后添加:

    ● 其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码

● 最后通过wq保存

● 切换回普通用户

● 执行的命令,均以root运行

用户、用户组管理

用户、用户组

Linux系统中可以:

● 配置多个用户

● 配置多个用户组

● 用户可以加入多个用户组中

Linux中关于权限的管控级别有2个级别,分别是:

● 针对用户的权限控制

● 针对用户组的权限控制

比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。

所以,我们需要学习在Linux中进行用户、用户组管理的基础命令,为后面学习权限控制打下基础。

用户组管理

以下命令需root用户执行

● 创建用户组

groupadd 用户组名

● 删除用户组

groupdel 用户组名

为后续演示,我们创建一个itcast用户组:groupadd itcast

用户管理

以下命令需root用户执行

● 创建用户

useradd [-g -d] 用户名

    ● 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g

    ● 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

● 删除用户

userdel [-r] 用户名

    ● 选项:-r,删除用户的HOME目录,不适用-r,删除用户时,HOME目录保留

● 查看用户所属组

id [用户名]

    ● 参数:用户名,被查看的用户,如果不提供则查看自身

● 修改用户所属组

usermod -aG 用户组 用户名,将指定用户加入指定用户组

getent

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

语法:getent passwd

共有7份信息,分别是:

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

使用getent命令,同样可以查看当前系统中有哪些用户组

语法:getent group

包含3份信息,组名称:组认证(显示未x):组ID

查看权限控制

认知权限信息

通过ls -l可以以列表形式查看内容,并显示权限细节

● 序号1,表示文件、文件夹的权限控制信息

● 序号2,表示文件、文件夹所属用户

● 序号3,表示文件、文件夹所属用户组

让我们来解析一下序号1,权限细节

权限细节总共分为10个槽位

举例:drwxr-xr-x,表示:

● 这是一个文件夹,首字母d表示

● 所属用户的权限是:有r有w有x,rwx

● 所属用户组的权限是:有r无w有x,r-x(-表示无此权限)

● 其它用户的权限是:有r无w有x,r-w

rwx

那么,rwx到底代表什么呢?

● r表示读权限

● w表示写权限

● x表示执行权限

针对文件、文件夹的不同,rwx的含义有细微差别

● r,针对文件可以查看文件内容

    ● 针对文件夹,可以查看文件夹内容,如ls命令

● w,针对文件表示可以修改此文件

    ● 针对文件夹,可以在文件夹内:创建、删除、改名等操作

● x,针对文件表示可以将文件作为程序执行

    ● 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

案例

当前用户itheima,非文件所属用户和用户组,锁定最后三位权限为:---,无读取权限

修改权限控制-chmod

chmod命令

我们可以使用chmod命令,修改文件、文件夹的权限信息。

注意,只有文件、文件夹的所属用户或root用户可以修改。

语法:chmod [-R] 权限 文件或文件夹

● 选项:-R,对文件夹内的全部内容应用同样的操作

示例:

● chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x

    ● 其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限

● chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x

除此之外,还有快捷写法:chmod 751 hello.txt

将hello.txt的权限修改为751

那么问题来了,751表示什么意思呢?

权限的数字符号

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。

数字的细节如下:r记为4,w记为2,x记为1,可以有:

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

所以751表示:rwx(7) r-x(5) --x(1)

案例

● 将hello.txt的权限修改为:r-x--xr-x,数字序号为:

chmod 515 hello.txt

● 将hello.txt的权限修改为:-wx-w-rw-,数字序号为:

chmod 326 hello.txt

● 序号123代表的权限是:

--x-w--wx

修改权限控制

chown命令

使用chown命令,可以修改文件、文件夹的所属用户和用户组

普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行

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

● 选项,-R,同chmod,对文件夹内全部内容应用相同规则

● 选项,用户,修改所属用户

● 选项,用户组,修改所属用户组

● :用于分隔用户和用户组

示例:

● chown root hello.txt,将hello.txt所属用户修改为root

● chown :root hello.txt,将hello.txt所属用户组修改为root

● chown root:itheima hello.txt,将hello.txt所属用户修改为root,用户组修改为itheima

● chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot 3 新特性

目录 1. GraalVM2. 支持虚拟线程3. HTTP Interface 1. GraalVM 使用GraalVM将SpringBoot应用程序编译成本地可执行的镜像文件,可以显著提升启动速度、峰值性能以及减少内存应用。传统的应用都是编译成字节码,然后通过JVM解释并最终编译成机器码来运行&a…

报错:org.springframework.jdbc.BadSqlGrammarException:

//报错 2024-02-24 19:44:10.814 ERROR 6184 --- [nio-9090-exec-5] c.e.exception.GlobalExceptionHandler : 异常信息: org.springframework.jdbc.BadSqlGrammarException: GPT: 根据异常信息,这是一个Spring框架抛出的BadSqlGrammar…

金航标电子位于广西柳州鹿寨县天线生产基地于大年正月初九开工了

金航标电子位于广西柳州鹿寨县天线生产基地于大年正月初九开工了!!!金航标kinghelm(www.kinghelm.com.cn)总部位于中国深圳市,兼顾技术、成本、管理、效率和可持续发展。东莞塘厦实验室全电波暗室、网络分析…

NXP实战笔记(九):S32K3xx基于RTD-SDK在S32DS上配置 CRCIRQPower

目录 1、CRC概述 1.1、CRC配置 1.2、代码示例 2、INTCTRL 3、Power 1、CRC概述 硬件CRC产生16或者32bit的,S32K3提供了可编程多项式与其他参数需求。 CRC图示如下 1.1、CRC配置 暂时DMA不怎么会用,所以没有启用DMA CRC的选择 这点需要十分注意&…

芯科科技与Arduino携手推动Matter普及化

双方的合作可助力开发人员在两分钟内将新开发板配置入网 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)日前宣布,公司与开源硬件和软件领域的…

使用Lombok @Data 出现java: 找不到符号 的问题

第一种&#xff1a;pom依赖最好如下方式 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>compile</scope> </dependency>第二种&#xff1…

Unity Shader ASE基础效果思路与代码(二):边缘光、扰动火焰

Unity Shader ASE基础效果思路与代码(二)&#xff1a;边缘光、扰动火焰 文章目录 Unity Shader ASE基础效果思路与代码(二)&#xff1a;边缘光、扰动火焰边缘光效果展示&#xff1a;代码与思路&#xff1a; 扰动火焰效果展示&#xff1a;代码与思路&#xff1a; 边缘光 效果展…

力扣随笔之颜色分类(中等75)

思路&#xff1a;定义两个指针划分left&#xff0c;right划分三个区域left左边是红色区域&#xff0c;right右边是蓝色区域&#xff0c;left和right之间是白色区域&#xff1b;定义一个遍历指针遍历整个数组&#xff0c;遇到红色与left所指位置数字交换&#xff0c;并将left自加…

【雷达指标】MTI/MTD性能

目录 一、MTI/MTD性能的指标描述1.1 杂波衰减和对消比1.2 改善因子1.3 杂波中的可见度 二、MATLAB仿真参考文献 雷达通常使用MTI/MTD来进行杂波抑制&#xff0c;采用杂波衰减、对消比、改善因子、杂波中的可见度来描述其性能。 一、MTI/MTD性能的指标描述 1.1 杂波衰减和对消比…

C#学习总结

1、访问权限 方法默认访问修饰符&#xff1a;private 类默认访问修饰符&#xff1a;internal 类的成员默认访问修饰符&#xff1a;private 2、UserControl的使用 首先添加用户控件 使用时一种是通过代码添加&#xff0c;一种是通过拖动组件到xaml中

前端导出下载文件后提示无法打开文件

问题 项目中的导出文件功能&#xff0c;导出下载后的文件打开提示如下&#xff1a; 原因 对返回的响应数据进行打印&#xff0c;发现响应数据为字符串格式&#xff0c;前期规划的后端返回数据应该 blob 对象的。后经排查后发现是请求头缺少了响应数据格式的配置&#xff0c;应…

数据同步MySQL -> Elasticsearch

大家好我是苏麟,今天聊聊数据同步 . 数据同步 一般情况下&#xff0c;如果做查询搜索功能&#xff0c;使用 ES 来模糊搜索&#xff0c;但是数据是存放在数据库 MySQL 里的&#xff0c;所以说我们需要把 MySQL 中的数据和 ES 进行同步&#xff0c;保证数据一致(以 MySQL 为主)…

力扣645. 错误的集合(排序,哈希表)

Problem: 645. 错误的集合 文章目录 题目描述思路复杂度Code 题目描述 思路 1.排序 1.对nums数组按从小到大的顺序排序; 2.遍历数组时若判断两个相邻的元素则找到重复元素&#xff1b; 3.记录一个整形变量prev一次置换当前位置元素并与其作差&#xff0c;若差等于2着说明缺失的…

【vue】如何打开别人编译后的vue项目

文件结构如下&#xff0c;编译后的文件放在dist中。 dist的文件结构大约如下&#xff0c;文件名称随项目 1.新建app.js文件 const express require(express);const app express();const port 8080;app.use(express.static(dist));app.listen(port, () > console.log); …

Bluesky数据采集框架-1

Bluesky是一个用于实验控制和科学数据和元数据采集的库。它强调以下特点&#xff1a; 1、实时&#xff0c;流式数据&#xff1a;可用于嵌入可视化和处理。 2、丰富元数据&#xff1a;获取和组织来方便复制性和可检索性。 3、实验通用性&#xff1a;对完全不同的硬件无缝地重…

c#高级——插件开发

案例&#xff1a;WinForm计算器插件开发 1.建立插件库&#xff0c;设置各种自己所需的插件组件 如下图所示&#xff1a;进行了计算器的加减法插件计算组件 Calculator_DLL为总插件父类 Calculator_DLL_ADD 为插件子类的控件对象 Calculator_DLL_Sub Calculator_DLL_Factory 为…

JavaSec 基础之 XXE

文章目录 XMLReaderSAXReaderSAXBuilderDocumentBuilderUnmarshaller**SAXParserFactory**XMLReaderFactoryDigester总结 XMLReader public String XMLReader(RequestBody String content) {try {XMLReader xmlReader XMLReaderFactory.createXMLReader();// 修复&#xff1a…

ESP8266智能家居(4)——开发APP基础篇

1.前期准备 安装好Android studio 开发环境 准备一台完好的安卓手机 手机要处于开发者模式 设置 --->关于手机---> 一直点击版本号 &#xff08;不同手机进入开发者模式的步骤可能不太一样&#xff09; 进入开发者模式后&#xff0c;找到辅助功能&#xff0c;打开开…

2.22日学习打卡----正则表达式

2.22日学习打卡 目录&#xff1a; 2.22日学习打卡正则表达式什么是正则表达式&#xff1f;正则表达式的作用正则表达式特点基础语法表格元字符Java 中正则表达式的使用正则表达式语法规则内容限定单个字符限定范围字符限定取反限定 长度限定长度限定符号预定义字符正则表达式的…

Qt的QFileSystemModel与QTreeView、QTableView、QListView的组合使用

1.相关描述 QFileSystemModel与QTreeView、QTableView、QListView的组合&#xff0c;当QTreeView点击发生改变&#xff0c;QTableView和QListView也会发生变化 2.相关界面 3.相关代码 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h"…