理解文件权限符:
可以通过ls -l命令查看文件的权限,eg:
第一部分的字段(如:-rw-r--r--.)是描述文件和目录权限的编码。该字段的第一个字符表示对象的类型,主要有以下表格中几种:
符号 | 含义 |
- | 文件 |
d | 目录 |
1 |
链接 |
c | 字符型设备 |
b | 块设备 |
n | 网络设备 |
随后的三组三字符的编码,每一组定义了三种访问权限:
符号 | 含义 |
r=4 | 对象是可读的 |
w=2 | 对象是可写的 |
x=1 | 对象是可执行的 |
注意:若没有某种权限,该限位会出现单破折线
这三组权限分别对应三个安全级别:(-rw- r-- r-- .)
-rw- r-- r-- . 就表示登录该系统的root用户有读取、写入的权限,而属于root组的成员有读取的权限,而其他不属于root组的用户只有读取的权限。
内容 | - | rw- | r-- | r-- | 1 | root | root | 12 | 4月12 20:48 | 1.txt |
含义 | 文件 类型 |
属主的权限 | 属组的权限 | 其他人的权限 | 链接 | 属主 | 属组 | 大小 | 创建 时间 |
文件名 |
元件 | 内容 | 叠代物件 | r | w | x |
文件 | 详细数据data | 文件数据夹 | 读到文件内容 | 修改文件内容 | 执行文件内容 |
目录 | 文件名 | 可分类抽屉 | 读到文件名 | 修改文件名 | 进入该目录的权限 |
chmod命令可以改变文件和目录的安全性设置,命令格式如下:
(1)使用符号:eg:chmod u+r 1.txt 使属主对1.txt文件只有读取权限
chmod | u+r | 1.txt |
命令 | 对象加权限 | 文件或目录 |
***对象(u/g/o/a)赋值符(+/-/=) 权限类型(r/w/x)
eg:改变前,1.txt的属组权限为可读(r--)
改变后,1.txt的属组权限为可读、可写(rw-)
(2)使用数字:eg:chmod 760 1.txt 使属主对1.txt有读取,可写、执行权限,属组对1.txt有读取和可写权限。
chmod | 760 | 1.txt |
命令 | 权限 | 文件名 |
**r=4 w=2 x=1 7代表属主的权限为rwx(7=4+2+1)6代表属组的权限rw-(6=4+2)
0代表其他成员的权限为---(0)
(1)chown(是change owner的简写):chown (-R) 账号名称 文件或目录
选项和参数:
-R:进行递归(recursive)的持续变更,亦连同次目录下的所有文件都变更。
eg:把1.txt的属主由root改成user01
(2)chown可以同时改变属主和属组, chown (-R) 账号名称:群组名称 文件或目录
注意:要改变的群组名称必须要在/etc/group文件内存在才可以
可以同时把1.txt文件的属主和属组改成user04
chgrp是change group的简称:chgrp 群组名称 文件或目录
选项和参数:
-R:进行递归(recursive)的持续变更,亦连同次目录下的所有文件都变更。
eg:把1.txt的属组由root改成user04
ACL是Access Control List的缩写,主要目的是提供传统的owner、group、other的read、write、execute权限之外的具体权限的设置。ACL可以针对单一的用户、单一文件或目录来进行r、w、x的权限设置。
ACL可以针对以下三个方面控制权限。
用户user | 可以针对用户来设置权限 |
用户组group | 针对用户组来设置权限 |
默认属性mask | 可以在该目录下在新建文件或者目录时设置新数据的默认权限 |
(1) setfacl(set file acl):设置某个目录或文件的ACL规定
setfacl 参数 目标文件名
-m |
设置后续的acl参数给文件使用,不可与-x合用 |
-x | 删除后续的acl参数,不可与-m合用 |
-b | 删除所有的acl设置参数 |
-k | 删除默认的acl参数 |
-R | 递归设置acl |
-d | 设置默认acl参数 |
(2)getfacl(get file acl):取得某个文件/目录的ACL设置项目
getfacl 参数 目标文件名(getfacl参数和setfacl参数相同)