Linux权限的理解

本文介绍了Linux系统中的权限概念,区分超级用户和普通用户,以及如何通过shell命令如chmod、chown和chgrp进行权限设置。重点讲解了文件类型、访问权限、默认权限和粘滞位的使用,以确保系统的安全和管理效率。
摘要由CSDN通过智能技术生成

Linux严格意义上说的是一个操作系统,我们称之为核心
在这里插入图片描述
但我们不能直接接触核心,我们不擅长和内核交流,它也没法信任你,所以需要通过外壳程序 shell ,shell外壳有命令解释和保护内核的作用

Shell的最简单定义:命令行解释器主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。

Shell具体做法是创建子进程–>让子进程执行命令,父进程继续进行命令行获取
Shell外壳是对命令行解释器的统称,具体又有bash解释器、sh解释器

权限的概念

Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

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

如果只想用root账号执行一条命令,可以用sudo将权限升级
在了解基础的vim操作后再进行升级

命令行中输入
vim /etc/sudoers
在这里插入图片描述
复制root那行,然后把root改为自己的用户名
改名后:wq!强制保存退出

权限管理

文件访问者的分类
文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户(所属组):g—Group
其它用户:o—Others

ls -l 时我们可以看到文件的信息
在这里插入图片描述
所属组:
特殊情况下:一个组里可以只有一个人
一个组里也可以有很多人,用组长名字来对应组的命名

Others不显示是因为没必要显示

第一个字符表示文件类型,在windows中用后缀区分文件类型,在Linux中用第一列第一个字符来区分文件类型

Linux区分类型和后缀无关,和文件是否具有 可执行 权限有关,gcc test.txt无法运行是因为Linux不区分不代表gcc这个软件不区分

文件类型

d:目录文件
-:普通文件,源代码,可执行程序,库等
l:链接文件
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

当我们在显示器上打印了123,那么打印的是数字还是字符?
其实打印的是’1’ ‘2’ '3’字符,字符连在一起在用户看来这就是数字123
在这里插入图片描述

printf底层是把数字123转换成’1’ ‘2’ '3’字符,打印整数时需要进行格式化输出

输入的时候输入的是也不是123数字,而是’1’ ‘2’ '3’字符,然后被格式控制的形式转成整数存到a里,键盘和显示器操作时的基本单位都是字符,Linux下一切皆文件,所以键盘和显示器是字符设备文件。

基本权限

r 对文件而言,具有读取文件内容的权限
对目录来说,具有浏览该目录信息的权限

w 对文件而言,具有修改文件内容的权限
对目录来说具有删除移动目录内文件的权限

x 对文件而言,具有执行文件的权限
对目录来说,具有进入目录的权限

“—”表示不具有该项权限

在这里插入图片描述

默认权限

目录的起始权限:777
普通文件的起始权限:666

但我们看到的一般不是起始权限,这是因为Linux系统中存在权限掩码,凡是在权限掩码中出现的权限,最终都要在起始权限中去掉
在这里插入图片描述
注意:去掉不是简单的±,而是清零指定的比特位
在这里插入图片描述

访问权限的相关指令

chmod 设置文件的访问权限

R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

用户表示符+/-=权限字符
chmod u+w test.txt

用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

三位8进制数字
chmod 664 test.txt

chown 修改文件的拥有者
chown user1 test.txt

chgrp 修改文件或目录的所属组
chown -R user dir

-R 递归修改文件或目录的所属组

umask 查看或修改文件掩码
超级用户默认掩码值为0022,普通用户默认为0002。
umask //查看
umask 004//设置

粘滞位

上面我们知道了,只要有目录的写权限就可以随意删除目录中的文件,和用户是否有这个文件的写权限没有关系,毁灭你,与你无关)

为了解决这个不科学的问题, Linux引入了粘滞位的概念
chmod +t dir

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值