Linux权限管理

目录

前言

1. Linux权限的概念

2. Linux权限管理

2.1 修改权限

 拓展

 2.2 修改拥有者

 2.3 修改所属组

 3. 文件类型

 3.1 file指令

4. 权限掩码

umask指令

 5.目录权限

 6. 粘滞位

总结


前言

        Linux作为一款开源操作系统,其权限管理机制是非常重要的一部分。熟练掌握Linux权限,可以帮助我们更好地管理文件和目录,保障系统的安全性和稳定性。

在这里插入图片描述

1. Linux权限的概念

Linux中分为两种用户:

  • 超级用户(root)
  • 普通用户

超级用户可以再Linux系统下做任何事情,不受限制 

普通用户在Linux下是受限制的,Linux权限的管理也就是对普通用户权限的管理

 比如:

用户test(普通用户)访问www(普通用户)的文件夹被拒绝访问

 root账户不受任何限制直接进入:

 所以root用户的密码非常重要,不要泄露!!

 命令:su +【用户名】

 功能:切换用户

从root用户切换到普通用户,则使用 su+user

从普通用户切换到root用户则使用 su+root(root可以省略)

 普通用户执行sudo -ls,在正常的情况下:

 没有设置权限的情况下无法执行

sudo + 指令 :以root身份运行

 执行显示test(用户)不再sudoers文件里

 解释:

sudoers文件相当于一个白名单,在名单里的用户才可以使用sudo

 注意:

sudoers文件拥有者是root(超级管理员)

普通用户无法访问修改

2. Linux权限管理

 文件访问者分类:

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

 使用 “ ls -l ”指令可以查看文件的详细信息

 这些信息都代表着什么意思?

 权限字符表示:

 进制数表示:

2.1 修改权限

 语法:chmod +【参数】 + 文件
 功能: 设置文件访问权限
 常用选项:

  •  字符修改

 比如:

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号: 

  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

去除拥有者的r权限

 

 增加拥有者可读可执行权限

 去除拥有者可执行权限,去除所属组可写权限,去除其他人可读权限

 

给所有人写权限:

  •   进制数修改权限

 3位进制数:

  1. 第1位代表拥有者权限
  2. 第2位是所属组权限
  3. 第3位是其他用户权限

 

 拓展

 上述的指令是对文件的权限进行修改,私下大家可以进行权限验证

Linux执行文件:

  • 有可执行权限
  • 是可执行文件

 注意:

当拥有者和和所属组一样,而拥有者没有可执行权限,拥有者将无法执行文件:

 当拥有者和和所属组一样时,权限判断时有优先次序,系统在判断时,拥有者没有可执行权限就直接禁止,不会再进行后续判断

如果是root账户,即使没有读写执行权限依然可以操作:

root之下没有权限

 2.2 修改拥有者

 语法:chown +【用户】 + 文件
 功能: 修改文件拥有者

 正常情况下,普通用户无法私自将自己所属文件修改为其他用户所属:

 需要以root身份执行:

其他用户使用sudo指令也可以修改

 2.3 修改所属组

  语法:chgrp +【用户组】 + 文件
  功能: 修改文件所属组

常用选项:

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

 同时修改拥有者和所属组:

 3. 文件类型

 Linux的文件类型不通过后缀区分(不代表Linux不用后缀)

常见文件类型:

  •  -开头: 普通文件,文本、源代码、图片、视频、库、可执行等
  • d开头: 目录文件
  • b开头: 块设备文件 ->磁盘
  • c开头: char,字符设备文件 ->键盘显示器
  • l开头: 链接文件
  • p开头: 管道文件
  • s开头: socket文件

 3.1 file指令

 功能:辨识文件类型。
 语法:file 【选项】 文件或目录...
 常用选项:

  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -z 尝试去解读压缩文件的内容

 比如:

4. 权限掩码

权限顶格写权限就是777(所有人都有rwx权限)

 那为什么每次创建目录默认权限不是777?每次创建的文件默认权限不是666?

 

这里就要引入权限掩码的概念了

umask指令

功能:查看或修改文件掩码

  •  查看权限掩码:
umask

 我的设备上的权限掩码是002

 我创建的文件默认权限是664

创建文件时:从起始权限中,去掉umask中出现的权限

 666二进制:110 110 110

 002二进制:000 000 010

 去除002:110 110 100 ->664

  • 修改权限掩码

语法:umask 【权限掩码】

 权限掩码是怎么去除的?

去除:不是二进制相减

 计算规则:
 起始权限& (~按位取反umask)=最终权限(默认)

 比如:

666:
110 110 110
000 000 011->按位取反:111 111 100

110 110 110
111 111 100 &
——————————
110 110 100 ->664


777:
111 111 111
111 111 100 &
——————————
111 111 100 ->774

 

 5.目录权限

     前边我们提到的例子都是对文件的限制,那权限对目录有什么影响呢?

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

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

  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

 注意:

 没有w(写)权限,仍然可以修改文件权限(可能有些版本操作系统里不允许),但不允许移动和修改文件名

 6. 粘滞位

  那么现在问题来了,只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不管这个用户是否有这个文件的写权限

 这样似乎很不复合常理,我的文件,凭什么你可以删?

 也就是说:

 一个文件能否被删除,并不取决于文件本身,取决于文件所在的目录,目录拥有者是否有w权限

 一般情况下普通用户无法进入到其他用户目录下,更无法创建文件

 如果不能将文件创建到其他用户的文件下,那用户之间如何进行数据交换呢?

 为了解决这个问题,Linux中有一个特殊的目录:

特殊目录(tmp,拥有者root)

 

来实现文件共享,other权限:rwx

 tmp目录允许所有用户将临时文件创建在该目录。

那么问题来了:

用户都有W权限,那都可以删除文件,那如何防止自己的文件被其他用户删除?

把所有的用户都去除w权限不行,因为去除other的w权限,其他用户无法删除的同时,也无法创建文件。

为了解决这个问题,Linux给其他用户新增一个权限:t(粘滞位)

 粘滞位:给目录中的other设置一个权限位,具有x的意义,同时也进一步对目录权限进行特殊限定:该目录里的文件,只有root和文件(或目录)的拥有者有权利进行删除。


总结

       掌握Linux权限管理,可以更好地管理文件和目录,提高系统的安全性和稳定性,上述的内容,大家可以私下实验一下,亲身体验才能更有感触。好了,以上便是本期全部内容。最后,感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新一轮SocialFi浪潮来袭,Atem Network 再次打响注意力争夺战

火爆如潮的 Atem Network 再次从 CyberConnect 以及 Friend.tech 手中接过 SocialFi 赛道的热度大棒,同时这也表明,协议层仍将是 Web3 社交领域的主要叙事。 前不久,Web3社交协议Atem Network 在白皮书中披露了ATEM的代币经济模型&#xff0c…

基础课4——客服中心管理者面临的挑战

客服管理者在当今的数字化时代也面临着许多挑战。以下是一些主要的挑战: 同行业竞争加剧:客服行业面临着来自同行业的竞争压力。为了获得竞争优势,企业需要不断提高自身的产品和服务质量,同时还需要不断降低成本、提高效率。然而…

2023.11.15使用bootstrap做一个简洁的注册页面

2023.11.15使用bootstrap做一个简洁的注册页面 设置密码必须大于等于6位,并且包含大写字母、小写字母、特殊字符或者数字中的三种。 关注:type"button"和type"submit"之间的区别: type"button"用于普通按钮&…

Vue修饰符(Vue事件修饰符、Vue按键修饰符)

目录 前言 Vue事件修饰符 列举较常用的事件修饰符 .stop .prevent .capture .once Vue按键修饰符 四个特殊键 获取某个键的按键修饰符 前言 本文介绍Vue修饰符,包括Vue事件修饰符以及按键修饰符 Vue事件修饰符 列举较常用的事件修饰符 .stop: …

基于Genio 700 (MT8390)芯片的AR智能眼镜方案

AR眼镜是一种具有前所未有发展机遇的设备,无论是显示效果、体积还是功能都有明显的提升。AR技术因其智能、实时、三维、多重交互和开放世界的特点备受关注。 AR眼镜集成了AR技术、语音识别、智能控制等多项高科技功能,可以帮助用户实现更加便捷、高效、个…

【C++面向对象】11. 数据抽象*

文章目录 【 1. 访问标签强制抽象 】【 2. 设计策略 】 数据抽象 是指只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于接口和实现分离的编程(设计)技术。数据抽象的好处&…

C# Socket通信从入门到精通(9)——如何设置本机Ip地址

前言: 我们开发好Socket通信程序以后,上机调试的时候,首先要做的就是先设置好电脑的IP,这样才能实现不同的电脑之间的通信,并且电脑1的ip地址和电脑2的Ip地址要同处于一个网段,比如电脑1的Ip地址为192.168…

【开发问题解决方法记录】01.dian

一些问题记录 新增角色失败:Error: Ajax 调用为Execute Server-Side Code返回了服务器错误ORA-01722: 无效数字。 【问题原因】:CREATE_BY(NUMBER类型)应该存入USER_ID(NUMBER类型)而非USER_NAME(NVARCHAR2类型) 【解决方法】将…

亚马逊收到CPSC查验通知后卖家需要怎么弄?ASTM F963标准测试 ,CPC认证

收到CPSC查验亚马逊卖家需要怎么做? 。CPSC消费品安全协会,成立于1972年,它的责任是保护广大消费者的利益,通过减少消费品存在的伤害及死亡的危险来维护人身及家庭安全。CPSC现在负责对超过15000种消费品的安全监控,具…

LTD251次升级 | 商机平台可筛选、浏览历史可查看 • 在线课程可秒杀购买 • 采购表单可实时计算价格与周期

1、 新增商机类型筛选及历史浏览功能; 2、 新增地址管理和物流公司管理功能; 3、 优化表单导出问题文件格式; 4、 可定制实时计算价格的表单; 5、 知识付费支持秒杀活动; 01 商机平台应用 在上次升级中,我…

Oneid 图计算思路

一、前文 oneid 是用户画像的核心,此文提供图计算的具体方案。 二、方案 注意事项: 1. 业务存在解绑信息,当不与其他业务系统产生关联时,沿用旧oneid。 2. oneid 需要自增,下游系统会用到bitmap等数据类型&#xff0…

vscode远程linux安装codelldb

在windows上使用vscode通过ssh远程连接linux进行c调试时,在线安装codelldb-x86_64-linux.vsix扩展插件失败,原因是linux服务器上的网络问题,所以需要进行手动安装。 首先在windows上下载: codelldb-x86_64-linux.vsix;…