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用户发出后,指令就可以运行了

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

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

以及改变角色权限

相关推荐
fengyehongWorld23 分钟前
TeraTerm ttl脚本登录wsl
linux·teraterm
乌托邦的逃亡者1 小时前
Linux中如何检测IP冲突
linux·运维·tcp/ip
一曦的后花园1 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
乌托邦的逃亡者2 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos
拾贰_C2 小时前
【OpenClaw | openai | QQ】 配置QQ qot机器人
运维·人工智能·ubuntu·面试·prompt
桌面运维家2 小时前
服务器进程异常监控:快速定位与排障实战指南
运维·服务器
@CLoudbays_Martin112 小时前
UniApp是否能够接入SDK游戏盾呢?
服务器·网络·网络协议·tcp/ip·安全
念恒123063 小时前
进程控制---自定义Shell
linux·c语言
风曦Kisaki3 小时前
# Linux Shell 编程入门 Day02:条件测试、if 判断、循环与随机数
linux·运维·chrome
木雷坞3 小时前
视觉算法环境 Docker 镜像拉取失败排查
运维·人工智能·docker·容器