大家好,欢迎来到IT知识分享网。
一.什么是权限?
二.权限的本质
三.Linux中的用户
1. Linux中的3中角色:拥有者 、所属组 、other
拥有者:你创建了一个文件,那你就是该文件的拥有者
所属组:首先讲解一下用户组的概念。用户组就是一组用户的集合,那为什么要把用户放入一个用户组中呢?当然是为了方便管理。大家想想,如果我有 100 位用户,而这 100 位用户对同一个文件的权限是一致的,那我是一位用户一位用户地分配权限方便,还是把 100 位用户加入一个用户组中,然后给这个用户组分配权限方便呢?不言而喻,一定是给一个用户组分配权限更加方便。
所属组类似,所属组内的所有人对同一个文件的权限相同
other:除了拥有者和所属组外的所有人
2. 具体的人
Root和普通用户之间可以进行身份的切换吗?可以的
普通用户变成root
Root变成普通用户
四.Linux中文件的权限
权限=用户角色+文件权限属性
1. 前10个字符
拥有者前面的1的意思我们后面再讲,先了解一下前面的10个字符
第一个字符:
剩下的9个字符:
2. 快速掌握修改权限的方法:
1.
G代表所属组group
O代表other
A代表所有人all
上面用普通用户来举例,root修改权限的方法同普通用户
2.
3. 对比权限有无,表现:
4. 修改权限的第二套做法
但是系统报错了,因为 把文件给别人是强制给的
所以我们要先用sudo提权或者用su变成root/su-登录root,来将文件强制给别人
当角色为root或普通会员提权到root时:
5. 文件类型
(a)了解文件类型
我们暂时是需要知道上面那2种文件类型,其它的看看就行。
我们进入下一个问题,当log.c的内容是下图时:
将log.c重命名为log.txt,然后再用gcc编译
(b)如何理解可执行权限x
我们发现,虽然a.out和test.txt都有可执行权限,但是只有a.out能执行,test.txt不能被执行。所以可执行权限!=可执行
能执行=具有可执行权限+本身是个可执行文件
(c)如果我们要进入一个目录,我们需要什么权限?
总共就3种权限,用控制变量法一个一个试吧
(d)Linux创建文件的时候,为什么好像有默认权限?为什么是我们看到的样子
创建文件的时候,要从起始权限中,过滤掉 (不是简单的减法) 在umask中出现的权限
Umask不管最前面的0,就是002(000 000 010)
最终权限=起始权限&(~umask)
(e)为什么普通用户能删掉别人的文件(包括root)?这合理吗?
前提2:普通用户zkj在zy创建的文件222中新建一个文件zkj.txt。此时zy属于other,只有读权限
咦?zy怎么能删除呢?它不是没有写权限吗?
原来,删除一个文件和目标文件没有关系!!!和想要删除的文件所在的目录有关
(f)如果我们想在Linux下,建立一个有多个用户可以操作的共享文件,来被大家共同访问,怎么办?
- 能否将该共享文件建立在某一个用户的家za目录下?
不行,因为用户不能访问其他用户的目录(su 用户可以,但是需要知道对方的密码)
Zkj此时能读了,但是另一个普通用户mm看见了这个文件,并想把zy.txt删除,它能删除吗?可以的,因为zy.txt所在的目录111_shared对other的权限是rwx。那有什么方式能够阻止mm删除zy建立的文件呢?
为了解决这个问题, Linux引入了 粘滞位 的概念
当111_shared被设置为”粘滞位” (用chmod +t) 后,mm还能不能删掉zy建立的文件?不能
当一个目录被设置为”粘滞位”(用chmod +t),则该目录下的文件只能由
- 超级管理员删除
- 该目录的所有者删除
- 该文件的所有者删除
好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/137152.html