您的位置:首页 > 运维架构 > Linux

Linux战地日记——权限管理命令

2015-09-14 00:33 567 查看

权限管理命令包括chmod、chown、chgrp;其全称分别为:

chmod : change the permissions mode of a file 改变文件或目录的权限

chown : change file ownership 改变文件或目录的所有者

chgrp : change file group ownership 改变文件或目录的所属组

chmod 改变文件或目录权限

改变方式分为两种:符号模式改变权限,绝对方式改变权限。

1.符号模式改变权限,一般格式:

chmod key 文件名

key包括三个部分:

[who] [操作符号] [mode]

[who]包括:

u 用户(user) 文件或目录的所有者

g 同组用户(group)用户 与文件主有相同组ID的所有用户。

o 其他(others)用户

a 所有(all)用户。

[操作符号]可以是:

+ 添加某个权限

- 取消某个权限

= 赋予权限并取消其余所有权限

[mode]

r 可读

w 可写

x 可执行

2.以绝对方式改变权限(常用)

chmod mode 文件名

mode为二进制方式,可执行为1,不可执行为0

形如:rwxr-wr-- 二进制为111 101 100

注意:我们将test1文件夹下的f1文件的权限设置为777,即可读可写可执行,然后我们删除文件,即rm f1,有什么后果呢?

[bestcoder@localhost test1]$ chmod 777 f1
[bestcoder@localhost test1]$ ls -l f1
-rwxrwxrwx. 1 bestcoder bestcoder 0 9月  15 01:44 f1
[bestcoder@localhost test1]$ rm f1
rm: 无法删除"f1": 权限不够
效果:提示无法删除"f1":权限不够

为什么会出现这种效果呢?原因是文件的删除创建与其所在目录的权限w有关,查询目录权限后发现其权限是可读写执行的,那么目录权限和其内容有什么关系呢?

[bestcoder@localhost test1]$ ls -ld ../test1/
dr-xr-xr-x. 4 bestcoder bestcoder 91 9月  15 01:44 ../test1/


文件和目录权限的关系:



通过这个我们发现,要想创建删除文件,其所在目录必须可读的,所以我将目录权限改为777,问题就迎刃而解啦。

umask命令

设置新建文件的默认权限

[bestcoder@localhost test1]$ umask
0002
这是什么情况?为什么不是给出的文件权限不是777,755呢?

其实umask给出的是掩码值,用777-002就得出真正权限,默认权限是775。

另外,使用umask -S 可以字符型显示当前掩码。

[bestcoder@localhost test1]$ umask -S
u=rwx,g=rwx,o=rx


然后,我们新建一个文件f1,查看其权限

[bestcoder@localhost test1]$ ls -l f1
-rw-rw-r--. 1 bestcoder bestcoder 0 9月  15 02:15 f1
很奇怪,默认权限是775,但实际权限是664,为什么呢?

原来为了系统的安全性考虑,缺省创建的文件不能授予可执行x权限。

更改缺省创建文件的权限为750,方式为:umask 掩码值

[bestcoder@localhost test1]$ umask 027
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: