0


【Linux的权限命令详解】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的你!一个爱学编程的人。各位看官,我衷心的希望这篇博客能对你们有所帮助,同时也希望各位看官能对我的文章给与点评,希望我们能够携手共同促进进步,在编程的道路上越走越远!

提示:以下是本篇文章正文内容,下面案例可供参考

shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。 而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

1、将使用者的命令翻译给核心(kernel)处理。

2、同时,将核心的处理结果翻译给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的 操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你心动的MM小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash。

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户。

**超级用户:可以再linux系统下做任何事情,不受限制 **

**普通用户:在linux下做有限的事情。 **

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名]

功能:切换用户。

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

Linux权限管理

一、什么是权限?

权限就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源,比如vip,门禁之类的。

二、权限的本质

权限和人有关,权限和事物的属性有关

权限=人(角色)+事物(文件)属性有关

三、Linux中的用户

四、linux中文件的权限

4.1、文件访问者的分类(人)

  • 文件和文件目录的所有者:u—User(中国平民 法律题)
  • 文件和文件目录的所有者所在的组的用户:g—Group(不多说)
  • 其它用户:o—Others (外国人)

4.2 文件类型和访问权限(事物属性)

五、快速掌握修改权限的做法【第一种】

5.1、修改拥有者、所属组、其他用户和所有人的权限

一个文件的权限,谁能修改?

文件的拥有者、root

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项:

R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

① 用户表示符+/-=权限字符 实例:

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者(user)

g:拥有者同组用(group)

o:其它用户(other)

所属组和其他用户的权限操作和拥有者都是一样的,同上述操作。

a:所有用户(all)

5.2、修改所有人中几个人的权限

5.3、对用户身份进行识别,是否只识别一次?

  • 对于普通用户,自身要受到对应权限的约束,即使这个文件是自己的!

注意:对于文件的拥有者,如果删除了文件的拥有者权限,但是所属组的没有删除,它也会禁止读写操作.

结论:权限只会匹配一次!

5.4、更改文件的拥有者

  • 这个时候我们把拥有者的改成root用户,但是所属组还是原来的

结论:身份识别的时候只识别一次,一旦匹配成功就不继续匹配了,如果失败就继续匹配

5.5 、更改文件的所属组

这里如果再加上other的读和写的权限,就又可以了!

5.6、 同时更改拥有者和所属组

怎么不见修改other的权限呢?

因为不需要的。

六、快速掌握修改权限的做法【第二种】

6.1 、八进制

如上图所示:如果有一个字符的权限有,就是1;如果是-,就是0.

如果我们想去掉所有人的所有权限可以这样做。

chmod 000 test.txt

赋予所有权限就是下面这条命令.

chmod 777 test.txt

保留拥有者的读写权限

chmod 600 test.txt

七、文件类型

windows是通过后缀名来区分文件类型的。

Linux不通过后缀名来区分文件类型。(并不是说Linux不用后缀)

那么通过什么区分呢?

ls -l第一个属性列

-:普通文件,文本文件,可执行程序,库等都叫做普通文件
d:目录文件

b:块设备文件(磁盘等)
c:字符设备文件(显示器等)
p:管道文件
l:链接文件

我们创建一个管道文件

mkfifo pipe

八、可执行权限

如果我们要进入一个目录,需要什么权限? ----> 进入一个目录,需要x权限

能执行 = 具有可执行权限 (x)+ 一个可执行文件

总结:

进入一个目录需要x权限
目录的r权限:用户能否查看指定目录的文件信息
目录的w权限:决定用户是否能在指定的目录内新建,修改,删除文件

九、创建文件的默认权限

9.1 权限掩码

umask

在创建文件的时候,要在起始权限中,过滤掉(不是简单的减法)再umask中出现的权限

9.2 修改umask

umask 0000

修改了umask后,创建出来的文件权限也发生了改变,所以是uamsk影响了我们的默认权限

十、目录的权限

为什么我们普通人竟然可以删除别人的文件(包括root)合理吗?

删除一个文件和目标文件有关系吗? ---->没有关系!!!

那么和谁有关系呢? ---- >和我所在的目录有关系!!!

这个目录的拥有者和所属组所拥有的权限是rwx,root是超级管理员账号,他想干什么就干什么,root可以随便在别人的目录里面创建文件,也可以随便删除别人的文件。

但是,当root在别人的为目录里创建文件的话,还不让这个文件让任何人看。

这个文件的拥有者和所属组具有x权限可以进入目录,在具有r权限,仍然看不了root的文件内容,但是当具有w权限时,便具有了删除root文件的能力,当然只能删除root的文件,还是不能修改。

所以创建一个目录的时候是默认去掉写权限的,一个外来用户进入到这个目录是不能进行创建文件的,当然root除外~~

十一、粘滞位

如果我们想在Linux下,由多个用户建立一个共享文件,来被大家共同访问,怎么办?

首先这个文件不能在我们各自的家目录下创建,为什么?

因为家目录其他人是无法进来的。

所以,我们只能在系统的非用户目录下创建。(除了自己的家目录的一亩三分地之外,就只剩下root的地盘了),所以,我们要在root的家目录下,由root创建共享目录。

普通用户想要在root账号下创建目录,只能用sudo指令来提升mkdir的权限了。

我们来看一下具体的操作

因为root超级管理员把other的权限全打开了,所以其他用户都能够读写、修改并删除。

突然小红出现了,它想搞恶作剧,把小明跟小王聊天的文件给删掉了,那么有没有什么方法防住小红呢?

这时候我们就得引入一个新的概念粘滞位。

**当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由 **

**一、超级管理员删除 **

**二、该目录的所有者删除 **

三、该文件的所有者删除

十二、在root的用户下新建用户和删除用户


总结

好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。
不积硅步,无以至千里;不积小流,无以成江海。

标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/2301_79585944/article/details/135718207
版权归原作者 2301_79585944 所有, 如有侵权,请联系我们删除。

“【Linux的权限命令详解】”的评论:

还没有评论