Linux权限理解

目录

一.权限的概念

二.Linux权限管理

1.文件访问者的分类(人)

2.文件类型和访问权限(事物属性)

3.文件权限值的表示方法

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

5.修改文件的拥有者

6.修改文件所属组

7.查看或修改文件权限掩码

8.目录的权限

9.粘滞位


一.权限的概念

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

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名]

功能:切换用户

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

命令:adduser [用户名]

功能:添加用户

命令:userdel -r [用户名]

功能:删除用户

注意:我们在输入密码时是不显示的;创建用户删除用户都需要root的身份。

二.Linux权限管理

1.文件访问者的分类(人)

Linux中一切皆文件,对于一个文件,按照文件访问者的来分类,有三种情况:

  • 文件和文件目录的所有者:u---User   (拥有者)

        拥有者很好理解,就是拥有这个文件的人

  • 其它用户:o---Others   (其他人)

        其他人也很容易理解,就是外来的访问者

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

        所属组与我们日常生活中的小组类似,将多人添加到同一个小组,可以方便权限的分配,即方便管理。对于小组外的成员,是没有权限访问所属组的文件的。

注意:Linux中没有对other的标注位,因为如果一个访问者既不属于拥有者,也不属于所属组,那他相对这个文件就是other。root用户对于所有文件都拥有最高权限,即便root用户对于某个文件为other角色。

2.文件类型和访问权限(事物属性)

注意:Linux不是以文件的后缀来区分文件类型的,而是通过属性的第一个字符来区分的。

文件类型

        d:目录文件

        -:普通文件

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

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

        p:管道文件

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

        s:套接口文件

图示如下:

基本权限

r  :读(浏览)

w :写(修改)

x  :可执行

-   :表示不具有该项权限

3.文件权限值的表示方法

a)字符表示方法

        Linux表示说明
        r--只读

        -w-

仅可写
        --x仅可执行
        rw-可读可写
        -wx可写可执行
        r-x可读可执行
        rwx可读可写可执行
        ---无任何权限

b)8进制数值表示方法

用二进制表示权限:即有对应权限为1,无对应权限为0,对应了八进制中的0到7.

权限符号二进制八进制
        r--1004

        -w-

0102
        --x0011
        rw-1106
        -wx0113
        r-x1015
        rwx1117
        ---0000

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

chmod

格式:chmod [参数] 权限 文件名

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

常用选项:

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

说明:只有文件的拥有者和root才可以改变文件的权限

chmod 命令权限值的格式:

①用户表示符+/-=权限字符

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

示例:

减去拥有者的读权限:chmod u-r 文件名

减去所属组其它用户的写权限:chmod g-w,o-w 文件名

给所有用户所有权限:chmod u+rwx,g+rwx,o+rwx 文件名

注意:root用户不受权限约束

即便root对于file.txt属于others,没有写权限,但仍能进行操作。

②三位8进制数字

有了上面的表格 ,我们不难看出每一种权限状态都能对应一种八进制数字且最高为7,所以chmod也可以用8进制数字来更改权限。

示例:

去掉所有人的所有权限:chmod 000 文件名

添加指定权限:

统一修改权限:chmod a=* 文件名

5.修改文件的拥有者

chown

格式:chown [参数] 用户名 文件名

功能:修改文件的拥有者

注意:chown 是一个管理命令,因此您需要是 root 或具有 sudo 权限才能使用 chown 命令进行更改。

如果不是root或没有sudo权限

正确示例:

6.修改文件所属组

chgrp

格式: chgrp [参数] 用户组名 文件名

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

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

注意:对于一般用户,如果文件的拥有者是自己,所属组是别人,可以将所属组改为自己不需要他人同意,但改为别人则需要同意。

附:如何创建一个组

  • 增加用户:useradd -d /usr/username -m username
  • 为用户增加密码:passwd username
  • 新建工作组:groupadd groupname
  • 将用户添加进工作组:usermod -G groupname username
  • 删除用户:userdel username
  • 查看小组成员 : cat /etc/group | grep groupname

注意:创建完组后要把所有登录状态退出之后,重新登录后才可以正常访问组内文件。

7.查看或修改文件权限掩码

umask

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

新建文件夹默认权限=0666,新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是umask,则实际创建的出来的文件权限是:mask & ~umask。

本别用root和普通用户创建一个目录文件和一个txt文件,我们发现:

普通用户创建的目录文件权限值为775,txt文件权限值为334

root创建的目录文件权限值为755,txt文件权限值为344

之所以出现这样的结果,是因为普通用户和root用户的权限掩码不一致

注意:权限掩码往往只有后三位起作用,第一位是0.

下附普通用户创建目录文件的计算过程

8.目录的权限

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

9.粘滞位

通过对文件和目录权限的学习,我们不难发现一个问题,如果一个人有目录的w权限,但没有其中文件的w权限,但仍可以删除这个文件,这是不合理的。

所以为了解决这个不科学的问题,Linux引入了粘滞位的概念.

总结:当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

  • 一、超级管理员root删除
  • 二、该目录的所有者删除
  • 三、该文件的所有者删除

可以使用ls -ld /tmp 来查看当前目录是否有粘滞位。

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

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

相关文章

vue3+Vite项目中引入Element plus组件库及基本使用步骤

一、Element Plus组件库介绍 Element Plus组件库饿了么团队为Vue3发布的组件库,它含有丰富的样式,该组件的官网:element-plus。 二、Element Plus组件安装 (1)通过vscode打开创建的vue项目,本文的项目名称为“shop-admin”,打开项…

【CT】LeetCode手撕—415. 字符串相加

目录 题目1- 思路2- 实现⭐415. 字符串相加——题解思路 3- ACM 实现 题目 原题连接:415. 字符串相加 1- 思路 模式识别:字符串相加 逆向遍历过程模拟 数据结构 ① String res :记录res 、② carry 记录进位值① 定义两个整数遍历 nums1 …

51单片机宏定义的例子

代码 demo.c #include "hardware.h"void delay() {volatile unsigned int n;for(n 0; n < 50000; n); }int main(void) {IO_init();while(1){PINSET(LED);delay();PINCLR(LED);delay();}return 0; }cfg.h #ifndef _CFG_H_ #define _CFG_H_// #define F_CPU …

生成模型的两大代表:VAE和GAN

生成模型 给定数据集&#xff0c;希望生成模型产生与训练集同分布的新样本。对于训练数据服从\(p_{data}(x)\)&#xff1b;对于产生样本服从\(p_{model}(x)\)。希望学到一个模型\(p_{model}(x)\)与\(p_{data}(x)\)尽可能接近。 这也是无监督学习中的一个核心问题——密度估计…

python根据excel的文件创建文件夹

这几天要整理一点文档&#xff0c;需要批量生成一些文件夹&#xff0c;&#xff08;其实也可以进一步自动生成各种文档&#xff09;&#xff0c;用到了py的功能&#xff0c;在此记录一下。 1.准备工作 需要两个库支持openpyxl和os 安装 pip install openpyxl2.代码思路 打算…

AI穿戴设备是未来手机的终结者?中国AI商业化的未来预测

AI技术的发展正处于商业化应用的关键阶段&#xff0c;而中国在互联网时代已凭借商业化应用逆袭。AI算法大模型虽强大&#xff0c;但真正普惠民众需与设备深度结合。穿戴式智能设备就成为了新战场&#xff0c;AI算法与穿戴设备结合能释放更大工作效率。私人助理AI将成趋势&#…

锐捷统一上网行为管理与审计系统 static_convert.php 前台RCE漏洞复现

0x01 产品简介 锐捷统一上网行为管理与审计RG-UAC系列是星网锐捷网络有限公司自主研发的上网行为管理与审计产品,具备的上网行为日志审计功能,能够全面、准确、细致的审计并记录多种上网行为日志,包括网页、搜索、外发文件、邮件、论坛、IM等等,并对日志数据进行统计分析,…

gstreamer+qt5实现简易视频播放器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装环境1.QT52.gstreamer 二、代码1.Windows实现 三、测试效果总结 前言 最近在研究mpp&#xff0c;通过gstreamer实现了硬解码&#xff0c;但是我在想我…

ROS实验课(三)

write in advance 此次实验课给我的生活来了沉重的一击&#xff0c;不单单是因为没有做出来&#xff0c;还因为我卡在了 插件 缺失 而无法解决。之前对待实验课&#xff0c;能在操作流程之外有暇思考具体的实现&#xff0c;此次只能记录简单的操作流程部分。 老规矩&#xff…

小米手机怎么用代理换ip:步骤详解与实用指南

在数字化时代&#xff0c;网络安全与隐私保护日益受到重视。对于小米手机用户而言&#xff0c;使用代理换IP已成为提升网络安全性、访问特定网站或绕过地域限制的有效手段。本文将详细介绍如何在小米手机上设置代理以更换IP地址&#xff0c;帮助用户更好地保护个人信息和享受更…

文化保护与数字化时代:Facebook的文化责任

随着数字化时代的到来&#xff0c;全球各地的文化遗产和传统面临着前所未有的挑战和机遇。作为全球最大的社交网络平台之一&#xff0c;Facebook在连接亿万用户的同时&#xff0c;也肩负着重要的文化责任。本文将深入探讨Facebook在文化保护和传承方面的作用和责任&#xff0c;…

入门Rabbitmq

1、什么是消息队列 消息队列&#xff1a;应用之间传递消息的方式&#xff0c;允许应用程序异步发送和接收消息&#xff0c;不需要连接对方 消息&#xff1a;文本字符串&#xff0c;对象.... 队列&#xff1a;存储数据。先进先出 2、应用场景 ①库存系统挂掉之后 MQ会等待&…

修改vscode的主题颜色

1、首选项--主题--颜色主题 2、选择一个喜欢的颜色主题 这样就可以了。

推动产业数字化转型,六个方面引领变革

从工业经济时代走向数字经济时代&#xff0c;世界经济发生着全方位、革命性的变化&#xff0c;产业数字化便是最显著的表现之一。当前&#xff0c;产业数字化不断深入发展&#xff0c;平台经济、工业互联网、智能制造等新业态、新模式不断涌现&#xff0c;成为了数字经济的重要…

php上传zip压缩包到服务器并解压,解析压缩包内excel表格数据导入到数据库

需求: 1.需要管理后台将excel表格中的每条单词数据导入到数据库中. 2.每条单词数据对应的图片和音频文件需要上传到服务器中. 为了让客户上传数据方便,考虑了一下决定通过后台上传压缩包的方式实现 测试压缩包: 压缩包的目录结构 管理后台导入教材 public function upload…

深度学习算法informer(时序预测)(五)(informer整体模型)

整体架构如图 代码如下 lass Informer(nn.Module):def __init__(self, enc_in, dec_in, c_out, seq_len, label_len, out_len, factor5, d_model512, n_heads8, e_layers3, d_layers2, d_ff512, dropout0.0, attnprob, embedfixed, freqh, activationgelu, output_attention …

鸿蒙开发通信与连接:【@ohos.wifi (WLAN)】

WLAN 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import wifi from ohos.wifi;wifi.isWifiActive isWifiActive(): boolean 查询WLAN是否已激活。 需要权限&#xff1a; ohos.p…

stable diffusion 模型和lora融合

炜哥的AI学习笔记——SuperMerger插件学习 - 哔哩哔哩接下来学习的插件名字叫做 SuperMerger,它的作用正如其名,可以融合大模型或者 LoRA,一般来说会结合之前的插件 LoRA Block Weight 使用,在调整完成 LoRA 模型的权重后使用改插件进行重新打包。除了 LoRA ,Checkpoint 也…

PCL 拟合二维椭圆(迭代法)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 一般情况,我们会用椭圆拟合二维点,用椭球拟合三维点。在n维中,这些对象被称为超椭球体,由二次方程隐式定义 超椭球的中心是n1向量C,nn矩阵S是正定的,n1向量X是超椭球上的任意点。矩阵S可以用特征分解,S = R…

ATFX Connect四度加冕!荣膺2024最佳机构业务经纪商奖

近期&#xff0c;知名经纪商ATFX凭借在公益、科技、教育及媒体领域的一系列创新营销举措&#xff0c;掀起一波营销热潮&#xff0c;品牌联动效应显著。日前&#xff0c;ATFX又以实力而赢得一项新荣誉。全球知名媒体Holiston Media举办的2024环球金融大奖 (Global Forex Awards …