前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux】】Linux权限的理解

【Linux】】Linux权限的理解

作者头像
aosei
发布2024-01-23 14:30:43
2670
发布2024-01-23 14:30:43
举报
文章被收录于专栏:csdn-nagiY

一.Linux中的用户

Linux中分为两种用户,分别为: 1.root 用户,也叫超级用户,它的权限非常高,不受其他权限的约束,也就是可以为所欲为; 2.普通用户:除了root用户外,都是普通用户,受权限的约束。 我们可以输入命令:ls /home  查看当前根目录下有多少普通用户:

当然也可以添加一些选项,来显示更详细的内容。 

提权命令:sudo 可以让一条指令暂时拥有root的权限,但是新建的用户,sudo没有颁发实行,系统并不信任你;

除非加入到信任白名单内。 

二.什么是权限

1.权限和人有关; Lniux中,这里的“人”指的是: a,所有者      b,所属组      c,其他 2.权限和事物的属性有关 Linux下一切皆文件,而文件具有可读,可写,可执行的属性。

三.文件类型和文件权限

如上图所示,这前面的10个字符,第一个字符表示文件类型,后面的9个字符表示文件属性;

文件类型

文件类型一般有: d:目录文件 -:普通文件(文本,可执行程序,库都属于普通文件) l:软链接(类似Windows的快捷方式) b:块设备文件(例如硬盘、光驱等) p:管道文件(用来进行通信的) c:字符设备文件(例如屏幕等串口设备) s:套接口文件 最常见的就是目录文件和普通文件了。

文件属性

这里的文件属性包括:可读(r),可写(w),可执行(x),- 表示无任何权限 这里的9个字符是3个为一组的,按照前后顺序表示:所有者,所属组,其他的权限,且每组内rwx的顺序是严格不变的,即: 1.位置是什么含义是确定的,第一个位置只有 r/- ,以此类推;   2.每一个位置只有是或者否,具有指定的权限。 所以就可以用二进制的0和1表示。


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

字符表示法

 8进制和2进制表示法

有了这些权限值的表示方法,我们就可以修改一个文件的权限了。 

五.文件权限的修改

chmod

字符修改: 所有者,所属组,其它分别用这些字母表示:u,g,o 增加权限  chmod  [u/g/o] + [r/w/x]   文件 例:给文件n1加上可执行权限

去除权限也是一样的道理,只需把+换成-即可;

八进制修改 一个八进制数字代表一组,所以一共有三个数字,八进制换算成二进制后,就能知道有哪些权限。 实例:

# chmod 664 /home/abc.txt # chmod 640 /home/abc.txt

chown 修改所有者

举个例子,生活中,你把东西给别人,是不是得经过别人得同意啊,别人从你那里拿东西也得经过你的同意。 所以,普通用户是不能自己修改所有者,所属组的,但是root可以,它不受权限的约束。 chown  用户名  文件 例:

chgrp 修改所属组

这个用法和chown一致,只不过他修改的是文件所属组。

总结 当然也可以使用chown指令同时修改所有者和所属组,格式为 chown  用户名:用户名  文件 例:

 chown和chgrp后都可以接选项: -R 表示递归修改文件或目录的所有者或所属组。


六.为什么创建文件时的默认权限是这样

我们在创建文件时,默认: 目录文件权限是775 普通文件权限是664 这是为什么呢? 这就要说明 umask 文件掩码了。

umask

umask  :查看文件掩码(八进制形式显示)

 umask   xxx :修改文件掩码

文件掩码作用:凡是在umask中出现的权限都不会在最终权限中出现。

其实,预备: 目录文件权限777 普通文件权限666 在经过文件掩码修饰后才变成了775和664 修饰规则:最终权限=起始权限&(~umask) 以umask=0002为例:

七.目录文件每个权限的作用

r :是否允许我们查看指定目录下的文件内容; w:是否允许我们在当前目录下进行更改,创建,删除 x :是否允许用户进入对应的目录

 上图我们发现,每个普通用户的家目录下,所有者和所属组都是他自己,且所属组和其他没有任何权限,这样当我们在有共享文件的需求是,只能由root用户创建一个共享文件,并把权力全部放开:

 但是这样又会引发一个问题,普通用户互相之间可以随意删除这个share里文件,这是不合理的,但是把w权限去掉了,就又不能创建和修改文件了,这也是个问题,那该如何解决这个问题呢? Linux中给出一个叫粘滞位的概念。

粘滞位

语法:chmod +t  文件

加了粘滞位的文件: 1、超级管理员删除 2、该文件的所有者删除 加上粘滞位后,原来的 x 会变成 t

八.权限总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.Linux中的用户
  • 二.什么是权限
  • 三.文件类型和文件权限
    • 文件类型
      • 文件属性
      • 四.文件权限值的表示方法
        • 字符表示法
          •  8进制和2进制表示法
          • 五.文件权限的修改
            • chmod
              • chown 修改所有者
                • chgrp 修改所属组
                • 六.为什么创建文件时的默认权限是这样
                  • umask
                  • 七.目录文件每个权限的作用
                    • 粘滞位
                    • 八.权限总结
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档