0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux权限管理基础入门

马哥Linux运维 ? 来源:CSDN技术社区 ? 2025-05-06 13:44 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言

Linux的广阔天空中,权限管理犹如一只翱翔的雄鹰,掌控着系统的安全与秩序。掌握Linux权限,不仅能让你的系统管理更加得心应手,还能有效防止未授权访问和数据泄露。本文将带你深入探索Linux权限的奥秘,助你成为权限管理的高手。

一、Linux权限管理基础

1.1 权限的概念以及重要性

Linux系统是一个多用户操作系统,为了保护系统资源不被未授权的用户访问或破坏,引入了权限管理机制。权限管理确保系统资源的安全性和稳定性,防止未经授权的访问和修改。换言之,一件事是否允许被你做,这就叫权限。

1.2 不同用户类别的权限

1.2.1 用户的分类

在Linux中用户分为两类:

?超级用户(root):可以在Linux系统下做任何事情,不受限制。命令提示符为“#”。

?普通用户:在Linux系统下做有限的事情。命令提示符为“$”。

1.2.2 用户的切换

由于普通用户在进行操作时可能会受到权限的限制,所以这时候进行用户的切换说不定就可以操作成功。那普通用户和超级用户之间是如何切换的呢?

普通用户切超级用户

语法:su / su -

说明:让普通用户切换到超级用户,切换时会提示普通用户输入 root 的密码(tips : 密码输入时没有回显)。

6cfff2dc-2412-11f0-9310-92fbcf53809c.png6d097578-2412-11f0-9310-92fbcf53809c.png

超级用户切普通用户

语法:su [用户名]

说明:让 超级用户/普通用户 切换到普通用户,由于超级用户权限很高,所以不需要输入密码就可以切换,而普通用户切换就需要输入对方的密码。

6d62e3c4-2412-11f0-9310-92fbcf53809c.png

这里需要注意的是,我们使用su来切换用户,只是进行了身份切换,路径并没有变,如果想改变路径,我们可以使用su -(本质上是重新登陆了)。

切换用户就好比给自己套了一层衣服,一层一层叠buff。那如何脱掉衣服呢?我们可以使用exit或者Ctrl+D来退出。

6d712e7a-2412-11f0-9310-92fbcf53809c.png

1.2.3 sudo 指令

语法:sudo 指令X

功能:让普通用户通过sudo对指令X进行提权,以超级用户的身份去执行该命令。

那这个指令有点逆天,难道说我们普通人也能翻身有超能力了?并没有那么简单,我们在刚开始adduser的时候,并没有在白名单里,系统默认不相信我们。只有root把我们加到白名单里,我们才能用sudo进行提权。

如下图,hjz用户未被加入到sudoers file。

6d7c19de-2412-11f0-9310-92fbcf53809c.png

1.3 权限的表示方法

在linux中我们如何表示权限呢?其实很简单,只需要记住角色+属性即可。

我们可以通过 ls - l 指令来查看当前目录下的所有文件。

6d850256-2412-11f0-9310-92fbcf53809c.png

6d8daa8c-2412-11f0-9310-92fbcf53809c.png

1.3.1 Linux中的角色

在Linux中共分三个角色:

? 拥有者(u -- User):文件和文件目录所有者。

? 所属组(g -- Group):文件和文件目录所有者所在的组的用户。

? 其他人(o -- Others):其他用户。

6d97fe4c-2412-11f0-9310-92fbcf53809c.png

其中黄色框起来的是拥有者,紫色框起来的是所属组,其他人并未出现在属性中。当用户操作文件时,它会先看用户是不是拥有者,如果不是再看是不是所属组,如果都不是那就是其他人。

还有一个比较重要的一点,一次只能匹配一个角色。例如:

6da76be8-2412-11f0-9310-92fbcf53809c.png

此时我们拥有者是没有写权限的,但是所属组有,那我们可不可以写文件呢?答案是不能,因为一次智能匹配一个角色,我们root匹配上了拥有者。(这里由于我拿root来演示,所以还会写进去,普通用户是做不到的)

1.3.2 文件类型

6db0e07e-2412-11f0-9310-92fbcf53809c.png

如图所示,蓝色框起来的部分就是代表着文件的类型,其中文件类型分为以下几种:

?-:普通文件

?d:文件夹

?l:软链接(类似Windows的快捷方式)

?b:块设备文件(例如硬盘、光驱等)

?p:管道文件

?c:字符设备文件(例如屏幕等串口设备)

?s:套接口文件

1.3.3 基本权限

6e70edc4-2412-11f0-9310-92fbcf53809c.png

主播主播,有没有能代表文件的基本权限的字符推荐一下?有的兄弟有的,像这样的字符一共有九位。如图所示,红色框起来的九个字符代表着文件的基本权限。

前三位代表着拥有者的权限、中间三位代表所属组的权限,后三位代表其他人的权限。

每三位都分别由r、w、x来控制,如果有该权限就标记为该字母,否则标记为-。

?r(读/4):Read,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。

?w(写/2):Write,对文件而言,具有修改文件内容的权限;对目录来说,具有删除或移动目录内文件的权限。

?x(执行/1):Execute,对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。

?-:表示不具有该项权限。

二、权限的修改

首先声明一点,只有文件拥有者和超级用户才可以修改文件权限。

2.1 chmod 指令

语法:chmod [参数] 权限 文件名

功能:设置文件的访问权限。

常用选项

-r:递归修改目录文件的权限。

6e821c20-2412-11f0-9310-92fbcf53809c.png

其中u代表拥有者、g代表所属组、o代表其他人,通过+、-来增减。一次性可以修改多个权限。

这里要介绍另一个表示权限的方法——八进制数值表示法。

2.1.1 八进制数值表示法

? 每个权限位(读、写、执行)可以用一个八进制数字来表示:

? 读(r):4

? 写(w):2

? 执行(x):1

? 空(-):0

? 例如,权限rwxr-xr--可以表示为八进制数值754(rwx:4+2+1=7、r-x:4+0+1=5、r--:4+0+0=4)。

所以我们命令操作也可以这么写:chmod [想改成的八进制数值] 文件

6e8d2962-2412-11f0-9310-92fbcf53809c.png

2.2 chown 指令

语法:chown [参数] 用户名 文件名

功能:修改文件的拥有者。

实例

chown hjz hello.txt:将文件hello.txt的拥有者改为hjz。

6e986304-2412-11f0-9310-92fbcf53809c.png

2.2 chgrp 指令

语法:chgrp [参数] 用户组名 文件名

功能:修改文件或目录的所属组。

实例

chgrp hjz hello.txt:将文件hello.txt的所属组改为hjz。

6ea1d9a2-2412-11f0-9310-92fbcf53809c.png

2.3 umask 指令

我们在创建一个新的文件或目录的时候有没有初始默认权限呢?先给出答案,是有的,并且:

? 默认给普通文件的起始权限是666。

? 默认给目录的起始权限是777。

6edd15da-2412-11f0-9310-92fbcf53809c.png

我们创建了一个文件和目录,但发现并不是666和777,而是644和755,这是为什么呢?这就要提出一个叫权限掩码的东西了。

2.3.1 权限掩码

首先如何查看权限掩码?通过umask指令。

语法:umask 权限值

功能:查看或修改权限掩码。如果没输入权限值就是查看当前掩码。

6f04439e-2412-11f0-9310-92fbcf53809c.png

从图中我们可以看到我的权限掩码是022(第一个0代表是八进制)。可这又和那个有什么关系呢,也不一样啊。别着急,我们慢慢分析。

2.3.2 如何获得最终权限

首先我们输入umask获得权限掩码,然后再通过公式最终权限 = 初始权限 & (~权限掩码)

拿我的举例

6f291566-2412-11f0-9310-92fbcf53809c.png

三、目录的权限以及粘滞位

3.1 目录的权限

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

?可读权限(r):如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容。

?可写权限(w):如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。

有了上面的说明,我们首先要知道,文件的删除并不是由文件本身决定,而是它所在的目录决定。

当我们在创建一个新用户时,系统会在/home自动创建一个用户的家目录。

6f339946-2412-11f0-9310-92fbcf53809c.png

我们可以观察到这个目录对others的权限是0,这说明其他人不可以进入我的家目录,更不可能增删查改文件。

我们有时需要进行多个用户之间的文件数据共享,这个时候就需要超级用户在根目录下创建一个共享的文件,并且把其他人的权限改为7,保证普通用户可以进入目录,并且可以查看和创建文件。

但是问题来了,如果有内鬼怎么办,别忘了能创建就可以删除啊。就比如wow辛辛苦苦写的文件,cyy不想干了,把文件删了。这种情况该怎么办呢,删除和创建查看绑在一起了,这个时候粘滞位就派上作用了。

3.2 粘滞位

如何使用粘滞位呢?很简单,只需要chmod +t 即可。

语法:chmod +t

功能:使该目录下的文件只能由超级管理员、该目录的所有者或该文件的所有者删除。

实例

我们根目录下系统自带了一个tmp目录供我们实现多用户文件数据共享操作。

6f3e2bb8-2412-11f0-9310-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11522

    浏览量

    214291
  • 命令
    +关注

    关注

    5

    文章

    742

    浏览量

    22937
  • 权限管理
    +关注

    关注

    0

    文章

    16

    浏览量

    9130

原文标题:【Linux】掌权如鹰:Linux权限天空的翱翔秘籍

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式Linux入门(二、Linux文件系统、文件类型及权限管理

    嵌入式 Linux入 门第二课, linux 文件系统、文件类型及权限管理。 ...... 矜辰所致
    的头像 发表于 06-20 11:44 ?2853次阅读
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>入门</b>(二、<b class='flag-5'>Linux</b>文件系统、文件类型及<b class='flag-5'>权限</b><b class='flag-5'>管理</b>)

    Linux学习杂谈】之文件权限管理

    本帖最后由 michael_llh 于 2016-8-8 22:52 编辑 文件权限:故名思议就是我们使用操作一个文件的权限,在windows底下我们如果删除系统文件的时候就会提示你没有管理
    发表于 08-08 22:50

    linux的三种权限管理

    2018-07-30 linux 权限管理及其他命令
    发表于 05-10 10:09

    Linux 中文件权限管理的探讨

    Linux 是一种多用户的操作系统,其文件权限管理在文件管理中占有重要的地位。为了更好地把握Linux 的文件
    发表于 06-11 09:37 ?11次下载

    Windows下linux权限管理问题解析

    在Windows下,可以通过鼠标右击文件,在属性栏查看文件的权限Linux下的文件“哲学”是否与Windows相同呢?我们从以下几点分析。
    的头像 发表于 06-27 17:24 ?7066次阅读
    Windows下<b class='flag-5'>linux</b><b class='flag-5'>权限</b><b class='flag-5'>管理</b>问题解析

    浅谈Linux权限管理的ACL权限

    Linux权限管理Linux很重要的一项内容,重则引起用户信息泄露,轻则导致文件错乱和丢失。企业服务器里有些目录下面的东西暂时保密,不希望别人可以进入目录并查看。有些文件希望别人可以
    的头像 发表于 08-18 11:13 ?9270次阅读

    Linux里面如何理解和管理他们的读、写、执行权限

    LinuxWindows 一切皆是文件是Unix/Linux的基本哲学之一,目录、字符设备、块设备、套接字等在Unix/Linux都是以文件的形式存在。面对众多的文件,如何理解和管理他们的读、写
    发表于 09-22 00:55 ?718次阅读

    Linux进程权限的分析说明

     在linux下,关于文件权限,大部分人接触比较多,也比较熟悉了解。但是对进程权限一般知之甚少。本文总结一下linux系统下进程权限问题和现
    发表于 07-17 10:55 ?996次阅读

    Linux基础的用户权限

    sudo是一种权限管理机制,其权限管理记录在/etc/sudoers文件中,约定普通用户可以以管理员的身份执行命令。
    的头像 发表于 02-15 11:08 ?997次阅读

    linux文件访问权限怎么设置

    Linux 文件访问权限是操作系统中一个非常重要的概念。正确地设置文件访问权限可以保护系统的安全性,防止未经授权的人员对文件进行修改、删除或执行。本文将详细介绍 Linux 文件访问
    的头像 发表于 11-23 10:20 ?2183次阅读

    Linux把目录权限给指定用户

    Linux是一个开放源代码的操作系统,它基于Unix的设计原则,提供了丰富的权限管理功能,允许用户对系统中的文件和目录进行精确的控制。在Linux中,每个文件和目录都有相应的
    的头像 发表于 11-23 10:30 ?9456次阅读

    搞懂Linux权限管理,提升系统安全性与稳定性

    目录 权限管理 4.1 linux安全上下文 4.2 特殊权限 2.1 修改权限的命令chmod 2.2 修改文件属主和属组的命令chown
    的头像 发表于 11-22 10:31 ?719次阅读
    搞懂<b class='flag-5'>Linux</b><b class='flag-5'>权限</b><b class='flag-5'>管理</b>,提升系统安全性与稳定性

    linux权限管理详解

    权限:在计算机系统中,权限是指某个计算机用户具有使用软件资源的权利。
    的头像 发表于 12-25 09:43 ?652次阅读

    Linux权限管理解析

    权限指的是某一个用户针对某一个文件的权限(root超级管理员拥有全部权限)
    的头像 发表于 04-09 10:06 ?356次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>权限</b><b class='flag-5'>管理</b>解析

    Linux权限体系解析

    你真的了解Linux权限吗?大多数人只知道rwx,但Linux权限体系远比你想象的复杂和强大。今天我们深入探讨Linux的12位
    的头像 发表于 07-23 16:57 ?216次阅读