码迷,mamicode.com
首页 > 系统相关 > 详细

第六章 Linux的档案权限与目录配置

时间:2015-06-22 12:25:55      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
Linux 最优秀的地方之一,就在于他的多人多任务环境。而为了让各个使用者具有较保密的档案数据,因此档案的权限管理就变得很重要了。Linux一般将档案可存取 的身份分为三个类别,分别是owner/group/others,且三种身份各有read/write/execute等权限。若管理不当,管理会很 乱。
 
1 使用者与群组
2 Linux档案权限概念
     2.1 Linux文件属性
     2.2 如何改变文件属性与权限:chgrp,chown,chmod
     2.3 目录与档案之权限意义
     2.4 Linux档案种类与扩展名
3 Linux 目录配置
     3.1 Linux目录配置依据 --FHS:/,/usr,/var
     3.2 目录树(dorectory tree)
     3.3 绝对路径与相对路径
     3.4 CentOS的观察: lsb_release
4 重点回顾
5 练习题
 
1使用者与群组
     (1)档案拥有者
  由于Linux是个多人多任务的系统,因此可能常常会有很多人同时使用这部主机来进行工作的情况发生,为了考虑每个人的隐私权以及每个人喜好的工作环境,因此【档案拥有者】的角色就显得相当的重要了。
     (2)群组概念
   群组最有用的功能之一,就是当你在团队开发资源的时候。假设有两组专题生在我的主机里面,第一个专题组别为projecta,里面有三个成员 class1,class2,class3;第二个专题组别为proojectb,里面的成员有class4,class5,class6。这连个专题之 间是有竞争性质的,但却要交同一份报告。每组的组员之间必须要能够互相修改对方的数据,但是其他组的组员则不能看到本组自己的档案内容。
 
  如何实现?我们可以经有简易的档案权限设定,就能限制非自己团队的其他人不能够阅览内容。另外如果teacher这个账号是progecta与 progectb这两个专题的老师,他想要同时观察两者的进度,因此需要能够进入这两个群组的权限时,你可以设定teacher这个账号【同时支持 progecta与progectb这两个群组】
 
2 Linux档案权限概念
  大致了解了Linux的使用者与群组之后,我们要来学习这个档案的权限要如何针对这些所谓的【使用者】与【群组】来设定。
  2.1 Linux文件属性
     既然要了解Linux的文件属性,那么有个重要的也是常用的指令就必须学习,那就是【ls】这一个查看档案的指令,在你以root的身份登陆Linux之后,下达【ls -al】看看
技术分享
 
解读一下 -rwxrwx---
技术分享
 
*第一个字符代表这个档案是【目录、档案或链接文件等等】:
 
- 当为【d】则是目录
- 若为【-】则是档案
- 若为【l】则表示为连结党(link file)
- 若是【b】则表示为装置文件里面的可供储存的接口设备(可随机存取装置)
- 若是【c】则表示装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
 
*接下来的字符中,以三个为一组,且均为【rwx】的三个参数的组合。其中,【r】代表可读(read)、【w】代表可写(write)、【x】代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限酒水出现减号【-】而已。
 
- 第一组为【档案拥有者的权限】
- 第二组为【同群组的权限】
- 第三组为【其它非本群组的权限】
 
例题:若有一个档案的类型与权限数据为【-rwxr-xr--】
答:先将整个类型与权限数据分开查阅,并将是个字符整理称为如下所示:
[-][rwx][r-x][r--]
1  234  567 890
 
1为:代表这个文件名为目录或档案,本例中为档案(-);
234为:拥有者的权限,本例中为可读、可写、可执行(rwx);
567为:同群组用户权利,本例中为可读可执行(rx);
890为:其他用户权利,本例中为可读(r);
 
技术分享
 
*第二栏表示有多少档名连接到此结点(i-node):
     每个档案都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录,因此每个档名就会连接到一个i-node,这个属性记录的,就是有多少不同的档名连结到相同的一个i-node号码去就是了。
 
*第三栏表示这个档案的【拥有者账号】
 
*第四栏表示这个档案的所属群组
*第五栏为这个档案的容量大小,默认单位为bytes
 
*第六栏为这个档案的建档日期或者是最近的修改日期
     如果想要显示完整的时间格式,可以利用ls的选项,即:【ls -l --full-time】就能够显示出完整的时间格式了。如果当初你是以简体中文安装你的Linux系统,那么日期段将会以中文来显示,可惜中文并没有办 法在纯文本的终端机模式正确显示,那你就得要使用【LANG = en_US】来修改语系了!
     如果想要让系统默认的语系变成英文的话,那么你可以修改系统配置文件【etc/sysconfig/i18n】,利用nano来修改该档案的内容,使LANG这个变量成为上述的内容即可。
 
*第七栏为这个档案的档名
     这个字段就是档名了。比较特殊的是:如果档名之前多一个【.】,则代表这个档案为【隐藏档】,你可以使用【ls】及【ls -a】这两个指令去感受一下什么是隐藏档。
     TIPS:对于更详细的ls用法,还记得怎么查询吗?对啦,使用man ls或info ls去看看他的基础用法。
 
例题:
技术分享
 
答:(1)档案test.txt的拥有者为root,所属群组为root。至于权限方面则只有root这个账号可以存取此档案,其他人则仅能读此档案;
(2) 另一个档案ping_tsai的拥有者为test1,而所属群组为testgroup,其中test1可以针对侧档案具有可读可写可执行的权利;而同群组 的test2,test3两个人与test1同样是testgroup的群组账号,则仅可读可执行但不能写(即修改);
(3)至于非testgroup这一个群组的人则仅可以读,不能写也不能执行!
 
例如我的目录为下面的样式,请问testgroup这个群组的成员与其他人(others)是否可以进入本目录?
     drwxr-xr--  1  test1  testgroup  5238  Jun  19 10:25 groups/
答: 档案拥有者为test1[rwx]可以在本目录中进行任何工作;而testgroup这个群组[r-x]的账号,例如test2,test3亦可以进入本 目录进行工作,但是不能在本目录下进行写入的动手做;至于other的权限中【r--】虽然有r,但是由于没有x的权限,因此others的使用者,并不 能进入此目录。
 
2.2 如何改变文件属性与权限:chgrp,chown,chmod
     *chgrp : 改变档案所属群组
     *chown: 改变档案拥有者
     *chmod:改变档案的权限,SUID,SGID,SBIT等等的特性
 
改变一个档案的群组直接以chgrp来改变即可。chgrp为change group的缩写。但请记得,要被改变的组名必须要在/etc/group档案内存在才行,否则就会显示错误!
 
改变一个档案的拥有者呢?很简单,chown,是change owner的缩写,看看范例
 

技术分享

 

那么什么时候使用chown或chgrp呢?最常见的例子就是复制档案给你之外的其他人时,我们使用最简单的cp指令来说明好了:       cp   来源档案   目标文件
 
*改变权限,chmod
     档案权限的改变使用的是chmod这个指令,但是,权限的设定方法有两种,分别可以使用数字或者是符号来进行权限的变更。
     数字类型改变档案权限
Linux 档案的基本权限有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,档案的权限字符为 【-rwxrwxrwx】,这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限分数对照表如下:
r:4
 
w:2
 
 
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为【-rwxrwx---】分数则是:
owner = rwx = 4+2+1 = 7    group = rwx = 4+2+1 = 7     others = 0+0+0 = 0
所以等一下我们设定权限的变更时,该档案的权限数字就是770啦,变更权限的指令chmod的语法是 chmod  [-R]  xyz 档案或目录
 

技术分享

 

 
那 如果要将权限变成【-rwxr-xr--】呢?那么权限的分数就成为【4+2+1】【4+0+1】【4+0+0】 = 754  所以你需要下达【chmod 754 filename】,一个具体情况:我们用vim编辑一个shell的文字批处理文件后,他的权限通常是-rw-rw-r-- 也就是664,如果要将该档案变成可执行文件,并且不要让其他人修改此一档案的话,那么就需要-rwxr-xr-x这样的权限   此时就要下达 chmod 755 test.sh
 
 
 
另外,如果有些档案你不希望被其他人看到,那么应该将档案的权限设定为例如【-rwxr-----】  那就下达chmod 740 filename

第六章 Linux的档案权限与目录配置

标签:

原文地址:http://www.cnblogs.com/elliottc/p/4593113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!