【Linux】粗谈权限

背景知识

我们日常口头讲的Linux操作系统,狭义来说只是指它的内核,广义上来说指它的内核加外壳(shell,配套的程序)。

【Linux】粗谈权限_第1张图片

那么为什么一定要有外壳呢?shell外壳主要有以下两个功能

1.命令行解释器

        将用户输入的指令解释给内核

        将内核处理的结果返给外壳,再由外壳返回给用户

2.保护内核

shell具体是怎么保护内核的?——父进程+子进程

父进程:继续进行命令行获取并创建子进程,让子进程工作

子进程:处理父进程传来的指令

LInux区分文件类型,与后缀无关,和文件是否具有可执行权限有关

Linux这个软件不分文件后缀,不代表gcc这个软件不分

用户

用户主要分为超级用户(root)和普通用户

超级用户就是至高无上的存在,任意妄为,无视权限的存在

普通用户可以用su或者su-来切换成超级用户,但是需要知道root账户的密码 

su:单纯的账号切换,从超级用户切换成普通用户:su-用户名

su-:重新登录root账号

如果我们只有一条命需要提升权限并且频繁使用,这个时候再用su或者su-就比较麻烦了,这个时候只需要在命令前面加个sudo就可以——但是现在所处的账号需要被root账号授权

权限

在Linux中,权限是伴生文件的

权限——也就是一件事是否可以被你做,直白点就是你有没有资格做某事的意思

【Linux】粗谈权限_第2张图片

人分为拥有者从属者以及其他人

事物属性分为读,写,执行

第一列的字母代表文件类型,剩下的九个字母每三个为一个人的权限,从前往后分别为w,r,x

以以上文件为例子

l——代表该文件为链接文件,拥有者的权限为读写执行,从属者的权限为读写执行,其他人的权限为读写执行

后面的两个用户从前到右依次为拥有者和从属者,没有其他人是因为其他人不重要而且很多

这里的拥有者和从属者都为root

文件类型

【Linux】粗谈权限_第3张图片

chmod a +-权限缩写 文件名 对所有进行权限修改

用户在匹配身份的时候只匹配一次

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

这里的权限缩写也可以用八进制来替代,如rwxrw-r--,存在字母即为1,-则视为0,所以就是764

默认权限

目录的默认权限为777,文件的默认权限为666

【Linux】粗谈权限_第4张图片

但是最终的目录权限为775,文件的最终权限为664,这是为什么呢?

最终的权限=默认权限&(~umask)

umask是权限掩码,最终的权限=默认权限去掉权限掩码中出现的权限

凡是在权限掩码中出现的权限都要在最终权限中被去掉

umask的默认值为003,是可以修改的

【Linux】粗谈权限_第5张图片

以上为文件默认权限666变成664的过程

目录权限

上面讲的大部分都是文件的权限,它的wrx我们是可以理解的

但是目录文件也有对应的wrx,是目录可以被读,写,执行的意思吗?如果是的话有种很奇怪的感觉

w:一个文件肯定是属于一个目录的,一个文件能不能被删除,能否新建文件都不由自己决定,而由该用户在该目录下有无w权限决定

r:一个文件肯定是属于一个目录的,一个文件属性能否被查看,由该用户在该目录下有无r权限决定

x:能否进入一个目录以内,由该用户在该目录下有无x权限决定

粘滞位:chmod+t 文件名——给目录设置,防止同目录下的其他用户乱删

总结

以上为Linux权限的粗略总结,也以此篇开始Linux的学习,该系列会持续更新,希望各位多多支持,如有错误也希望及时指出!

你可能感兴趣的:(linux,运维,服务器)