centos

sys.4.3 linux用户的权限管理

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 ~]#

 

Leave a Reply

Your email address will not be published. Required fields are marked *