【Linux从入门到放弃】Linux权限详解(用户权限、文件权限、权限设置

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

想要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
在这里插入图片描述

刚开始在普通用户(zhuxu)下,通过 su 进入到了 root 用户,再通过 su zhuxu 进入到普通用户下。

三、Linux权限管理

1.文件访问者的分类(用户扮演的角色)

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

对于他们三个之间的关系可以这样理解,比如你和你小组要共同完成一个算法项目的实现,你们打算分工合作,对于你所完成的模块,你就是这个文件的所有者(u),而对于你的组内同学,他就可以当作是该文件的组内用户(g),而对于你非组内的同学,他们就可以是其他用户(o)。
  对于这三种文件访问者的权限,只有该文件的所有者和超级用户可以更改。

此时,也许有的人就有点搞不懂,在Linux中怎么一会是用户,一会又是文件访问者,那么我自己到底是谁呢?它们之间由什么区别呢?
  可以这么理解,在Linux中总共只有两类人:普通用户和超级用户,而对于这两种用户它们面对不同的文件或是目录都会扮演着不同的角色。对于某一个用户来说,它有可能是某一文件的所有者,同时还是另一文件的组内用户,同时还是另一文件的其它用户。一个人(用户)在不同的场景下扮演着不同的角色。
  可以看下图,对于目录123来说,zhuxu既是该目录的拥有者,也是该目录的组内用户,而除zhuxu以外的所有用户都将是其他用户,root也是。

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

当我们使用 ll 命令查看当前目录下的一切信息时,可以看到有以下内容:
在这里插入图片描述
在这里插入图片描述

2.1文件类型

在 Linux 中,区分文件的类型不是按照文件后缀而区分,而是通过文件属性中第一列的第一个字符来区分的。

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

2.2 文件访问者的权限

文件访问者的权限分为三块,从左至右依次为文件所有者、组内用户、其他用户所对应的权限。
  对于文件的基本权限有三种,分别是:

读(r):read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w):write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“-”表示不具有该项权限

注意:对于文件访问者的权限,它只能限制普通用户的行为,对于超级用户来说,不管有没有对该文件的任何操作权限,它都可以为所欲为。谁让人家是超级用户呢。
  看下图,test.txt文件的拥有者和组内用户都是zhuxu,那么root按道理来说就应该是其他用户,可以看该文件的其他用户没有任何权限,但是,当我们以 root 的身份来操作该文件时,发现该文件对 root 的限制是不起任何作用的。

在这里插入图片描述

2.3 文件权限值的表示方法

(1)字符表示方法

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

(2)8进制数值表示方法

权限符号八进制二进制
rwx7111
rw6110
rx5101
r4100
wx3011
w2010
x1001
0000
2.4 文件访问权限的相关设置方法
2.4.1 设置文件的访问权限(chmod)

格式chmod [参数] 权限 文件名
常用选项: R -> 递归修改目录文件的权限

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

chmod命令权限值的格式:

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

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

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

权限字符:
r :可读
w:可写
x:可执行

chmod u+w test.txt:给文件拥有者加上写权限
chmod o-x test.txt:给文件其他用户减去执行权限
chmod a=r test.txt:给文件的所有用户都加上读权限

②三位8进制数字

chmod 664 test.txt:将该文件的拥有者和组内用户的权限改为可读可写不可执行,其他用户的权限改为可读不可写不可执行
chmod 640 test.txt:将该文件的拥有者的权限改为可读可写不可执行,组内用户的权限改为可读不可写不可执行,其他用户无任何权限

2.4.2 修改文件拥有者(chown)

格式chown [参数] 用户名 文件名
chown users test.txt

2.4.3 修改文件或目录的所属组(chgrp)

格式chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
chgrp users /abc/f2

2.5 文件的默认权限

要知道,新建文件默认权限为666 ,新建目录默认权限为777
  但实际上你所看到的新创建的文件和目录的权限往往不是上面这个值。我们看到的文件权限是664,目录的权限是775。
在这里插入图片描述
  原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask,超级用户默认掩码值为022,普通用户默认为002。

比如说:新建文件的默认权限为666,二进制就为110110110,普通用户默认权限掩码为002,二进制为000000010,将其取反为111111101,再与文件默认权限相与就为110110100,十进制就为664。

可是看了上面如何算文件的最终权限,为什么不是默认权限和权限掩码按位异或呢?明明异或也是对的,为什么还要那么麻烦要将权限掩码取反再与呢?看下面这幅图:
  我们先将权限掩码改为007,二进制为000000111,此时创建一个abc.c的文件,它的默认权限为666,二进制为110110110,若选择按位异或的方法计算最终权限为110110001,很明显这是不对的,而通过取反再与的方法算出的是110110000。
在这里插入图片描述

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值