【Linux】权限管理

文章目录

前言

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

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

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

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

命令:su 用户名,功能是切换用户。例如,我们要从超级用户切换到普通用户,我们则使用su name,这里我们一般不需要输入密码。要从普通用户切换到超级用户的话就输入su root,root也可以省略,此时系统会提示输入root用户的口令。

重点:su - 是切换为root用户命令。

1.权限访问者的分类

1.文件的拥有者owner

2.文件的所属组grouper

3.文件的其他用户other

如何理解所属组这个概念呢,就拿一个公司的两个研发小组打比方:

他们一起开发同一个项目,如果没有所属组,A组成员创建一个文件,并开放权限给自己的组员查看,那么这个文件他自己(拥有者)可以看见,B组的成员(other)也能看见。而从现实来说,A组成员是不希望B组成员看到的,所以就有了所属组这个概念。设置所属组就可以让A组成员之间看到A组的文件,而B组看不到。

2.文件类型与访问权限

Linux不以后缀来区分文件类型,但是其中的编译器等工具以后缀名区分文件类型。

注意:这里第一个root是拥有者,第二个root是所属组。

文件类型:目录文件,所有者(owner):可读可写可执行(rwx);用户组(grouper):可读可写可执行(rwx);其他用户(other):可读可执行(r-x)。

文件类型:d和-占有95%---目录文件、普通文件。

d:目录文件

-:普通文件(文本、源代码、可执行程序、第三方静态库)

l:链接文件(类似windows的快捷方式)

b:块设备文件(硬盘、光驱)

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

基本权限:有字符表示和八进制表示方法(有这个权限就八进制加法得出八进制数,比如rwx=1+2+4=7,八进制7表示rwx权限)。

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

写(w):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限.

执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。

-:表示该项无权限。

3.文件权限值的表达方式

4.文件访问权限的相关设置

方法:chmodchownchgrpumask

1.chmod

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

格式:chmod 参数 权限 文件名

常用选项:

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

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

chmod命令权限值的定义:

①用户表示符 + - =权限字符

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

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

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

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户

②修改所有权限:chmod a=x /home/abc.txt。

③三位8进制数字。

熟记:777所有权限都有---111 111 111,000所有权限都没有---000 000 000,666去除other权限---110 110 110。

八进制转二进制数(一个位转2进制),然后一一匹配位置就知道r w x的权限。

chown:

功能:修改文件的拥有者。

格式:chown 参数 用户名 文件名

非root用户直接使用---chown 用户名 file会报错---Operation not permitted

正确用法:sudo chown 用户名 file---这里的sudo就是提升权限的意思:以root身份去运行程序chown

chgrp:

功能:修改文件或目录的所属组。

格式:chgrp 参数 用户组名 文件名。

常用选项:-R 递归修改文件或目录的所属组。

umask:

功能: 查看或修改文件掩码。

1.格式:umask 权限值 说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限

2.对于减去的解释:这里的减去不是指二进制的加减,而是和umask的取反结果按位与

3.新建文件夹默认权限=0666 新建目录默认权限=0777(不同系统可能有差异) 但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。

4.假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

5.超级用户默认掩码值为0022,普通用户默认为0002

6.默认权限不是最终权限--->最终权限=默认权限 & (~umask)---即:默认权限和umask取反结果按



5.file指令

file指令:

功能说明:辨识文件类型

语法:file 选项 文件或目录...

常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。

-z 尝试去解读压缩文件的内容

6.目录权限理解与漏洞

可读权限(w): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容

可写权限®: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

可执行权限(x): 如果目录没有可执行权限, 则无法cd到目录中

只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。

其他用户不能读写你的文件,但是我可以删除你。为了解决这个不科学的问题, Linux引入了粘滞位的概念。

7.粘滞位的理解

我们设置权限不让其他用户不能读写一个文件,这是可以的;但是防不住别人删这个文件!一个共享目录下,你不让我写,不让我读,但防不住我删除!因此诞生了粘滞位!

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:owner和root删除,other不能删除。

一、超级管理员(root)删除

二、该目录的所有者(owner)删除

三、该文件的所有者(owner)删除

相关推荐
大树8814 分钟前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠17 分钟前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质40 分钟前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush443 分钟前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz1 小时前
Maven依赖冲突
java·服务器·maven
Inhand陈工2 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩2 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_2 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化