碎碎念:
本篇我们主要学习Linux权限的知识,你将会了解什么是用户,如何切换用户?什么是权限,有哪些基本权限,又如何切换权限?……。
在权限开始之前,我们先顺带介绍一下shell外壳程序。
目录
I. shell外壳程序
我们是直接操作操作系统的吗?其实不然。
如果直接使用操作系统,那用起来,得牵扯到很多底层的细节,
专业性太强,并不适合广大用户。
我们访问操作系统,是直接与shell外壳程序进行交互的,shell再去和操作系统打交道。
shell外壳程序,在Win下是图形化界面,在Linux下就是指令。
🎈说一个帮助理解的小故事:你喜欢小花,但害羞不敢跟她讲话,所以你去找了媒婆。
这位媒婆姓王,我们叫她“王婆”。
王婆帮你说媒,把你的想法转达给她。
这样,你不用和小花直接打交道,而是通过王婆 间接实现了和小花的交流。
这里的”你“就是用户。
”小花“就是操作系统。
“媒婆”就是shell外壳程序。
shell:命令行解释器
将使用者的命令翻译给操作系统处理。
同时,将处理结果翻译给使用者。
shell是用户和操作系统交互的中间软件层,
方便用户的同时 也在一定程度上保护了操作系统。
然而,我们采用的命令行解释器不叫shell,叫bash。
shell和bash的关系,就对应媒婆和王婆的关系。
shell 是外壳程序的统称,而bash是其中的一种。
II. Linux权限的概念
用户
Linux下有两种用户:
1.超级用户😃root:可以在Linux系统下做任何事情,不受限制。
(root简直是上帝身份)
2.普通用户🤐:在Linux下只能做有限的事情。
超级用户的命令提示符为”#“,普通用户为”$“。
切换用户
那么怎样进行用户间的切换呢?
用命令su
root----->普通用户user: su user(这里的user是具体的用户名,如 jzy)
user----->root : su root(root可省略)
基于root用户的上帝身份,在root用户下,你想进哪个user都行,不用输密码✌。
而普通user之间进行su切换,是要输入用户密码的。
进root用户,要输root的密码。
这里强烈建议:root的密码和普通user的密码别设成一样的!
否则你在输密码时很容易脑袋晕晕💫,不知道自己在进哪个用户。
演示:
切换用户路径
不过,su [用户名] 的方式只能切换用户,
你的用户路径还是原来那个,并没有同步切换过来。
比如:我现在从root 切换到 普通用户jzy,想要建目录or文件,然而:
发现都建不了!为什么呢?😦
原来,是因为我们su的命令只切换了用户,而路径还停留在原来的root下:
敲黑板!
su [用户名] 只会切换用户,而不会切换用户路径;
su - [用户名] 会在切换用户的同时,把用户路径也给切换掉。
现在,我们把su指令写成su - jzy,然后看看路径还是不是root了:
看最后一行,已成功切换到用户家目录下了。
补充:
如果我们用su从root切到普通用户身份,而路径没切,
那也可以用 cd ~ 的方式进入用户的家目录。🥰
Ⅲ. Linux权限
权限
先来搞清楚一个问题:什么是权限?
在Linux中,权限是用来控制文件和目录访问的机制。
通俗而言,权限==人+事物属性
权限是针对人的;权限是由事物的属性决定的。
举个例子:b站里的视频,up主拥有删评的权限,而评论者就没有这条权限;
我们不能在教室游泳,因为教室的属性就决定了它压根没法游泳。