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

12.Linux之权限管理

2015-12-24 00:00 405 查看
摘要: 简单介绍Linux系统的文件(夹)权限管理相关的命令

1.权限识别

以普通用户centos创建了一个文件a.txt和一个文件夹b,以root用户创建了一个文件c.txt和一个文件夹d,通过ll命令查看以上四个文件(夹)的权限信息:



现以a.txt文件的权限-rw-rw-r--为例说明一下表达的权限含义:

1:表示文件类型。“-”代表文件;“d”代表目录;“l”代表符号链接文件,实际指向另一个文件;“b”、 “c”分别代表区块设备和其他的外围设备,是特殊类型的文件;“s”、 “p”分别代表关系到系统的数据结构和管道的文件,很少见。

234:表示文件所有者的权限。“rw-”意为用户centos对该文件拥有读(r)权限、写(w)权限,没有执行(x)权限。

567:表示文件所有者所属组的权限。“rw-”意为用户centos的所属组centos对该文件拥有读(r)权限、写(w)权限,没有执行(x)权限。

8910:表示其它用户的权限。“r--”意为其它用户对该文件拥有读(r)权限,没有写(w)权限,没有执行(x)权限。



基于对权限的基础认识,我们尝试使用centos用户操作以上四个文件,发现该用户只能向自己创建的文件a.txt写入内容和向目录b添加文件,而对于root用户创建的文件c.txt不能写入,不能对目录d添加文件。这正好符合两个文件权限中其它用户没有写权限的情况。那么,如果以root用户操作centos用户创建的文件呢?结果如下:



2.修改文件权限

chmod命令用于改变文件或目录的访问权限。该命令有两种用法:一种是包含字母和操作符表达式的文字设定法,另一种是包含数字的数字设定法。
文字设定法:chmod [who] [+ | - | =] [mode] 文件名。

操作对象who 可以是下述字母中的任一个或者它们的组合:

u 表示用户(user) ,即文件或目录的所有者
g 表示同组(group)用户,即与文件属主有相同组ID 的所有用户
o 表示其他(others)用户
a 表示所有(all)用户,它是系统默认值

操作符号可以是:

+ 添加某个权限
- 取消某个权限
= 赋予给定权限,并取消其他所有权限

mode 表示权限常用的参数有:

r 可读
w 可写
x 可执行
例如:
chmod =rx deltxt:将文件deltxt的权限设为可执行,那么权限最终为-r-x r-x r-x。
chmod u=rwx,g=r,o= deltxt:将文件deltxt的权限设为:文件属主可读、可写、可执行,与文件属主同组的用户可读,其他用户不可读,那么权限最终为-rwxr-----。
数字设定法:chmod 权限数值 文件名。

权限数值的计算方法如下:

读权限(r):对应数值为4,二进制表示为100;
写权限(w):对应数值为2,二进制表示为010;
执行权限(x):对应数值为1,二进制表示为001;
无权限(-):对应数值为0,二进制表示为000。
由于文件和目录的所有者、所属组、其它用户的权限都是按照rwx的顺序来表示的,如果某个用户拥有读权限(r),则将r用1代替,否则用0代替,写权限(w)和执行权限(w)也按照相同规则来处理,那么文件和目录的完整权限就是由三组3位二进制数表示出来了。例如:-r-x r-x r-x转换为二进制为-101101101。再将3组3位二进制分别转换为十进制数值,就得到了对应的权限数值。例如:-101101101转换为-555。由此文件权限-r-x r-x r-x最终的权限数值为555(忽略表示文件类型的第一位)。
例如:
----------:等于数字表示000
-rwx------:等于数字表示700
-rwxrwxrwx:等于数字表示777
drwx―x―x:等于数字表示711
drwx------:等于数字表示700

3.修改文件所属用户与用户组

chown命令用于更改某个文件或目录的属主和属组,这个命令也很常用。例如root用户把自己的一个文件拷贝给用户centos,为了让用户centos能够存取这个文件,root 用户应该把这个文件的属主设为centos,否则用户centos无法存取这个文件。chown 的基本用法为:chown [用户:组] 文件。
例如:
chown centos: centos text:将text文件的属主改为centos,属组改为centos。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 命令 权限