Linux权限管理
1、权限概述
权限的基本概念
定义:Linux权限是操作系统对用户/进程访问资源的精细化管控机制,通过 读(r=4)、写(w=2)、执行(x=1) 三种基础权限组合实现。
运维视角
读(r):查看文件内容(如cat
)、列出目录内容(如ls
)。 写(w):修改文件内容、删除/创建目录内文件。 执行(x):运行脚本/程序(文件)、进入目录(目录必备)。
2、解析Linux权限标识
01首字符(文件类型):
-
-
:普通文件(脚本、配置、日志等) -
d
:目录(运维核心操作对象) -
l
:符号链接(软连接, 硬链接)(如快捷方式/usr/bin/python3 -> python3.9
)
02权限九宫格(rwxr-xr--):
-
属主(u):文件所有者(如
nginx
用户对deploy.sh
有rwx
权限) -
属组(g):同组用户(如
nginx
组成员可执行deploy.sh
) -
其他用户(o):非所有者且非组成员(仅能读
deploy.sh
)
03属主,主人(User):
-
你亲手创建的文件,默认你就是主人。
-
就像你的手机,你拥有最高权限(可以随便下载App)。
05属组,家人(Group):
-
你和室友同属一个“合租群”,群成员共享厨房权限。
-
比如你和同事同属“运维组”,组员能一起修改服务器脚本。
06其他用户,陌生人(Others):
-
既不是主人,也不是群成员的路人。
-
就像你家Wi-Fi密码,陌生人默认不能连。
-
特殊用户root
在Linux操作系统中,root拥有最高权限(针对所有文件),所以权限设置对root账号没有效果。
在Linux系统中,三大类用户也可以拥有简写形式
user属主(u)、
group属组(g)、
other其他人(o)a 所有人
3、权限管理
文件或文件夹权限设置(字母)
基本语法:ch = changemod 简单理解权限
chmod [选项] 权限设置 文件或目录的名称选项说明:
-R :递归设置,针对文件夹(目录)
重点 :字母设置rwx并不难,
重点看三方面第一个:确认要给哪个身份设置权限 u、g、o、ugo(a)
第二个:确认是添加权限(+)、删除权限(-)还是赋予权限(=)
第三个:确认给这个用户针对这个文件或文件夹设置什么样的权限,r、W、×
案例:给readme.txt文件的拥有者,增加一个可执行权限
# chmod u+x readme.txt
案例:把readme.txt文件的拥有者的可执行权限去除
# chmod u-x readme.txt
文件或文件夹权限设置(数字)
经常会在技术网站上看到类似于 chmod 777 a.txt
这样的命令,这种形式称之为数字形式权限。
7(属主)7(属组)7(其他人): rwxrwxrwx
第一个数字7,代表文件拥有者权限
第二个数字7,代表文件所属组内用户权限
第三个数字7,代表其他用户权限
rwx=4+2+1=7
rw=4+2=6
rx=4+1=5
案例:给readme.txt设置权限,文件的拥有者rwx,组内用户rw,其他用户r
rwx = 7
rw = 6
r = 4
# chmod 764 readme.txt
案例:给shop文件夹设置777权限
# chmod -R 777 shop
特殊权限说明
Linux中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录
是否有写权限,如果有才可以删除(同时必须具备执行权限).
/shell/readme.txt我们想删除readme.txt文件,必须要对shell目录具有可写权限,否则文件无法删除