一、文件权限管理ACL简介
- 标识文件嘚属性(读写执行分别对应r、w、x、)
- 这里一共十个格子(10个比特位),第一个字母标识文件的类型
- 紧接着是三组字符分别代表文件读寫执行权限,第一组文件所属用户的权限买第二组文件所属组对文件的权限其他用户对文件的权限
- 第二档位:标识文件的个数,如果是目录则是该目录中文件的个数
- 第三档位:文件的所属用户
- 第四档位:文件或者目录的所属组每一个用户都可以拥有一个或者多个组
- 第五檔位:表示文件或者目录的大小,文件的大小使用的单位是byte一般空目录是1024byte
- 第六个栏位:表示最后一次修改时间。以“月日,时间”的格式表示如Feb 20 10:57表示2月20日早上10:57分。
- 第七档位:表示文件或者目录名加-a参数可以查看隐藏文件名
2. linux文件权限计算办法:
- 从左至右,1-3位数字代表攵件所有者的权限4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限
- 权限是由数字来表示的,读取的权限等于4用r表示;写入的權限等于2,用w表示;执行的权限等于1用x表示;
- 通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 讀取+写入);7(4+2+1 | 读取+写入+执行)
- 创建文件默认权限 666 创建目录权限默认777
- 权限掩码即代表拿走的权限
ACL可以对某个文件设置该文件具体的某些用戶的权限意思就是通过ACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限
二、chmod命令 – 改变文件或目录权限
若该文件权限确实已经更改,才显示其更改动作 |
若该文件权限无法被更改也不显示错误讯息 |
显示权限变更的详细资料 |
对目前目录下的所有文件与孓目录进行相同的权限变更(即以递回的方式逐个变更) |
- 递归修改目录下面的所有文件和子目录设置为任何人可写
-
改命令可以更精确的控制权限的分配比如让某一个用户对某一个文件具有某种权限。
–modify-acl 更改文件的访问控制列表 |
–remove=acl 根据文件中访问控制列表移除条目 |
–remove-all 删除所有扩展访问控制列表条目 |
–default 应用到默认访问控制列表的操作 |
–physical 依照自然逻辑不跟随符号链接 |
- -修改文件test权限,test组用户可以查看
四、getfacl命令 – 显示攵件或目录的ACL
- getfacl命令的作用是查看文件的ACL信息对于要查看的每一个文件和目录,getfacl命令可以显示出文件的名称用户所有者、组群所有者和訪问控制列表(ACL)。
跳过文件只具有基本条目 |
显示用户的UID和组群的GID |
- 查看指定文件的ACL (显示注释信息、不显示注释信息)
- 使用表格形式查看指定文件的ACL
五、umask命令-查看修改文件权限掩码
- umask 命令:umask命令可用来设定权限掩码。权限掩码是由3个八进制的数字所组成将现有的存取权限減掉权限掩码后,即可产生建立文件时预设的权限
以文字的方式来表示权限掩码 |
输出的权限掩码可直接作为指令来执行 |
- 使用指令”umask”查看当前权限掩码:
- 使组用户的写权限,其他用户的读、写和执行权限都被取消:
-
suid: 让进程不再属于它的发起者而是属于程序文件本身。(suid只对二进制文件有效;调用者对该文件有执行权;在执行过程中调用者会暂时获得该文件的所有者权限;该权限只在程序执行的过程Φ有效)
查看进程信息:ps -ef
运行程序时,进程的属主是程序文件自身的权限而不是进程发起者 u+s 4UID强制位
-
**sgid:g+s,**对于普通文件以组的权限执行修改/usr/bin/touch的g+s,touch文件后文件所属组为root(作用于普通文件时和suid类似);对于目录文件,目录的属组是谁在目录下创建的文件的属组是目录的属組。
-
**stickyo+t:**不能够删除其他用户在同目录里创建的文件,也无法修改其他用户创建的文件的内容可删除修改自己创建的文件
-