个人主页:日刷百题
系列专栏
:〖C语言小游戏〗〖Linux〗〖数据结构〗 〖C语言〗
🌎欢迎各位
→点赞
👍+收藏
⭐️+留言
📝
一、 Linux下用户的分类
Linux下有两种用户:
1. root(超级管理员用户)
2. 普通用户
我们adduser添加的就是普通用户。
他们有什么区别呢?
(1)超级用户:可以再linux系统下做任何事情,不受限制
(2)普通用户:在linux下做有限的事情。
(3)超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
我们如何切换两个用户呢?
Linux下所有的用户都有自己的密码,我们可以通过以下指令切换用户:
(1)切换root用户
su //路径不会发生变化
su - //路径会变成/root
注:输入的密码是root的密码
(2)切换到普通用户
su 用户名
注:Ctrl d这个快捷键回到之前的用户(相当于exit)
补充:
指令提权:那么我们可以不变成root,但是以root的身份执行一个指令可以吗?
通过sudo指令可以临时提升用户的权限,在指令前面加上sudo,用户就临时切换成了root,以root的身份执行该条命令。
实际上,一般来说普通用户不能执行sudo指令,我们需要将该用户添加到系统信任的白名单才能享受sudo指令。
二、 Linux中文件的权限
2.1 文件访问者的分类
2.2 文件类型和访问权限
2.2.1 文件类型
2.2.2 访问权限
他们三个为一组,分别代表拥有者,所属组,other的权限
这些权限字符的意思分别是:
普通文件:
注:绿色代表可执行( ./文件名 表示执行文件)
注:对于root 账号,尽管什么权限都没有,但是依然可以对文件进行读、写、执行。
目录文件:
补充知识:
三、 权限如何修改
3.1 用字符表示法修改权限
字符表示方法:
一个文件的权限,谁能修改?
那么文件的权限如何修改?
功能:
用法:
注:减少拥有者读写可执行权限(chmod u-rwx 文件名)
3.2 用8进制数值表示法修改权限
8进制数值表示方法:
每个位置的权限都是用二进制来表示的:
比如:(我们的test.txt文件)
用法:
3.3 修改文件的拥有者和所属组
修改文件的拥有者:
注:
修改文件的所属组:
注:
同时修改文件的拥有者和所属组:
注:
注:选项 -R 可以修改目录。
四、文件的起始权限
实际上:
而Linux中因为有权限掩码的存在,导致最终权限变化
4.1 权限掩码
用umask查看权限掩码
权限掩码是如何影响最终权限的呢?
以普通文件为例:
注:我们可以修改权限掩码
注:修改了umask后,创建出来的文件权限也发生了改变,所以是uamsk影响了我们的最终权限
五、目录的权限
为什么我们普通用户可以删除root的文件呢?
删除文件是由这个目录的拥有者来管理,删除一个文件的本质就是修改这个目录的内容,需到目录的拥有者有w权限
创建一个目录的时候是默认去掉other的写权限的,其他用户进入到这个目录是不能进行创建文件
总结:本篇文章将权限的知识差不多囊括了。
希望大家阅读完可以有所收获,同时也感谢各位铁汁们的支持。文章有任何问题可以在评论区留言,百题一定会认真阅读!