在Linux中,用户和组的权限管理是很基础,也是很至关重要的。本文,对这个知识点做了一次详细的梳理;
[TOC]
一、文件的权限主要针对3类用户定义
owner:属主,简写为:u;
group:属组,简写为:g;
other:其它,简写为:o;
每个文件针对每类访问者都定义了三种权限:
r:Readable:可读
w:Writable:可写
x:eXcutable:可执行
对文件来说以上三种权限的意义:
r:可使用文件查看类工具获取其内容;
w:可修改其内容;
x:可以把此文件提请内核启动为一个进程;
对目录来说,以上三种权限的意义:
>- **r**:可以使用ls查看此目录文件中的列表;
>- **w**:可在此目录中创建文件,也可删除此目录中的文件;
>- **x**:可以使用ls -l查看此目录中文件列表,可以cd进入此目录;
- - -
000
0
- - x
001
1
- w -
010
2
- w x
011
3
r - -
100
4
r - x
101
5
r w -
110
6
r w x
111
7
从上图可以看出:
r : 4
w : 2
x : 1
例如:
640:rw-r-----
755:rwxr-xr-x
二、修改用户权限
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
1.chmod [OPTION]... OCTAL-MODE FILE...
-R:递归修改权限
实际示例:
2.chmod [OPTION]... MODE[,MODE]... FILE...
MODE:修改一类用户的所有权限:
u=#
g=#
o=#
ug=#
a=#
u=#,g=#
Note:#代表你所需要改的权限
实际示例:
MODE:修改一类用户的某位或某些权限:
u+#
u-#
g+#
g-#
o+#
o-#
gu+#
Note:#表示某位或某些权限
实际示例:
3.chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的修改为同RFILE一样的权限;
图片示例:
4.修改文件属主和属组:
仅root可用
修改文件的属主:chown
chown OPTION]... [OWNER] FILE...
用法:
OWNER:仅修改属主
OWNER:GROUP:修改属主和属组
:GROUP:仅修改属组
Note:命令中的:可用 . 号替换;
-R:递归
实际示例:
chown [OPTION]... --reference=RFILE FILE...
同上面chmod的用发一样
4.修改文件属组:chgrp
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
-R:递归
实际示例:
4.文件或目录创建时的遮罩码:umask
FILE:666-umask
Note:如果某类的用户的权限减得的结果中存在x权限,则将其权限+1
DIR:777-umask
umask:查看
umask+#:设定
Note:仅对当前用户的当前shell进程有效;
实际示例: