linux的文件权限

一、linux是一个多用户,多用户组的系统。每个账户都可以有多个用户组支持。任何一个文件都有user group other3种身份的个别权限。
用户身份与用户组记录          路径        
 用户的账号及root用户信息  /etc/passwd
 用户的密码信息  /etc/shadow
 用户组的组名信息  /etc/group

二、linux的文件属性

举例:-rw-r--r--  1  root  root  42304  Sep 4 11::23  install.log

第一列代表文件的类型和权限

①第一个字符代表文件的类型:文件、目录、链接文件等

d代表目录

-代表文件

l代表链接文件

b代表设备文件里的可以提供存储的借口设备

c代表设备文件里的串行接口设备,键盘鼠标等

②接下来的字符,以3个为一组,分别是读写执行。



第二列表示有多少文件名连接到此节点(i-node)

 解释:每个文件都对应一个inode,一个i-node可以被多个文件使用,这就是所谓的hard link。而你看到那列就是文件对应的inode的hard link的数量。执行下面的指令,也许可以稍微明白些吧

  1. cd /tmp
  2. touch f1
  3. ls -l f1
  4. ln f1 f2
  5. ls -l f1 f2

第三列表示文件的所有者的账号

第四列表示文件的所属用户组

第五列表示这个文件的大小,默认单位是B。

第六列表示这个文件的创建日期或者最近修改的时间。

第七列为该文件的文件名。
注意:这里存在一个问题就是文件类型是文件或者目录的情况下权限的意义是有差别的。如-rwxr-xr--其他用户可以对文件有阅读的权限,但是drwxr-xr--中虽然其他用户的权限中有可读权限,但是由于没有执行权限,所以others的用户是进不了这个目录的。一定要注意这一点。

三、改变文件的属性与权限

1.chgrp:改变文件所属的用户组。(被改变的用户组名必须在/etc/group文件内)

格式:chgrp -R 用户组 dirname/filename

 -R 进行递归的持续更改,连同子目录的所有文件及目录

2.chown:改变文件的所有者。(被改变的用户必须在/etc/passwd文件内存在)

格式:chown -R 账号:用户组 文件/目录

上面:用.也行,但是像文件名中有小数点了,就会产生误判,还有一个妙用就是可以用chown单纯的修改所属用户组,如chown .chang install.log 就是修改install.log的用户组。

3.chmod:改变文件的权限。

r:4 w:2 x:1

格式:①chmod -R xyz 文件/目录

      ②chmod -R [u/g/o/a(all)][+/-/*//][r/w/x] 文件/目录

例:chmod u=rwx,go=rx .bashrc

    chmod a-x .bashrc (所有人去掉可执行权限)

posted @ 2011-06-26 16:19  csqlwy  阅读(545)  评论(0编辑  收藏  举报