日期:2014-05-16  浏览次数:20837 次

Linux学习笔记(二)Linux的文件权限与目录配置
Linux的文件权限与目录配置
一.用户与用户组的概念。
    举个例子说明:三个小猪住在一个家里。这个家庭就是一个用户组。小猪A,小猪B和小猪C就是家庭成员(用户)。大灰狼就是Others。未经允许大灰狼是不能随便进入小猪的家的。当然,小猪B同样不经过小猪A的同意,就随便翻看小猪A写给小母猪A的情书的,但是他们可以共用家里的东西。同时,小猪C是动物委员会的成员,他就可以即用自己家的公共物品,又有权利使用动物委员会的东西。特殊说明的是天神(也就是root),他知道所有的事情(小猪A对小母猪A写的情书的内容他都知道),可以使用所有的东西。
二.文件权限的概念。
    范例:[drwx--------](1) [3](2) [root](3) [root](4) [4096](5) [Sep 5 10:37](6) [.gconf](7)
    1.第一列代表文件的类型与权限。其中,"d"代表的是目录,若是"-"则代表文件,"l"代表连接文件,"b"代表设备文件里面可供存储的接口设备,"c"表示设备文件里面的串行端口设备,如键盘、鼠标。"rwx------"则代表文件对文件所有者的权限,对同用户组的权限,对其他人的权限。举例:"rwxr-xr--"说明文件所有者具有可读,可写,可执行权限,同组的只有可读,可执行权限,其他人只有可读权限。
    2.第二列代表有多少文件名连接到此节点。每一个文件都会将它的权限与属性记录到文件系统的i-node中,不过目录树却用文件名来记录,因此每个文件名就会连接到一个i-node。这个属性记录的是有多少个不同的文件名连接到一个相同的i-node号码。
    3.第三列表示文件所有者的账号。
    4.第四列表示文件所属的用户组。一个用户可能属于多个用户组。
    5.第五列表示文件的大小,默认是B。
    6.第六列表示文件创建或者最后修改日期。如果想要显示完整的时间格式,用"ls -l -- full-time"这个命令,如果中文显示乱码,就改用英文,LANG= en_US,该配置文件在/etc/sysconfig/i18n中修改。
    7.第七列是文件名。如果文件名前面带一个"."的话,说明是隐藏文件。
三.如何修改属性与权限。
    1.修改文件所属用户组。--chgrp(change group)
    用法:chgrp [-R] dirname/filename(-R:进行递归的持续更改,连同下边的所有文件、目录)。但是必须更改的用户组存在/etc/group这个目录中,如果不存在那就会发生错误。
    2.修改文件所有者。--chown(change owner)
    用法:chown [-R] 账号名称:组名 文件或目录,如:chown root:root install.log(chown user.group file也能改变用户与用户组,但是因为可能账号中可能带有小数点,造成系统误判,另外 chown .grouop file也能改变用户组,所以一般用冒号":"将用户和用户组分开)。
    举例说明什么时候使用chown什么时候使用chgrp。举例:cp 源文件 目标文件(复制文件命令)。复制文件时会复制执行者的属性与权限,所以就要修改用户与用户组了。
    3.改变权限。--chomod
     1).用数字修改文件权限。
      linux权限有owner、group、others三种身份(这里不明白root这个"天神"是哪一种身份,难道是他想变成什么就变成什么?)
     举例:1.启用所有权限。如:chmod 777 .bashrc。又如:如果设置文件权限为"rw-r-x-r--"就用chmod 654 .bashrc命令。
      2).用符号类型改变权限。
      user用"u"表示,group用"g"表示,others用"o"表示。所有身份(all)用a表示。
      举例:如果权限为"r-xr--r--"那么就用chmod u=rx,go=r filename表示。如果是"rwxr-xr--"这样的权限,则用chmod u=rwx,g=rx,o=r filename表示。如果想给组内用户增加w这个属性,则用"chmod g+w filename"表示。如果减去则用chmod g-w filename这个命令表示。
四.目录与文件的权限意义。
    1.权限对文件的重要性。
    r:可读取此文件的实际内容,如读取文本文件的文字内容等。
    w:可编辑,新增或者修改文件的内容。(但不可删除该文件,因为文件名的存在于文件内容是不相关的,也就是说w只对内容管用)。
    x:该文件具有可以被系统执行的权限。window下是用后缀名来区分的,如:.exe,.bat,.com等,但linux下是用x这个权限来决定的(但不代表此文件就一定能执行)
    2.权限对目录的重要性。
    r:表示具有读取目录机构列表的权限。有此权限,那么用ls命令就可以将该目录下的内容列表显示出来。
    w:表示可以1).新建新的文件与目录。2).删除已经存在的文件与目录。3).将已存在的文件或目录进行重命名。4).转移该目录内的文件、目录位置。
    x:代表用户能进入到该目录成为工作目录(工作目录指当前所在的目录,变换目录命令是cd)
   举例说明x,w对目录的作用:如用root用户创立test这个文件夹,它所具有的权限是drwxr--r--,再在此目录下建立test1这个文件,此时用另外的用户身份登录,那么他就不能查看test目录下到底有什么内容,如果用cd test/也不进不去,但是让登录用户拥有此目录,那么此用户就能进入到test目录中,也能列出其中的内容,同样可以删除其中的文件。所以,w的权限是不可以随便给的。