权限管理rwx
一.普通权限rwx1.rwx对文件的影响①r对文件的影响②w对文件的影响③x对文件的影响2.图解常见操作权限二.高级权限1.在Linux系统中有哪些高级权限① 冒险位(特殊位)(u + s) => S② 强制位(g + s)③ 粘滞位(o + t) => T三.更改文件的拥有者以及所属组1.什么是拥有者什么是所属组2.更改文件的拥有者与所属组3.chown更改文件拥有者4.chgrp更改文件的所属组5.chown同时修改文件属主以及属组四.ACL访问权限控制1.ACL能做什么2.getfacl3.setfacl一.普通权限rwx
1.rwx对文件的影响
①r对文件的影响
针对目录
一个目录拥有r权限,说明可以查看该目录里的内容(ls命令列出)。
针对普通文件
一个普通文件拥有r权限,说明可以查看该文件的内(cat/head/tail/less/more等命令查看)。
读权限r(read)用数字表示是4。
②w对文件的影响
针对目录
一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等)。
针对普通文件
一个普通文件拥有w权限,说明可以修改该文件的内容(vi/vim编辑器编辑文件)。
写权限w(write)用数字表示是2
如果我们想在Linux系统中删除某个文件,不是看这个文件有什么权限,而是要看这个文件所处的上级目录是否具有w权限。
③x对文件的影响
针对目录
一个目录拥有x权限,说明可以进入或切换到该目录里(cd命令)。
针对普通文件
一个普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限)。
shell.sh => 类似Windows中的exe文件。
执行权限x(execute)用数字表示是1
2.图解常见操作权限
/ (以下文件都在根目录下)/dir1 /dir2(同级关系)/dir1/file1
二.高级权限
1.在Linux系统中有哪些高级权限
① 冒险位(特殊位)(u + s) => S
冒险位,指文件操作者(用户)临时拥有文件拥有者的权限冒险位,一般针对的是命令或者脚本文件冒险位,用字母表示是s或S;数字表示是4冒险位的设置:chmod u+s 文件名
或者chmod 4xxx 文件名
注:主要针对可执行的二进制文件,如/usr/bin/passwd文件
② 强制位(g + s)
强制位,一般针对的是目录
如果一个目录拥有强制位,那么任何用户在该目录里所创建的任何文件的属组都会继承该目录的属组。
强制位,用字母表示是s或S;数字表示是2
强制位的设置:chmod g+s 文件名
或者chmod 2xxx 文件名
注:主要针对目录进行设置,比如shop目录,文件拥有者root,所属组linux,g+s
这样以后我们在shop目录下创建的所有文件的所属组都会继承shop文件夹的linux
③ 粘滞位(o + t) => T
粘滞位,一般针对的是公共目录
如果一个公共目录拥有粘滞位,那么该目录下的文件,只有root和文件的创建者可以删除,其他人只能自己管理自己。(A用户不能删除B用户创建的文件)
粘滞位,用字母表示是t或T;数字表示是1
粘滞位的设置:chmod o+t 文件名
或者chmod 1xxx 文件名
三.更改文件的拥有者以及所属组
1.什么是拥有者什么是所属组
2.更改文件的拥有者与所属组
有些软件或程序要求比较特殊,其如果想正常运行,拥有者与所属组必须是某个值。
注:如mysql数据库,其要求系统中必须有一个mysql的系统账号,而且要求其安装目录的文件拥有者以及所属组都必须是mysql
3.chown更改文件拥有者
# chown [选项] 新文件拥有者 文件名称选项说明:-R :递归设置,主要针对文件夹
4.chgrp更改文件的所属组
# chgrp [选项] 新文件所属组 文件名称选项说明:-R :递归设置,主要针对文件夹
5.chown同时修改文件属主以及属组
# chown [选项] 新的文件拥有者:新的文件所属组 文件名称# chown [选项] 新的文件拥有者.新的文件所属组 文件名称选项说明:-R :递归设置,主要针对文件夹
四.ACL访问权限控制
1.ACL能做什么
ACL访问控制策略可以作为前面所讲权限的补充,更加细的来控制文件的权限。ACL策略可以只针对某个用户在文件上有相应权限。ACL策略也可以只针对多个用户或者一个组里的所有用户在文件上有相应权限。2.getfacl
基本语法:
# getfacl = get + file + acl => 获取某个文件的ACL权限
案例①:获取readme.txt文件的ACL权限
# getfacl readme.txt
3.setfacl
常用选项:-m 修改或者设置ACL策略-R 递归授权,对目录下已存在的目录或文件有acl策略,但新建的文件没有-x 去掉某个用户或者某个组的权限-b 删除所有的acl策略-d 默认ACL策略,只针对目录,该目录下新建的目录和文件都会继承acl策略mask: 定义除其他人和所有者外的最大权限
案例①:修改readme.txt文件的ACL权限(给linux这个账号开通rw权限)
# setfacl -m u:linux:rw readme.txtu代表userlinux代表具体的某个用户rw代表权限
案例②:修改shop文件夹的ACL权限(给linux组开通rwx权限)
# setfacl -R -m g:linux:rwx shopg代表grouplinux代表具体的某个用户组名称rwx代表用户组权限
案例③:删除某个用户权限
# setfacl -x u:linux readme.txt
案例④:删除所有的ACL权限
# setfacl -b readme.txt