Linux:权限相关问题
文章目录
- shell命令以及运行的原理
- Linux权限
- 执行
- 权限更改
- 目录权限
- 缺省权限
- 粘滞位
shell命令以及运行的原理
操作系统分为内核和外壳程序,xshell是外壳程序,外壳程序包括我们windows桌面上的图形化界面,本质都是翻译给核心处理,再显示出来,而我们输入的命令是给xshell外壳程序的,
shell存在的意义
翻译内核
保护内核,排除非法请求
shell会创建子进程的方式进行命令解析
shell是外壳的统称,bash是我们在xshell具体的外壳
Linux权限
什么是权限呢?
权限是限制人的。人=真实的人+身份角色:比如校长的儿子就能进去校长办公室,你作为普通学生就不可以
目标事物的属性,也会影响程序
认识不同用户
root:超级管理员,几乎不受权限的 限制
用户:权限受限
超级用户:用户输入su指令,输入密码变为超级用户,权限提升
whoami指令,如果不是root权限受限。
su -:以root用户登录
exit退出超级用户
su 用户名:可以变成任意用户,也要输密码
sudo+指令是命令提权,配置过后的普通用户,输入的是普通用户的密码,不要输入超级用户的密码
没配置过的用户提权会显示
配置文件类似于白名单,在里面即可提权
一般Linux安装软件的时候要提权,都会安装到usr/bin路径下面,任何用户都是。
ll文件属性,文件权限的属性,Linux角色的划分
Linux中角色分三类
1文件拥有着
2文件所属组
3other
这里就是自从一组
文件的读写和可执行权限会显示在上面,三组分别对应三个不同身份的权限
chmod u-r是删除权限
chmod u+rw是删除拥有者读写
chmod g-xx是对所属组
chmod a-xx对所有人操作
对应具体的文件
对应所有文件
只有本用户和root可以这样改权限
执行
执行条件
user,group,other和我的身份进行身份对比的时候,一次只对比一次
对比优先级user>group>other(对应开头r/w/x或者 -)
由于我们计算机底层还是二进制,可以用用八进制的模式改权限。
权限更改
chown ~~ xxx
把xxx的权限改为新的拥有者,但是系统会默认不允许,因为你只能登录一个用户,另一个不知情,所以要么root权限,要么提权
chgrp ~~ xxx
把xxx的权限改为新的所属组
目录权限
我们进入目录不需要目录r权限,只是限制里面普通文件的r
w:限制在目录新建文件,删除文件,编辑文件
x:限制的是进入目录,对于普通文件限制是否可执行
缺省权限
我们Linux有umask权限掩码
普通文件的起始权限是666,目录文件是777
只看后三位,也是对应八进制,再转成二进制再进行~然后再&对应起始权限
所以我们可以通过修改umask缺省值来进行特定操作.
粘滞位
Linux对多用户的家目录权限,只给自己,不能进入其他用户的工作区
但是我们如果想让多用户操作一个文件呢?共享文件
我们不能再一个普通用户的家目录共享,我们可以在其他目录共享
在根目录上共享,需要root提权
其他用户身份是other,所以提权就行了
一个文件共享给other后所有人都可以编辑文件,但是如果我们不想让别人删除操作,
我们可以添加粘滞位来
粘滞位-t只能给目录设置