【Linux常见指令以及权限理解】权限理解

这篇具有很好参考价值的文章主要介绍了【Linux常见指令以及权限理解】权限理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

这篇文章,我们来聊一聊Linux下权限相关的知识,我打算从这几个方面展开:

1. 认识Linux下用户的分类

2. 什么叫做权限

3. 没有权限会是什么样子

4. 如何修改权限

5. 其它重要的问题

那么废话不多说,我们现在开始。

目录

写在前面

1. Linux下用户的分类

如何切换用户

如何提高用户权限

2. 什么叫做权限

3. 如果没有权限是什么样的

普通文件:

目录文件:

4. 权限如何修改

6. 第一个问题:文件的起始权限

7. 第二个问题:目录的权限

8. 第三个问题:粘滞位

总结

写在最后:


1. Linux下用户的分类

Linux下有两种用户:

1. root(超级用户)

2. 普通用户

我们adduser添加的就是普通用户。

他们有什么区别呢?

root 基本不受权限的约束,而普通用户受权限的约束。

如何切换用户

我们如何切换两个用户呢?

Linux下所有的用户都有自己的密码,

我们可以通过su/su- 指令切换用户:

例:(切换到root用户)

【Linux常见指令以及权限理解】权限理解

 输入的密码是root的密码,

另外,su- 指令是切换到root的根目录下,su 还是在当前的目录下面。

我们可以用Ctrl d这个快捷键回到之前的用户:

【Linux常见指令以及权限理解】权限理解

当然,直接输入 exit 也是一样的效果。

如何提高用户权限

我们可以通过sudo指令可以临时提升用户的权限,(持续时间可能十几分钟不等)

例:

【Linux常见指令以及权限理解】权限理解

 我们可以观察到,在指令前面加上sudo,用户就临时切换成了root

这里输入的密码是当前用户的密码,

你可能会问:为什么我输入我的用户密码却能获得root的用户权限?

实际上,我们需要将该用户添加到系统信任的白名单才能享受sudo指令,

至于如何添加,我会在讲Linux工具的时候介绍,如果有兴趣的话,可以自己上网搜教程。

2. 什么叫做权限

权限,其实就是一件事情 是否允许你去做。

权限的认证是身份还有事物的属性,我们拿一个文件举个例子:

比如说我们刚刚建立的test.txt文件和目录:

【Linux常见指令以及权限理解】权限理解

 最前面的这个:

【Linux常见指令以及权限理解】权限理解

 是代表文件的类型:

- 代表普通文件(文本、可执行文件等等)

d 代表目录文件

b 代表 块设备文件(磁盘文件)

c 代表字符设备文件(键盘、显示器)

p 代表管道文件(用来通信的)

我们这里主要讨论普通文件和目录文件。

补充:(文件类型)

Linux系统中的文件后缀名是没有直接意义的(系统内核不靠这个区别文件类型)

(注:只是系统内核,不代表Linux下的一些软件他不需要后缀名)

(比如说gcc编译器,他编译的时候还是需要你是.c的后缀名)

我们继续来看权限:

【Linux常见指令以及权限理解】权限理解

Linux中表示文件权限的是这个地方的字符,

他们三个为一组,分别代表拥有者,所属组,other的权限,

这些字符的意思分别是:

r 代表读权限

w 代表写权限

x 代表执行权限

- 代表没有这个位置的权限 

另外:

【Linux常见指令以及权限理解】权限理解

 文件的这两个地方分别代表的是该文件的拥有者和所属组。

3. 如果没有权限是什么样的

普通文件:

这里,我们重定向了一句话进test.txt文件中:

【Linux常见指令以及权限理解】权限理解

并查看了test.txt 文件的内容,

如果这个文件没有写权限会如何?

【Linux常见指令以及权限理解】权限理解

我们发现当该文件没有写权限的时候,我们的追加重定向就失败了

没有追加这句话进文件,Permission denied 了。

如果没有读权限呢?

【Linux常见指令以及权限理解】权限理解

我们可以发现,cat 指令也用不了了,无法读文件了。 

当我们给test.txt 加上可执行权限:

【Linux常见指令以及权限理解】权限理解

我们甚至也可以执行该文件,当然,啥事都不会发送就是了。

这就是文件的权限。

如果我们用root用户操作呢?

来试试:

 【Linux常见指令以及权限理解】权限理解

我们可以看到,这个文件啥权限都没有

但是root想干啥就能干啥,这就是超级用户。

目录文件:

 我们接下来测试一些目录文件的权限:

【Linux常见指令以及权限理解】权限理解

我们发现,当目录没有可执行权限的时候,我们就进不去了

 如果没有写权限呢:

【Linux常见指令以及权限理解】权限理解

我们发现目录文件没有写权限的话,我们在目录里无法创建新文件

如果没有读权限呢:

 【Linux常见指令以及权限理解】权限理解

 我们发现没有读权限,可以查看文件的内容,

但是我们无法查看该目录里面有什么文件。

当然,root 用户无论如何,什么功能都能使用。

这里补充一点,other的权限就是指其他用户来访问我的文件是后的权限。

4. 权限如何修改

我们可以使用chmod指令

直接看例子:

给我自己增加读权限:(chmod u+r 文件名)

【Linux常见指令以及权限理解】权限理解

给所属组增加写权限:(chmod g+w 文件名)

【Linux常见指令以及权限理解】权限理解

 给other增加可执行权限:(chmod o+x 文件名)

【Linux常见指令以及权限理解】权限理解

通过这三个例子,

我们可以观察出:u就是用户,g就是所属组,o就是other,+就是添加权限

取消所有人的权限:(chmod a-rwx 文件名)

 【Linux常见指令以及权限理解】权限理解

总结:a 是所有人,-就是取消权限。

补充,我们还能这样理解权限:(通过八进制的形式)

实际上,每个位置的权限都是用二进制来表示的:

比如:(我们的test.txt文件)

【Linux常见指令以及权限理解】权限理解

他的权限现在是 rw- rw- r--

用二进制表示就是:110 110 100

转换成八进制就是:6 6 4

例:(通过数字修改权限)

【Linux常见指令以及权限理解】权限理解

 我们当然也可以:

【Linux常见指令以及权限理解】权限理解

这就是权限的修改,

实际上我们还可以修改文件的拥有者和所属组,

分别是:

chown + 用户名 + 文件名

chgrp + 所属组名 + 文件名

选项 -R 可以修改目录。

这里我就不演示了,感兴趣的话可以自己去试试。

6. 第一个问题:文件的起始权限

为什么我们一创建文件,他的权限是这样的?

【Linux常见指令以及权限理解】权限理解

普通文件是:664

目录文件是:775

实际上,Linux系统给普通文件的起始权限是666

而默认给目录文件的起始权限是777

而Linux中存再权限掩码,我们可以用umask查看:

【Linux常见指令以及权限理解】权限理解

666的权限是:110 110 110(666)

而权限掩码是:000 000 011(0002)

最终的权限是:110 110 100(664)

我不废话,直接说计算规则:

最终权限 = 起始权限 & (~umask)

补充,当然,我们也可以自己修改umask:

【Linux常见指令以及权限理解】权限理解

我们可以看到,改了umask 之后,起始权限确实变化了。

 7. 第二个问题:目录的权限

前面我已经介绍了目录权限相关的操作和现象,

现在有个场景:

【Linux常见指令以及权限理解】权限理解  

有两个用户同时在一个公共目录下工作:(在d1目录下)

【Linux常见指令以及权限理解】权限理解

 xl用户写了个文件,

test 用户可以查看这个文件

【Linux常见指令以及权限理解】权限理解

 因为这个文件给other开发了读权限:

【Linux常见指令以及权限理解】权限理解

 那么,如果我们把读权限取消呢?

【Linux常见指令以及权限理解】权限理解

 这样,test 用户就无法阅读了:

【Linux常见指令以及权限理解】权限理解

这个时候,test 用户一气之下,想着不给我读是吧,你也别想好过

就想把这个文件删除:

【Linux常见指令以及权限理解】权限理解

 结果这个文件真的被他删了,

明明这个文件不是test用户的,他却能够删除该文件,

很显然,这样的设计并不合理。

实际上,我们刚刚探索过目录的权限,

目录的权限是:

r 代表我们是否能够查看指定目录下的文件

w 代表我们是否能在当前目录下创建、更改和删除文件

这样一说,你可能会想到,那我么直接将该目录的w权限取消,

被人不久删不了文件了吗?是的,但是你要无法操作文件了。

那我们该怎么办?

8. 第三个问题:粘滞位

为了解决前面出现的问题,我们可以给目录设置粘滞位。

具体是怎么操作呢?

【Linux常见指令以及权限理解】权限理解

我们添加一个隐藏权限 t 给other,t 其实是一种特殊的 x 权限。

这就叫做粘滞位,

我们来看看效果如何:

xl 用户创建了一个test文件

【Linux常见指令以及权限理解】权限理解

 我们发现,test 用户已经无法删除这个文件了:

【Linux常见指令以及权限理解】权限理解

 这就是粘滞位。

实际上,被设置粘滞位的目录只有目录的所有者和文件的所有者才能删除文件。

其实啊,操作系统也提供了一个共享的粘滞位目录在根目录下:

【Linux常见指令以及权限理解】权限理解

 如果有兴趣的话,也可以去体验一下。

总结

本文基本将权限涵盖的知识点都介绍了,相信你对权限的理解能够更上一层楼。

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~文章来源地址https://www.toymoban.com/news/detail-451965.html

到了这里,关于【Linux常见指令以及权限理解】权限理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】——常见指令及权限理解

    今天开始带大家来学习Linux系统编程,Linux是一个纯指令操作的操作系统,所以熟悉Linux的常见指令是最重要的第一步,本文作为Linux板块第一篇文章,首先为大家介绍Linux中常见的指令及Linux中权限的理解。 首先我们要学习的是用户管理的指令,这是必须的。如果不添加普通用

    2024年02月05日
    浏览(29)
  • 【Linux】常见指令以及具体其使用场景

    君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C++ 游戏开发 Hello,米娜桑们,这里是君兮_,随着博主的学习,博主掌握的技能也越来越多,今天又根据最近的学习开设一个新的专栏——Linux,相信Linux操作系统在日常开发过程中是必不可少的,今天我们就先来讲讲Lin

    2024年02月06日
    浏览(37)
  • 一文学会Docker常见指令以及常见容器安装

    前言 : docker技术应该是每个后端开发人员都需要掌握的知识,熟练掌握docker的常见命令十分必要。 Docker是一种开源的容器化平台,它可以将应用程序及其依赖项打包到一个可移植的容器中,从而实现快速部署和运行。本文将介绍Docker的基本概念、优点和使用方法。 一、Do

    2024年02月11日
    浏览(33)
  • JVM-透彻理解字节码以及指令

    一、字节码与指令概述 生成字节码: 解释:         cafe babe -  魔数         0000 0031 - 版本号,前面大版本,后面小版本         0022 - 常量池大小 二、JVM编译基本原理 示例: 大白话:         符号解析: int x = 5 -  int 类型的字段 x值为5 以及作用域 大白话:        

    2024年01月22日
    浏览(35)
  • Linux权限(+Linux基本指令(下))

    目录 一.基本指令补充 1.date指令 2.find指令 3.tar指令 4.Linux下的常用热键 二.Linux权限 1.Shell 2.Linux权限的概念 3.Linux文件的默认权限值 Linux下的文件权限的起始值:   文件权限掩码与文件权限默认值:  4.Linux的文件权限修改 文件拥有者属性修改: 文件权限值(可操作属性)修改: 5.特

    2024年02月05日
    浏览(28)
  • 【Linux】指令与权限

      Yan-英杰的主页 悟已往之不谏 知来者之可追    C++程序员,2024届电子信息研究生 目录 一、Xshell配置        会话配置                                                                                     日志 二、指令       

    2024年02月12日
    浏览(28)
  • 【理解ARM架构】不同方式点灯 | ARM架构简介 | 常见汇编指令 | C与汇编

    🐱作者:一只大喵咪1201 🐱专栏:《理解ARM架构》 🔥格言: 你只管努力,剩下的交给时间! 在学习C语言的时候,我们会写个 Hello World 程序来入门,当我们写ARM程序,也该有一个简单的程序引领我们入门,这个程序就是点亮LED。 查看原理图,确定控制LED的引脚: 如上图是

    2024年02月05日
    浏览(32)
  • 【Linux】3. 基本权限与文件指令

    角色和文件属性是一一对应的关系: 拥有者-所属组-其他人 rwx - rwx - rwx 首先要明确一点: 粘滞键是用于公共目录下的,也就是777 (原因:other用户可以删除拥有者的文件,需要写入权限) 1.目录的可执行权限是表示你可否在目录下执行命令。 2.如果目录没有-x权限,则无法

    2024年02月01日
    浏览(35)
  • 全面解析Linux指令和权限管理

    date 指令: date 用法:date [OPTION]… [+FORMAT] 我们还可以指定date显示时间的格式: date指令还有以下的指令: %H : 小时(00…23) %M : 分钟(00…59) %S : 秒(00…61) %X : 相当于 %H:%M:%S %d : 日 (01…31) %m : 月份 (01…12) %Y : 完整年份 (0000…9999) %F : 相当于 %Y-%m-%d date +%s 可以显示当前的时间戳: 还可

    2024年02月05日
    浏览(25)
  • Linux的基本指令和权限的知识

    学前的建议: 大家不要太关注指令是啥,记不住怎么办(没事,想用时去查就好了),这篇文章重点部分是围绕指令的周边知识。毕竟指令是“死肌肉”,而一些关于Linux和操作系统的 理论知识才是最重要滴!!! 加红的选项, 需要多练,在日常使用频繁!!! 目录 1. L

    2024年02月04日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包