Linux——权限

权限

权限的概念

意见事情能否运行被谁"做"

权限 = 人 + 事物属性

Linux上的用户分类

1、root,超级管理员,几乎可以做任何事情

2、普通用户

两者如何切换?

当现在身份是普通用户时,输入su指令就可以切换到root用户,再输入Ctrl + d就能切换回去

上面的su指令只是单纯的进行了身份变换

而使用su- 指令是让root进行重新登录,是处在自己的家目录里

那么当root用户想切换到普通用户时?其实root用户不需要知道密码就可以直接切换

对单条指令进行提权

当普通用户看不了一个文件后,就可以对单条指令进行提权

角色划分

1、文件拥有者

2、文件所属组

文件所属组怎么解释?

假设有两个组,A组B组;A组张三写了一段代码,组长小A想看,张三就把文件的other查看权限打开了,小A就可以看了,但是另一组的李四和小B也能看了

所以为了确保代码只能自己人看,就有了文件所属组这个概念,A组的所有人就把自己写的代码放在A组的所属组里。

3、文件的other

Linux的文件属性

可以有的属性是:读,写,执行

文件的权限和类型

文件类型

Linux下,不用文件后缀来区分文件类型,而是用文件属性中的第一列的第一个字符来区分文件类型

-:是普通文件,文本可执行程序,归档文件等

d:目录

b:块设备

c:字符设备

p:管道设备

s:网络socket文件

l:链接文件link

Linux下不用后缀来区分文件,是指的操作系统层面,而软件依旧需要用后缀来区分再来看一下文件类型后面9个符号的意义

文件自身具有的权限属性有三种

r ->可读

w ->可写

x ->可执行

  • ->该位置的权限是 没有

三个字符的位置含义是确定的

就像上面的cmd.txt文件拥有者:具有可读,具有可写,不具有可执行权限

如何修改文件的权限?

先看看文件权限

使用chmod指令修改

拥有者权限用 u 表示拥有者,+ 表示添加权限,r表示可读权限

上面的指令就表示,给test.txt文件添加可读的权限

再看看文件权限

看一下这里的指令

这里的 g 就表示所属组,所以意思就是给所属组加上可写的权限

还有

则是指给other添加可执行的权限

也可以一次性添加多个权限

去掉权限就是 -

如果是想给所有角色都加x可执行权限

这里的a就是all的意思

以及

再看看cmd文件,这里权限如果拥有就用1表示,没有就用0表示

则cmd文件的三个角色的权限就可以表示为 110 110 100

二进制转换为八进制,表示为664

所有文件权限又多了一种改法

上面的777中每个7就代表三个1,所以意思就是给所有的角色赋所有的权限

000则是取消所有的权限

有没有权限有什么区别?

现在先给test.txt文件取消所有的权限

当我们以普通用户的身份查看文件时,就会被拒绝

但当我们是超级用户时,就能无条件查看文件

这里我们想把test.txt文件的所有者改成root,但是好像改不了

但当指令用root用户发出后,指令就可以运行了

这里就是改变文件的所属组

这个时将拥有者和所属组都改变为一个用户

以及改变角色权限

相关推荐
北京迅为9 分钟前
《【北京迅为】itop-3568开发板NPU使用手册》- 第 7章 使用RKNN-Toolkit-lite2
linux·人工智能·嵌入式·npu
Dragon~Snow19 分钟前
Linux Centos9 安装 Elasticsearch
linux·elasticsearch·jenkins
熊延19 分钟前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
Jia ming25 分钟前
跟踪器与事件使用举例
linux·事件·跟踪器
生活很暖很治愈37 分钟前
Linux——基础IO&软硬链接
linux·ubuntu
2401_858936881 小时前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
Roc.Chang1 小时前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂2 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro2 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm