iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >【Linux】- 权限管理
  • 736
分享到

【Linux】- 权限管理

linux服务器 2023-09-13 08:09:34 736人浏览 独家记忆
摘要

linux权限管理 1、Shell命令以及运行原理2、权限2.1用户2.2 对角色和文件操作2.3 Linux下文件的权限2.4权限的表示2.4.1 字符表示法2.4.2 8进制数字表示法

linux权限管理

root用户就是上帝
权限就是用来限制普通用户的,权限对root用户没有用。

1、shell命令以及运行原理

为什么会有Shell外壳?

  • 因为我们一般人是看不懂操作系统内部结构的,而且直接在操作系统上操作很容易发生错误
    Shell外壳就像一个翻译

在这里插入图片描述

如果直接让用户与操作系统内核沟通,那么用户就必须熟悉操作系统,这样学习成本太高也不安全,所以 Linux 设立 shell 作为媒介中间人给操作系统传达用户的指令。
shell 的定义就是命令行解释器

  • 用于将使用者的命令翻译给操作系统核心处理
  • 再将核心的处理结果翻译给用户。

对比windows ,我们操作windows 不是直接操作Windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

Shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

2、权限

2.1用户

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:(只有一个)可以再linux系统下做任何事情,不受权限约束
  • 普通用户:(可以有多个)在linux下做有限的事情。

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令: su [用户名]
功能:切换用户。
例如

  • 要从root用户切换到普通用户user,则使用 su user,是不需要密码的
  • 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码
    在这里插入图片描述
    想再切回去,就直接Ctrl + d / loGout 也就是退出。
    在这里插入图片描述
  • 要从普通用户user1切换到另一个普通用户user2,则使用 su user2,是需要输入user2用户的密码

2.2 对角色和文件操作

不是 VIP 就不能看会员电影,是对角色进行约束。
书是不能吃的,有些事物是不具备某些属性的。

权限描述的就是人和事物属性的关系

  • 文件访问者的就是人
  • 文件类型及访问权限就是事物属性

2.3 Linux下文件的权限

Linux下的"人"可以分为:

  • 拥有者:文件属于谁
  • 所属组:文件属于哪一个组
  • other: 不属于上面的任何一种

在这里插入图片描述

在这里插入图片描述

第一个字符代表文件的类型

  • “d” 代表文件夹
  • “-” 代表普通文件
  • “p” 代表管道文件
  • “c” 代表硬件字符设备(如:键盘显示器)
  • “b” 代表硬件块设备(如:磁盘设备)
  • “s” 表示管道文件
  • “l” 代表软链接文件(像Windows系统中的桌面快捷文件)

在Linux下,不以文件后缀来区分文件类型(你可以使用给自己看,在系统层面没有意义)。

文件属性的剩下九列,三三为一组,分别代表的是文件拥有者所属组其他人对文件的权限。
基本权限

  • 读权限(r) :对于文件,具有读取文件内容的权限;对于目录,具有浏览目录的权限。
  • 写权限(w) :对于文件,具有修改文件内容的权限;对于目录,具有删除、移动目录内文件的权限。
  • 可执行权限(x):对于文件,具有执行文件的权限;对于目录,该用户具有进入目录的权限。
  • "-"表示不具有该项权限

2.4权限的表示

2.4.1 字符表示法

Linux表示说明Linux表示说明
r--只读-w-只写
--x可执行rw-可读可写
r-x可读可执行-wx可写可执行
rwx可读可写可执行---无任何权限

2.4.2 8进制数字表示法

由于权限字符的位置是固定的,去掉首位,三三为一组,位置确定,有无权限可以用1和0 表示,所以权限也可以用二进制或八进制表示

权限符号二进制八进制
r1004
w0102
x0011
r--1004
-w-0102
--x0011
rw-1106
r-x1015
rwx1117
-wx0113
---0000

3 修改权限

修改文件的权限分为两种,一是修改文件的读写执行属性,二是修改文件的拥有者和所属组

3.1修改文件的读写执行属性

  • chmod

功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名
常用选项

  • R -> 递归修改目录文件的权限
    说明:只有文件的拥有者root才可以改变文件的权限

3.1.1 用户表示符 +/- 权限字符

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

将test文件所有人的全部权限都去掉

[test@VM-8-15-Centos ~]$ ll drwxrwxr-x 2 test test 4096 Aug 31 21:28 test [test@VM-8-15-centos ~]$ chmod u-r test[test@VM-8-15-centos ~]$ chmod u-w test [test@VM-8-15-centos ~]$ chmod u-x test [test@VM-8-15-centos ~]$ chmod g-r test [test@VM-8-15-centos ~]$ chmod g-w test [test@VM-8-15-centos ~]$ chmod g-x test[test@VM-8-15-centos ~]$ chmod o-r test [test@VM-8-15-centos ~]$ chmod o-x test [test@VM-8-15-centos ~]$ ll d--------- 2 test test 4096 Aug 31 21:28 test

将test文件所有人的权限都去掉

[test@VM-8-15-centos ~]$ chmod u+rwx,g+rwx,o+rwx test  [test@VM-8-15-centos ~]$ ll drwxrwxrwx 2 test test 4096 Aug 31 21:28 test 

或者

[test@VM-8-15-centos ~]$ lldrwxrwxrwx 2 test test 4096 Aug 31 21:28 test[test@VM-8-15-centos ~]$ chmod a-rwx test  #所有用户的全部权限都去掉[test@VM-8-15-centos ~]$ lld--------- 2 test test 4096 Aug 31 21:28 test[test@VM-8-15-centos ~]$ chmod a+rwx test #将所有用户的全部权限都加上[test@VM-8-15-centos ~]$ lldrwxrwxrwx 2 test test 4096 Aug 31 21:28 test

3.1.2 八进制方案修改权限

在前面已经说过,八进制数字也能够表示访问者的权限,两种方式都是等价的
实例:

[test@VM-8-15-centos ~]$ chmod 777 test  #所有用户的全部权限都加上[test@VM-8-15-centos ~]$ lldrwxrwxrwx 2 test test 4096 Aug 31 21:28 test[test@VM-8-15-centos ~]$ chmod 000 test #所有用户的全部权限都去掉[test@VM-8-15-centos ~]$ lld--------- 2 test test 4096 Aug 31 21:28 test[test@VM-8-15-centos ~]$ chmod 666 test  #所有用户的读写权限都加上[test@VM-8-15-centos ~]$ lldrw-rw-rw- 2 test test 4096 Aug 31 21:28 test

3.2 修改文件的拥有者和所属组

  • chown

功能:修改文件的拥有者
格式: chown [参数] 用户名 文件名
chgrp
功能:修改文件或目录的所属组
格式: chgrp [参数] 用户组名 文件名
常用选项

  • -R 递归修改文件或目录的所属组

实例

bak.txt文件给 dxl 用户

[test@VM-8-15-centos ~]$ chown dxl bak.txtchown: changing ownership of ‘bak.txt’: Operation not permitted

因为testdxl 这两个都是普通用户,所以不能直接修改
我们换成root用户,强制修改文件拥有者

[test@VM-8-15-centos ~]$ su            #切换成rootPassWord: [root@VM-8-15-centos test]# whoamiroot[root@VM-8-15-centos test]# chown dxl bak.txt  #修改文件的拥有者[root@VM-8-15-centos test]# ll--w-rw-r-- 1 dxl  test   11 Aug 27 17:23 bak.txt[root@VM-8-15-centos test]# chgrp dxl bak.txt  #修改文件的所属组[root@VM-8-15-centos test]# ll--w-rw-r-- 1 dxl  dxl    11 Aug 27 17:23 bak.txt

把文件的拥有者和所属组改回来

[test@VM-8-15-centos ~]$ ll--w-rw-r-- 1 dxl  dxl    11 Aug 27 17:23 bak.txt[test@VM-8-15-centos ~]$ suPassword: [root@VM-8-15-centos test]# chown test:test bak.txt[root@VM-8-15-centos test]# ll--w-rw-r-- 1 test test   11 Aug 27 17:23 bak.txt
  • sudo

功能:短暂提升到 root 权限,使后面的语句以root的身份执行,一般10-15分钟内有效
格式:sudo 语句
只需要输入你的普通用户的密码即可
想要执行sudo语句,该用户必须在root的信任列表里

  • 添加到信任列表

root用户下,命令行输入

vim /etc/sudoers

然后往下面找,找到一个%wheel ALL=(ALL) ALL就可。
在这里插入图片描述
插入你的用户,强制保存并提出,你的用户就添加到了信任列表。

问:为什么在Linux里面没有命令把人改成other呢?
:因为other是不确定的,不具体的;把拥有者和所属组改了以后other也就改了。所以不需要命令来修改other。

3.3目录权限

3.3.1 目录权限的理解

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

在这里插入图片描述
有人就要问了:这个用户在文件的所属组中,为什么进不去了呢?
因为权限只会被认定一次,首先判定你是不是文件拥有者。如果是,那么就会认定你是拥有者,不会去再判定你是不是所属组了;如果你不是拥有者,才会去看你是不是所属组。

3.3.2 权限掩码 umask

在Linux中默认:

  • 一个目录被创建,起始权限是:777
  • 一个普通文件被创建,起始权限是:666

但是我们新创建的目录和文件权限也不是 777 和 666 啊
在这里插入图片描述
这是因为创建文件或目录时还要受权限掩码umask的影响

  • umask

功能: 查看或修改文件掩码
格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限

[test@VM-8-15-centos test1]$ umask  # 普通用户默认为00020002
[root@VM-8-15-centos ~]# umask  #超级用户默认掩码值为00220022

凡是在umask中出现的权限,都不应该在最终权限中出现 – 不是减法
最终权限 = 起始权限 & ~umask
在这里插入图片描述

umask还可以修改,但只是在本次登录有效

[test@VM-8-15-centos test1]$ umask 0777[test@VM-8-15-centos test1]$ touch file[test@VM-8-15-centos test1]$ mkdir dir[test@VM-8-15-centos test1]$ lld--------- 2 test test 4096 Sep 10 16:40 dir---------- 1 test test    0 Sep 10 16:40 file[test@VM-8-15-centos test1]$ umask0777

3.4 粘滞位

如果在一个团队中,要在一个用户目录下工作,但是创建的目录可以被其他用户删除,不论该用户是否具有文件的写权限。
在这里插入图片描述
可以删除不能写的文件(我虽然不能往文件里写内容,但是我可以删文件)
这是不合理的,我创建的一个文件,别人不能写入内容竟然可以删掉。

针对这样的问题Linux引入了粘滞位
允许other在目录下创建文件,所以目录对other要有w权限,只允许other删除自己的文件,不能删除公共的目录,所以需要对目录增加限制,加粘滞位。

首先:粘滞位是针对目录的,对文件无效。
设置方法:chmod +t 目录
在这里插入图片描述
在这里插入图片描述

当一个目录被设置为粘滞位,则该目录下的文件只能由:
一:root 用户删除。
二:该目录的所有者删除。
三:该文件的所有者删除。

误区
在这里插入图片描述
这里,我 root 创建了一个目录,然后设置了一个粘滞位的选项,其他用户还能把这个目录删了
这是因为目录里面没有创建文件

如果说你root用户,创建了一个目录,然后设置了一个粘滞位的选项,并且root用户你在当前这个目录下创建了你自己的一个文件,然后其他的普通用户不能删除掉这个目录的,要不然就说存在了上面所说的情况,文件我干不了,我直接把目录给他干掉,那这个粘滞位的一个意义,就不存在了。

来源地址:https://blog.csdn.net/qq_54880517/article/details/126628648

--结束END--

本文标题: 【Linux】- 权限管理

本文链接: https://www.lsjlt.com/news/405587.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Linux】权限管理
    文章目录 1. shell命令以及运行原理2. Linux权限的概念3. Linux权限管理3.1 文件访问者的分类3.2 文件类型和访问权限文件类型file指令文件权限 4. 文件...
    99+
    2023-09-04
    linux windows 服务器
  • 【Linux】- 权限管理
    Linux权限管理 1、Shell命令以及运行原理2、权限2.1用户2.2 对角色和文件操作2.3 Linux下文件的权限2.4权限的表示2.4.1 字符表示法2.4.2 8进制数字表示法 ...
    99+
    2023-09-13
    linux 服务器
  • Linux有哪些权限管理
    本篇内容主要讲解“Linux有哪些权限管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux有哪些权限管理”吧!文件及目录的权限管理上篇简单介绍了下文件和目录的一些简单的操作,接下来介绍用...
    99+
    2023-06-13
  • linux Centos7账号和权限管理
    目录 介绍 实验目的: 了解常见的账号配置文件 学会管理用户账号、组账号 学会设置目录或文件的权限 学会设置目录或文件的归属  实验内容: 1.了解账号文件,显示用户账号信息: 2.显示新用户账号信息: 3.了解保存密码字串、密码有效期等信...
    99+
    2023-09-23
    linux 服务器
  • Linux下的权限管理怎么理解
    Linux下的权限管理怎么理解,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Linux下一个文件一经创建,就具有三种访问方式1.读,可以显示该文件的内容2.写,...
    99+
    2023-06-28
  • Linux 文件权限管理的方法
    导读在Linux系统下,使用权限来保护资源的安全将是一种不错的选择。系统中每个文件的权限都有可读(r)、可写(w)和可执行(x)这三种权限,它们分别对应权限数值4、2 和1。系统为每个文件和目录都设有默认的权限,每个文件中可分有拥有者(u)...
    99+
    2023-06-05
  • Linux权限管理方法是什么
    本篇内容主要讲解“Linux权限管理方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux权限管理方法是什么”吧!1.文件权限的概述文件的类型不同,权限就有所不同,虽然每个文件的权限...
    99+
    2023-06-28
  • linux权限管理的相关命令
    这篇文章主要介绍“linux权限管理的相关命令”,在日常操作中,相信很多人在linux权限管理的相关命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux权限管理的相关命令”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-05
  • linux用户组和权限怎么管理
    在Linux系统中,用户组和权限是通过一系列命令和配置文件来管理的。下面是一些常用的管理用户组和权限的方法:1. 创建和删除用户组:...
    99+
    2023-08-16
    linux
  • 【GP】postgrepsql权限管理
    权限控制文件pg_hba.conf  [gpadmin@dw-greeplum-1 gpseg-1]$ more pg_hba.conf  格式如下 # loc...
    99+
    2024-04-02
  • 如何进行Linux用户权限管理
    本篇文章给大家分享的是有关如何进行Linux用户权限管理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在一个Linux系统中有很多人同时进行开发,所有合理的管理Linux用户是...
    99+
    2023-06-28
  • Linux权限管理的方法有哪些
    这篇文章主要讲解了“Linux权限管理的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux权限管理的方法有哪些”吧!权限入门1. 文件属性如果你刚听到 文件属性 这几个字眼感...
    99+
    2023-06-15
  • linux 权限管理命令脚本解析
    目录权限管理命令权限的查看及含义权限修改数字权限用户操作添加用户修改文件所有者修改所属组ACL操作ACL基本命令权限管理命令 权限的查看及含义 可以使用ls -l来查看每个文件或目录的权限,一共有十位 ls -ls --...
    99+
    2023-09-20
    linux 权限管理命令 linux 命令脚本解析
  • linux如何获取管理员权限命令
    在Linux中,可以使用以下几个命令来获取管理员权限:1. 使用sudo命令:sudo命令可以临时提升当前用户的权限,执行需要管理员...
    99+
    2023-08-31
    linux
  • linux终端怎么获取管理员权限
    在Linux终端中,可以通过以下几种方式获取管理员权限:1. 使用`sudo`命令:`sudo`命令可以临时地以管理员身份运行指定的...
    99+
    2023-09-05
    linux
  • Oracle权限管理详解
    Oracle 权限  权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级、System 系统级、Role 角色级。这些权限可以授予给用户、特殊用户...
    99+
    2024-04-02
  • MySQL权限管理简介
    本篇内容主要讲解“MySQL权限管理简介”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL权限管理简介”吧!一、MySQL权限简介  &nb...
    99+
    2024-04-02
  • Linux权限的理解
    主要分为两类讲解:1.对人操作 2.对角色和文件操作 目录 Linux权限管理 文件类型和访问权限(事物属性) 基本权限 文件访问者的分类 文件权限值的表示方法 文件访问权限的设置方法 目录权限 umask 粘滞位 1.对人: Lin...
    99+
    2023-09-03
    linux 运维 服务器
  • linux如何用管理员权限安装文件
    要以管理员权限安装文件,可以使用以下几种方法之一:1. 使用sudo命令:在终端中输入`sudo `,其中``为安装文件的命令。例如...
    99+
    2023-08-16
    linux
  • 【Linux】Linux下权限的理解
    前言:在之前我们已经对基本的指令进行了深入的学习,接下来我将带领大家学习的是关于权限的相关问题。在之前,我们一直是使用的【root】用户,即为“超级用户”,通过对权限的学习之后,我们就会慢慢的切换到普通用户模式下去进行操作。 本文目录 ...
    99+
    2023-09-01
    linux 运维 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作