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

Linux 档案属性与目录配置

2016-11-10 22:24 274 查看
Linux 最优秀的地方之一,就在于他的多人多任务的环境。而为了让各个使用者具有较安全的管理机制,因此档案的权限管理就变的很重要了。 Linux一般将档案可存取的方式分为三个类别,分别是拥有者/群组/其他(owner/group/other ), 且各有读/写/执行( read/write/excute ) 等权限。






一、拥有者与群组

三个比较重要的概念:

档案拥有者:当你是一个档案的拥有者,你可以设定其他用户查看和修改该档案的权限。对于linux 多用户系统,档案拥有者的属性可以保护每个用户的隐私。

群组:在一个群组中的用户,可以设定有访问任何该群组中用户档案的权限,但不属于该群组的其它用户则无法访问;

其他人:对于不属于一个群组的用户来说,这个用户就是其他人。群组可以设定其他人访问群组内用户档案的限。

root:root 身份具有最高的权限,可以访问所有用户的档案。

档案的拥有者、群组与其他人示意图:



用户 A1、A2 和 A3 属于同一个群组 A,A1的档案属于 A1,A2 的档案属于 A2。用户 B 对于群组 A 来说,属于其他人。




二、档案属性

ls
指令列出当前目录下档案及其属性:



以档案 gf 为例,它的七个属性为:



档案属性
档案属性具有十个子属性:



第一个属性代表这个档案的类型:

[ d ] ,表示目录;

[ - ] ,表示档案;

[ l ] ,表示连接档;
[ b ] ,表示存储的接口设备;

[ c ] ,表示串行端口设备。

接下来的九个属性,每三个为一组,代表可读(read)、可写(write)、可执行(excute),三组分别代表拥有者、与拥有者同群组和其它非本群组用户对该档案的读写权限。例如档案 gf ,拥有者有读、写、执行的权限,同组用户可以读取,但没有修改的权限,其它用户同样没有修改的权限。

目录属性的意义

r 可读 :具有读取目录结构清单的权限,可以利用 ls 指令显示该目录的内容;

w 可写:具有这些权限:建立新的档案和目录;删除已存在的档案和目录;将已存在的档案更名;搬移该目录内档案、目录位置。

x 可执行:注意,仅有 r 权限,没有 x 权限是不能进入目录的。





三、改变档案权限
几个简单的档案权限:

chgrp :改变档案所属群组

chown :改变档案拥有人

chmod :改变档案的属性、 SUID等特性

chgrp 用法:chgrp [-R] 群组名 档案或目录

参数 R 表示递归变更,即该目录下的所有档案、目录都改变为这个群组。




要保证需要变更的群组在系统中存在

chown 用法:

chown [ -R ] 用户名 档案或目录

chown [ -R ] 用户名:群组名 档案或目录  #修改档案或目录拥有者和群组



chmod

1. 数字

用法:chmod [ -R ] 数字属性 档案或目录

改变九个属性,以数字类型改变档案权限。权限属性是三个为一组,可以使用数字来代表各个属性,利用二进制:

r :4
w :2
x :1
同一组三个属性累加,例如 [ drwxr-xr-x ] ,则数字属性为:

拥有者:rwx = 7 ;

群组 :r - x = 5;

其他人:r - x = 5.

在设定属性时,该档案的数字属性就是 755。

 


2. 字母和操作表达式

其语法格式为:chmod [who] [opt] [mode] 文件/目录名

who 表示对象,是以下字母中的一个或组合: 

u:表示文件所有者

g:表示同组用户

o:表示其它用户

a:表示所有用户

opt 则是代表操作,可以为:

+:添加某个权限

-:取消某个权限

=:赋予给定的权限,并取消原有的权限

mode则代表权限:

r:可读

w:可写

x:可执行

例如:为同组用户增加对文件 a.txt 的读写权限: 

   chmod g+rw a.txt






四、目录配置

在 Linux 系统中,所有的档案与目录都是由根目录 / 开始的。 然后再一个一个的分支下来,因此,我们也称这种目录配置方式为目录树 (directory tree),这个目录树主要的特性有:

目录树的启始点为根目录 ( / ,root );
每一个目录不止能使用本地端的 partition 的档案系统,也可以使用网络上的 filesystem ;
每一个档案在此目录树中的文件名(包含完整路径)都是独一无二的。
绝对路径与相对路径

根据档名写法的不同,也可将所谓的路径 (path) 定义为绝对路径与相对路径:

绝对路径:由根目录(/)开始写起的文件名或目录名称,例如 /home/gf/test;
相对路径:就是相对于当前目录路径的文件名写法。



几个特殊的目录:

. :代表当前目录,也可用 ./ 来表示;

.. :代表上层目录,也可用 ../ 来表示;

-  :代表前一个工作目录;

~ :当前用户的家目录

/  :根目录

linux 树状目录



几个重要的目录档案内容:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息