权限和ACL访问控制 -01-权限
权限位
rwxrwrwx
:
左三位:定义user(owner)的权限,属主权限
中三位:定义group的权限,属组权限
有三位:定义other的权限,其他的权限
进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同。如果相同,则应用属主权限;否则去检查金证的属于是否属于文件的属组;如果是,则应用属组权限,否则,就只能引用other权限。
权限:r
:readable,可读w
:writable,可写x
:executble,可执行
- 文件
r
:可获取文件的数据w
:可修改文件的数据x
:可将此文件运行为进程
- 目录
r
:可使用ls命令获取旗下的所有文件列表w
:可修改次目录下的文件列表,即创建或删除文件x
:可cd值此目录中,且可使用ll
来获取到所有文件详细属性信息
权限组合机制:
---
:二进制000
,十进制0
--x
:二进制001
,十进制1
-w-
:二进制010
,十进制2
-wx
:二进制011
,十进制3
r--
:二进制100
,十进制4
r-x
:二进制101
,十进制5
rw-
:二进制110
,十进制6
rwx
:二进制111
,十进制7
文件权限管理命令
chmod的三种用法:
chmod [OPTION]… MODE[,MODE]… FILE…
chmod [OPTION]… OCTAL-MODE FILE…
chmod [OPTION]… –reference=RFILE FILE…
三类用户:
u
:属主g
:属组o
;其他a
:所有
(1)MODE表示法:chmod [OPTION]... MODE[,MODE]... FILE...
- 赋值表示法:直接操作一类用户的所有权限位:
u=
g=
o=
a=
- 授权表示法:直接操作一类用户的一个或多个权限位:
u+
、u-
g+
、g-
o+
、o-
a+
、a-
(2)八进制表示法:chmod [OPTION]… OCTAL-MODE FILE…
(3)参考某个文件的权限:chmod [OPTION]… –reference=RFILE FILE…
(4)chmod选项
-R
:recursive ,递归修改
从属关系管理命令
主要有两个命令chown
,chgrp
chown
更改文件的的属主(属组也能更改)
-R
:递归修改
用法:chown -R USERNAME[:FILENAME] FILENAME
例如:chown -R oracle:oinstall /u01
chgrp
更改文件的属组
-R
:递归修改
用法:chgrp -R GROUPNAME FILENAME
用到很少,chown可以修改属组,这个命令就被打入冷宫了,很少用。
新建文件和目录的默认权限(umask)
新建的文件和文件夹都有一个默认权限,那么是如何实现的呢?就是用umask实现的。
umask原理:
- 针对新建文件:
666-umas
k后的权限就是新建文件的权限 - 针对新建目录:
777-umask
后的权限就是新建目录的权限。
我们可以看/etc/bashrc
里面的umask规则:
![]/images/1496043520606.png)
看代码,即UID 大于199
,umask为002
,否则umask为022
普通用户UID在CentOS 6下大于500,CentOS7下大于1000,所以umask值为002
,默认创建的文件和文件夹权限分别为666-002=664
、777-002=775
。
而root用户,UID为0,umask值为022,默认创建的文件和文件夹权限分别为666-022=644
、777-022=755
。
练习题
1、当用户xiaoming
对/testdir
目录无执行权限时,意味着无 法做哪些操作?
无法cd到这个目录,无法删除、移动这个文件。
2、当用户xiaoqiang
对/testdir
目录无读权限时,意味着无 法做哪些操作?
无法查看这个目录,也无法ls查看这个目录里面内容。
3、当用户wangcai
对/testdir
目录无写权限时,该目录下的只读文件file1
是否可修改和删除?
不可以修改和删除。
4、当用户wangcai 对/testdir 目录有写和执行权限时,该目 录下的只读文件file1是否可修改和删除?
可以修改和删除,但是没有读权限的话,只能盲找。
5、复制/etc/fstab
文件到/var/tmp
下,设置文件所有者为 wangcai
读写权限,所属组为sysadmins
组有读写权限,其他人无权限
6、误删除了用户wangcai
的家目录,请重建并恢复该用户家目录及相应的权限属性