Linux权限的理解

一.shell命令及原理

Linux系统可以看作是:Linux内核,Linux外壳及配套程序的集合。

Linux外壳也就是shell,为什么需要shell呢?

主要有两个原因:

  • 内核的设计非常复杂,绝大部分使用者无法直接与Linux内核进行沟通交互,也无法直接读懂内核执行完命令的结果所以shell外壳充当媒介来往于操作者和内核之间。(外壳程序将用户输入的指令解释后传递给内核,内核执行命令后得到的结果经外壳处理后传递给用户
  • 有时用户想要内核执行的命令非法或者使用的指令内核完成不了,那么此指令会在shell外壳进行翻译时就被驳回。

注:shell是所有命令行解释器的统称,Linux下是bash,Windows下是图形化界面

二.普通用户与超级用户 

一个Linux账户下只有一个超级用户:root,其余创建的用户都是普通用户。

su -用户名 :切换用户,root切换其他用户没有限制,普通用户切换root或者其他普通用户需要输入密码。

sudo 指令 :以root权限运行该指令 (sudo使用的前提是当前用户被添加到了白名单)。

三.文件的权限 

【1】文件的角色属性

当ll查看当前路径下文件详细信息时会发现文件名前会出现框内的标志:

 其中红框内的是文件的读写权限绿框内是文件的拥有者蓝框内是文件的所属组。 

对于文件来说,除了拥有者和所属组还有other这个概念,other代表除了拥有者和所属组的其他人。

【2】文件的读写权限 

其中,红色部分的第一列代表文件类型,普通文件是-,目录是d。

常见的文件类型:

 后面的九列代表文件的读写权限,当用户不拥有权限是用”-“表示。

 权限的总结:

 【3】读写权限的二进制表示

 有权限用1表示,无权限用0表示,上面的权限汇总表则可以用1和0表示。

 四.修改文件权限

chmod 用户符号 +/-/= 权限符号 文件名

 示例:

五. 文件权限的八进制修改方式

 

 这里的666的二进制形式是:110 110 110,所有人的读写权限都存在,而无执行权限

六.修改文件的拥有者/所属组 

chown 用户名 文件名 :修改拥有者

chgrp 所属组 文件名 :修改所属组

七.目录的权限理解

 和普通文件不同,文件夹的读写和可执行权限对应的功能并不完全一样:

  • 读权限( r ):用户能否查看文件夹下文件的信息
  • 写权限( w ):用户能否在此文件夹下创建/删除文件
  • 可执行权限( x ): 用户能否进入此文件夹

八.默认权限以及权限掩码 

我们先创建一个目录和一个普通文件:

我们会发现以下:

  • 目录的默认权限为:7 7 5
  • 普通文件默认权限: 6 6 4

这是因为默认权限两个因素共同决定:

  • 文件的起始权限
  • 文件的权限掩码

文件的起始权限:

  • 目录的起始权限为:7 7 7
  • 普通文件的起始权限为: 6 6 6

文件的权限掩码:

umask :查看文件的权限掩码

 

 如图所示,我的Linux账号下权限掩码为0002,文件和目录的起始权限减去权限掩码后就得到了默认权限。

当然,权限的计算并非是简单的减法,而是:最终权限=起始权限&(~权限掩码)

示例:

九.修改权限掩码

 umask 修改目标权限掩码

示例:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值