1. 权限管理:
mode : rwxrwxrwx
## 左三位 : 定义user(owner)的权限;
## 中三位 : 定义group的权限;
## 右三位 : 定义other的权限;
ownership : user , group ;
进程安全上下文:
进程对文件的访问权限应用模型:
## 进程的属主与文件的属主是否相同,如果相同,则应用属主权限;
## 否则,则检查进程的属主是否属于文件的属组,如果是,则应用属组的权限;
## 否则,只能应用other的权限;
2. 权限:
r : readable , 读
w : writable , 写
x : excutable , 执行
文件权限描述:
r : 可获取文件的数据;
w : 可修改文件的数据;
x : 可将此文件运行为进程;
目录权限的描述:
r : 可使用 ls 命令获取目录下的所有文件;
w : 可修改此目录下的文件列表,创建或删除文件;
x : 可 cd 至此目录中,且可以使用 ls -l 获取所有文件的详细属性信息;
3. 权限组合机制
mode: 二进制: 八进制:
— 000 0
–x 001 1
-w- 010 2
-wx 011 3
r– 100 4
r-x 101 5
rw- 110 6
rwx 111 7
4. 权限管理命令
chmod : 用户仅能修改属主为自己的文件的权限;
chmod – change file mode bits
用法一:
chmod [OPTION]… MODE[,MODE]… FILE…
MODE:
u=
g=
o=
a=
或者
u+ , u-
g+ , g-
o+ , o-
a+ , a-
备注1:上面列出的MODE值,后接权限 rwx 的一个或多个;
备注2:MODE值中的 ugo 可2个组合使用;
备注3:MODE值中,如果修改的是 ugo 三个权限,则可用 a 代替;
用法二:
chmod [OPTION]… OCTAL-MODE FILE…
OCTAL-MODE:用8进制数字表示权限;
用法三:
chmod [OPTION]… –reference=RFILE FILE..
参照 RFILE 的权限,修改 FILE 的权限值;
5. 从属关系管理命令
chown – change file owner and group
仅管理员能修改;
用法一:
chown [OPTION]… [OWNER][:[GROUP]] FILE…
备注: OWNER.GROUP 也可用点号隔开;
用法二:
chown [OPTION]… –reference=RFILE FILE…
chgrp – change group ownership
用法一:
chgrp [OPTION]… GROUP FILE…
用法二:
chgrp [OPTION]… –reference=RFILE FILE…
6. umask : 文件的权限反向掩码,遮罩码;
666-umask : 文件创建后的默认权限;
777-umask : 目录创建后的默认权限;
umask : 查看系统当前的 umask ;
umask MASK : 设置umask;这种修改只对当前shell有效;
7. install – copy files and set attributes
install [OPTION]… [-T] SOURCE DEST
install [OPTION]… SOURCE… DIRECTORY
install [OPTION]… -t DIRECTORY SOURCE…
install [OPTION]… -d DIRECTORY… 创建空目录,默认权限为755
OPTION:
-m, –mode=MODE : 设定目标文件权限;不带此选项时,默认权限为755;
-o, –owner=OWNER : 设定目标文件的属主;
-g, –group=GROUP : 设定目标文件的属组;
8. mktemp
mktemp – create a temporary file or directory
Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive ‘X’s in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and –tmpdir is implied. Files are created u+rw, and directories u+rwx,minus umask restrictions.
mktemp [OPTION]… [TEMPLATE]
OPTION:
-d : 创建空目录
[root@localhost ~]# [root@localhost ~]# mktemp /tmp/tmp.XXX /tmp/tmp.AXd [root@localhost ~]# mktemp /tmp/tmp.XXX XXX : 表示随机数 /tmp/tmp.CWa [root@localhost ~]# mktemp /tmp/tmp.XXXXXXXX /tmp/tmp.6I6gDq85 [root@localhost ~]# [root@localhost ~]# mktemp /tmp/tmp.XXXXXXXX /tmp/tmp.wQcj4Vlo [root@localhost ~]# mktemp -d /tmp/tmp.XXXXXXXX 创建空目录 /tmp/tmp.65wbpZXQ [root@localhost ~]# mktemp -d /tmp/tmp.XXXXXXXX /tmp/tmp.FCXrDceD [root@localhost ~]# [root@localhost ~]# ll /tmp |grep tmp* drwx------ 2 root root 6 Mar 23 01:45 tmp.65wbpZXQ -rw------- 1 root root 0 Mar 23 01:44 tmp.6I6gDq85 -rw------- 1 root root 0 Mar 23 01:44 tmp.AXd -rw------- 1 root root 0 Mar 23 01:44 tmp.CWa drwx------ 2 root root 6 Mar 23 01:45 tmp.FCXrDceD -rw------- 1 root root 0 Mar 23 01:44 tmp.wQcj4Vlo [root@localhost ~]#