Linux权限的理解
Linux权限是一种机制,用于控制用户或进程对文件和目录的访问权限。在Linux中,每个文件和目录都有一组权限,它们确定了哪些用户可以访问该文件或目录、以及他们可以对其执行哪些操作。
Linux权限由三个部分组成:所有者权限、组权限和其他用户权限。每个部分都包含三个权限位:读、写和执行权限。权限位可以分别用数字表示,分别是4、2和1,或用符号表示,如r、w和x。例如,rwxr-xr--表示所有者具有读、写、执行权限,组用户具有读和执行权限,其他用户只有读权限。
通过更改文件或目录的权限,可以限制特定用户或组的访问权限。这是保护敏感文件和目录的重要方式。但是,应该注意,更改权限可能会导致某些进程或应用程序无法正常工作。
Linux权限的概念
Linux下有两种用户:超级用户(root)、普通用户
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
普通用户与超级用户的互相切换
命令: su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
Linux权限管理
1.文件访问者的分类(人)
在Linux系统中,文件访问者可以分为三类:所有者、组用户和其他用户。
1.所有者:文件或目录的所有者是创建该文件或目录的用户,或者在创建过程中使用了sudo或su命令。所有者可以对该文件或目录进行任何操作,包括读取、写入和执行。
2.组用户:组用户是指文件或目录的所属组中的用户。在Linux系统中,每个用户都属于一个或多个组。如果文件或目录的所属组包含当前用户3.所属的组,则该用户就是组用户。组用户可以读取和执行该文件或目录,但不能修改。
4.其他用户:除了文件或目录所有者和所属组用户之外的所有用户都被归类为其他用户。其他用户只能读取该文件或目录,不能修改或执行。
2.文件类型和访问权限(事物属性)
一图了解~
什么意思呢?以下解释:(我们通过ll指令查看文件时通常会这样显示,以下就是对应上图)
具体介绍:
文件类型
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
基本权限
i.读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
iii.执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv.“—”表示不具有该项权限
3.文件访问权限的相关设置方法
chmod
功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
①用户表示符+/-=权限字符
用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
🌰
文件权限值的表示方法
②三位8进制数字来修改权限
chmod a=x /home/abc.txt
chown
功能:修改文件的拥有者
格式: chown [参数] 用户名 文件名
常用选项:
-R : 处理指定目录以及其子目录下的所有文件
chgrp
功能:修改文件或目录的所属组
格式: chgrp [参数] 用户组名 文件名
常用选项:
-R 递归修改文件或目录的所属组
umask
功能:查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask。
格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
# umask 755 # umask //查看 # umask 044//设置
file指令
功能:辨识文件类型。
语法: file [选项] 文件或目录...
常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容
使用 sudo分配权限
(1)修改/etc/sudoers 文件分配文件
# chmod 740 /etc/sudoers # vi /etc/sudoer
格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令
(2)使用 sudo 调用授权的命令
$ sudo –u 用户名 命令
Linux目录的权限
在Linux系统中,目录的权限也是通过权限标记(rwx)来控制的。目录的权限包含三种:
1.读权限(r):能否查看目录中的内容和属性。
2.写权限(w):能否在目录中创建、删除或重命名文件或目录。
3.执行权限(x):能否通过目录进入其下子目录或者访问其下文件。
与文件不同,目录的权限还涉及到其下所有文件和子目录的访问权限。对于一个用户,只有当该用户拥有访问目录的权限和目录下的所有文件和子目录的权限,才能够访问该目录。
需要注意的是,对于目录的权限,只有在拥有执行权限的情况下,才能够访问该目录下的文件。若没有执行权限则无法查看或访问目录下的内容。
粘滞位
Linux中的粘滞位是一种特殊的权限标记,用于保护某些目录和文件,以防止被误删或者更改。当一个目录或者文件的粘滞位被设置后,只有该目录或文件的所有者和超级用户才能够进行删除、重命名或者更改操作。其他用户或者进程没有权限进行这些操作。
粘滞位的标记是“t”或者“T”,其在权限位中的位置与其他标记一致。如果在权限位中显示为“t”,表示该文件或目录的粘滞位已经被设置,只有该文件或目录的所有者和超级用户才能进行删除、重命名或者更改操作;如果显示为“T”,表示该文件或目录的权限中的执行位没有启用,粘滞位无效。
功能:防止他人删除
语法:chmod +t 目录
感谢你耐心的看到这里ღ( ´・ᴗ・` )比心,如有哪里有错误请踢一脚作者o(╥﹏╥)o!