Linux 权限及管理

目录

一、Linux权限

1、概念

2、超级用户和普通用户的相关操作

a. 添加用户,删除用户

b. 超级用户和普通用户的切换 

c. sduo提权以及白名单设置 

二、Linux权限管理 

1、文件访问者的分类

2、文件访问类型和权限

a. 文件类型

b. 基本权限

3、文件权限值得表示方法

a. 字符表示方法

b. 8进制数值表示方法

4、 文件访问权限的相关设置方法

 a. chmod  ---设置文件的访问权限

b. chown  ---修改文件拥有者

c. chgrp  ---修改文件或目录的所属组

d. umask ---查看或修改文件掩码

5、目录的权限 

6、粘滞位

三、总结


一、Linux权限

1、概念

Linux 下有两种用户:超级用户( root )、普通用户。那么什么是超级用户,什么是普通用户呢?
超级用户:可以在Linux系统下做任何事,不受限制。超级用户的命令提示符是"#"
普通用户:在Linux下做有限的事情。普通用户的命令提示符是"$"

2、超级用户和普通用户的相关操作

a. 添加用户,删除用户

那么该如何添加普通用户呢? 

创建用户:第一步: adduser + 用户名  第二步:passwd + 用户名 

删除用户:userdel  -r + 用户名 (这样可以彻底删除干净,如果直接使用userdel + 用户名可能会删不干净)   这里补充一下:ls /home 可以查看当前账号有哪些普通用户。

 

如果直接使用userdel + 用户名导致并没有删除干净的解决办法:

b. 超级用户和普通用户的切换 

超级用户----->普通用户:

su + 普通用户名  (超级用户切换到普通用户不需要输入密码)

退出:ctrl + d 或者 exit

 

 普通用户---->超级用户:

第一种:su -  以root身份重新登录一次   (普通用户切换超级用户需要超级用户的密码)

第二种:单纯的身份切换    (普通用户切换超级用户需要超级用户的密码)

退出:ctrl + d 或者 exit

c. sduo提权以及白名单设置 

现在我不想把我这个普通用户变成root,但是我却想让普通用户以root权限执行一条命令,有没有什么办法呢? 

sudo touch file.txt 可以在命令前加上sudo 进行短暂提权 

那么我现在不想每次都去进行sudo提权操作该怎么办呢?

使用sudo白名单配置(在root账号下操作)

1、ll /etc/sudoers   ----查找白名单配置

2、vim /etc/sudoers

3、将普通用户添加进白名单

4、保存退出 

 

二、Linux权限管理 

1、文件访问者的分类

  • 文件和文件目录的所有者:u---User
  • 文件和文件目录的所有者所在的组的用户:g---Group
  • 其它用户:o---Others  

2、文件访问类型和权限

a. 文件类型

b. 基本权限

1、读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
2、写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
3、执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
4、“—”表示不具有该项权限

3、文件权限值得表示方法

a. 字符表示方法

b. 8进制数值表示方法

 

4、 文件访问权限的相关设置方法

 a. chmod  ---设置文件的访问权限

格式: chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有 文件的拥有者和root 才可以改变文件的权限

 

从上图中看出,通过chmod我们的文件权限确实被更改了,那么图中的u+x,u-x,g+w,o+w,这些都是什么呢?

+: 向权限范围增加权限代号所表示的权限
-: 向权限范围取消权限代号所表示的权限
=: 向权限范围赋予权限代号所表示的权限
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

我们可以向上图那样用字符进行修改,也可以使用3位8进制数进行修改:

这里需要注意一下:

普通文件的起始权限是:666       目录文件的起始权限是:777 

b. chown  ---修改文件拥有者

语法格式:chown+用户名+文件

 对于普通用户而言,在更改拥有者时会被拒绝,这个时候就需要使用sudo命令:

c. chgrp  ---修改文件或目录的所属组

语法格式:chgrp+用户名+文件

常用选项-R 递归修改文件或目录的所属组

和chown一样,对于普通用户而言,在更改所属组时会被拒绝,这个时候就需要使用sudo命令: 

d. umask ---查看或修改文件掩码

上面也提到了:

新建文件夹默认权限=0666      新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
语法格式:umask    ---查看umask       umsak 权限值  ---修改umask

 root的默认掩码为:0022   普通用户默认掩码为:0002 

5、目录的权限 

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中。

可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容。
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件。

这个时候或许我们会有一个疑问:就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。意思就是说,今天在这个目录下A和B都对这个目录具有写权限,此时A新建了一个文件,那么B是不是可以把这个文件进行删除呢?这好像有bug啊,凭什么A新建的文件,B可以删除呢?我们来试一下是不是这样:

果然可以删除,所以,为了解决这个问题Linux引入了粘滞位的概念 

6、粘滞位

给目录中的other设置一个权限位,同时也进一步对目录进行特殊限定,该目录下的文件,只用超级管理员root,目录的所有者,文件的所有者能够删除,其他人一概不允许!

三、总结

目录的可执行权限是表示你可否在目录下执行命令。
如果 目录没有-x权限,则无法对目录执行任何命令 ,甚至无法cd 进入目, 即使 目录仍然有-r 读权限 (这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)。 而如果目录具有-权限,但没有-r 权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限。

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

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

相关文章

Linux网络测试指令

Ping Ping命令是一个网络工具,用于测试主机之间的可达性。它通过发送ICMP(Internet Control Message Protocol)回声请求消息到目标主机,并等待接收ICMP回声应答消息来判断目标是否可达以及测量往返时间。Ping命令对于诊断网络连接…

Java面试题精选:设计模式(二)

1、装饰器模式与代理模式的区别 1)代理模式(Proxy Design Pattern ) 原始定义是:让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问,并允许将请求提交给对象前后进行一些处理。 代理模式的适用场景 功能增强 当需要对一个对…

ICP和EDI许可证办理审核专用的网站系统源码程序下载—专供审核易过使用

在现代互联网及电子商务企业中,ICP许可证和EDI许可证不仅是法律要求,更是企业立足市场的重要基础。这两种许可证能够帮助企业爬梳合规问题,规避法律风险,并提升自身的信誉,增强客户的信任感。本文将详细介绍ICP许可证和…

运动场预定系统设计与实现

一、前言 随着人们健康意识的提高和体育运动的普及,各类运动场地的需求日益增长。传统的运动场预定方式往往依赖人工登记、电话预约等手段,存在效率低下、信息不透明、管理不便等问题。例如,使用者难以实时了解场地的空闲情况,需要…

基础暴力算法

线性枚举 线性枚举(Linear Enumeration)是一种暴力枚举的方法,它逐一检查每个可能的解,适用于搜索和枚举问题。 其核心思路是:对问题的所有可能情况逐一进行遍历,并针对每种情况判断是否满足条件&#xf…

第9章:CSS动画和过渡 --[CSS零基础入门]

1.过渡 CSS 过渡(Transitions)是一种简单而有效的方法,用于在元素的状态发生变化时创建平滑的视觉效果。以下是五个具体的例子,展示了如何使用过渡来增强用户交互体验。 示例 1: 按钮颜色和大小变化 这个例子展示了当用户将鼠标…

如何解决压测过程中JMeter堆内存溢出问题

如何解决压测过程中JMeter堆内存溢出问题 背景一、为什么会堆内存溢出?二、解决堆内存溢出措施三、堆内存参数应该怎么调整?四、堆内存大小配置建议 背景 Windows环境下使用JMeter压测运行一段时间后,JMeter日志窗口报错“java.lang.OutOfMe…

java问题解决_idea导入java项目时包名路径报错解决

第一个问题:idea导入java项目时包名路径报错解决 问题1:导入项目之后,没有运行导航 | 软件包名称 graph 与文件路径 src.graph 不对应 解决问题1: 打开项目结构 找到板块中的源代码目录 右键选择源代码 高亮之后就OK了 点击应用…

【青牛科技】拥有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作——D4558

概述: D4558内部包括有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作。该电路具有电压增益高、噪声低等特点。主要应用于音频信号放大,有源滤波器等场合。 D4558采用DIP8、SOP8的封装形式 主要特点&#xff…

qt-C++语法笔记之mapToGlobal将组件(控件)中的本地坐标系(局部坐标)映射到全局坐标系

qt-C语法笔记之mapToGlobal将组件(控件)中的本地坐标系(局部坐标)映射到全局坐标系 code review! 文章目录 qt-C语法笔记之mapToGlobal将组件(控件)中的本地坐标系(局部坐标)映射到…

C++核心day3作业

作业: 1.整理思维导图 2.整理课上代码 3.把课上类的三个练习题的构造函数写出来 函数全部类内声明,类外定义 定义一个矩形类Rec,包含私有属性length、width,包含公有成员方法: void set_length(int l); //设置长度v…

基于Spring Boot库存管理系统

文末获取源码和万字论文,制作不易,感谢点赞支持。 基于Spring Boot库存管理系统 当下,如果还依然使用纸质文档来记录并且管理相关信息,可能会出现很多问题,比如原始文件的丢失,因为采用纸质文档&#xff0c…

FPGA 17 ,FPGA 与 SR-IOV虚拟化技术,高性能计算与虚拟化技术的结合(FPGA 与 SR-IOV 和 PCI,高性能计算与虚拟化的完美融合)

目录 前言 一. SR-IOV 的起源与发展 1. SR-IOV 的起源与时间线 2. SR-IOV 的诞生原因 3. SR-IOV 的详细介绍 二. SR-IOV 和 PCI 之间的关系 三. PCI 的起源与演进 1. PCI 的起源与时间线 2. PCI 的关键特性 四. FPGA 的独特魅力 1. FPGA 的定义与特性 2. FPGA 的内…

【深度学习】深刻理解Masked Autoencoders(MAE)

Masked Autoencoders (MAE) 是近年来自监督学习领域中的一项重要创新,尤其在计算机视觉领域取得了显著进展。随着深度学习的快速发展,自监督学习逐渐成为了一种重要的无监督学习方法,它通过从数据中学习表示而不依赖人工标签,极大…

Oracle报错ORA-01653: 表xx无法通过 8192在表空间中扩展

向Oracle 19g数据库中批量插入数据,当插入近2亿条数据后,报出如下错误: ORA-01653: 表xx无法通过 8192 (在表空间 xx_data 中) 扩展 查看表空间,发现表空间大小已达到32G,表空间无法进行自动扩展了。(初始…

图的遍历(C++实现图【2】)

目录 1. 图的遍历 1.1 图的广度优先遍历 2.2 图的深度优先遍历 1. 图的遍历 给定一个图G和其中任意一个顶点v0,从v0出发,沿着图中各边访问图中的所有顶点,且每个顶点仅被遍历一次。"遍历"即对结点进行某种操作的意思。 1.1 图的广度…

群控系统服务端开发模式-应用开发-邮件发送工具类

一、邮件发送工具类开发 1、添加框架对应的SDK composer require phpmailer/phpmailer 2、添加工具集 在根目录下extend文件夹下创建Email文件夹&#xff0c;在Email文件夹下添加工具集控制并命名为EmailSender.php <?php /*** 邮件发送工具* User: 龙哥三年风水* Date: …

如何在vue中使用ECharts

一. 打开ECharts官网,点击快速入门 下面是ECharts官网的链接 https://echarts.apache.org/ 二.在vue中使用 1.首先先引入Echarts js文件 如下图&#xff0c;下面的第一张图片是官网的实现&#xff0c;第二章图片是我根据官网的实现 2.给ECharts 创建一个DOM容器 3. 使用ec…

Java版-图论-拓扑排序与有向无环图

拓扑排序 拓扑排序说明 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列…

Nginx安装和配置详解

1.Nginx的安装 1.1运行以下脚本安装 yum install yum-utils -y rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# 查看所有可安装nginx版本 yum --showduplicates list available nginx yum install nginx-1.24.0 -y …