全国业务电话:
1.4 文件权限操作
1.4 文件权限操作
 
  在多用户操作系统中,出于安全性的考虑,需要给每个文件和目录加上访问权限,严格地规定每个用户的权限。同时,用户可以为自己的文件赋予适当的权限,以保证他人不能修改和访问。
 
1.4.1 改变文件主
 
  Linux 为每个文件都分配了一个文件所有者,称为文件主,对文件的控制取决于文件主或超级用户(root)。文件或目录的创建者对创建的文件或目录拥有特别使用权。
 
  文件的所有关系是可以改变的,chown 命令用来更改某个文件或目录的所有权。chown 命令的语法格式是:
 
    #chown [OPTION]… [OWNER][:[GROUP]] FILE…  
 
  用户可以是用户名或用户 ID。文件是以空格分开的要改变权限的文件列表,可以用通配符表示文件名。
 
  如下命令将/home/test 文件的文件主修改为 root 用户。
 
    #chown root /home/test  
 
  如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。
 
1.4.2 改变文件用户组
 
  在 Linux 下,每个文件又同时属于一个用户组。当创建一个文件或目录,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。
 
  文件用户组关系的标志是 GID 。文件的 GID 只能由文件主或超级用户(root)来修改。chgrp 命令可以改变文件的 GID ,其语法格式为:
 
    #chgrp [OPTION]…GROUP FILE…  

  其中 group 是用户组 ID。文件名是以空格分开的要改变属组的文件列表,它支持通配符。
 
1.4.3 文件权限设置
 
  Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
 
  访问权限规定三种不同类型的用户:
 
  ●文件主(owner)
 
  ●同组用户(group)
 
  ●可以访问系统的其他用户(others)
 
  访问权限规定三种访问文件或目录的方式:
 
  ●读(r)
 
  ●写(w)
 
  ●可执行或查找(x)
 
  当用 ls -l 命令或 l 命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。其中各位的含义如下:
 

■文件访问权限
 
  ●读权限(r)
 
  只允许指定用户读其内容,而禁止对其做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如:cat、more 等。
 
  ●写权限(w)

  允许指定用户打开并修改文件。例如命令 vi、cp 等。
 
  ●执行权限(x)
 
  指定用户将该文件作为一个程序执行。
 
■目录访问权限
 
  ●读权限(r)
 
  可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许 Shell  使用文件扩展名字符列出相匹配的文件名。
 
  ●写权限(w)
 
  允许从目录中删除或添加新的文件,通常只有目录主才有写权限。
 
  ●执行权限(x)
 
  允许在目录中查找,并能用 cd 命令将工作目录改到该目录。

1.4.4 改变文件权限
 
1.4.4.1 以符号模式改变权限
 
  chmod 用于改变文件或目录的访问权限。用户可以用它控制文件或目录的访问权限。只有文件主或超级用户 root 才有权用 chmod 改变文件或目录的访问权限。
 
  chmod 命令的语法为:
 
    #chmod [OPTION]… key FILE…  
 
  key 由以下各项组成
 
  【who】 【操作符号】 【mode】
 
  其中,操作对象 who 可以是下述字母中的任一个或者它们的组合:
 
  u user  ,表示用户,即文件或目录的所有者。
 
  g group ,表示同组用户,即与文件属主有相同组 ID 的所有用户。
 
  o others ,表示其他用户。
 
  a all   ,表示所有用户,它是系统默认值。
 
  操作符号可以是:
 
  +  添加某个权限

  -  取消某个权限
 
  =  赋予给定权限并取消其他所有权限(如果有的话)
 
  mode 所表示的权限可用相关权限标识的任意组合,常用的权限标识有:
 
  r  可读
 
  w  可写
 
  x  可执行
 
  s  在文件执行时把进程的属主或组ID 置为该文件的文件属主
 
  u  与文件属主拥有一样的权限
 
  g  与和文件属主同组的用户拥有一样的权限
 
  o  与其他用户拥有一样的权限
 
  这三部分必须按顺序输入。可以用多个 key,但必须以逗号间隔。
 
  如下命令添加/home/testfile 文件的同组用户的可执行权限:
 
    #chmod g+x /home/testfile  

1.4.4.2 以绝对方式改变权限
 
  通常也可以用 chmod 命令配以不同类型的 key 直接设置权限。这时以数字代表不同的权限。这里 key 可以包括三个(或三个以上)的数字,每个数字表示对不同类型用户的权限。
 
  数宇表示的属性的含义:
 
  0 表示禁止该权限,l 表示可执行权限,2 表示可写权限,4 表示可读权限,然后将其相加。所以数字属性的格式应为 3 个从 0 到 7 的八进制数,其顺序是(u)(g)(o)。
 
  通常,key 是以三位八进制数字出现的,第一位表示用户权限,第二位表示组权限,第三位表示其他用户权限。
 
  例如,要使文件 myfile 的文件主和同组用户具有读写权限,但其他用户只可读,可以用以下命令指定权限:
 
    #chmod 664 myfile  

1.4.5 默认权限
 
  默认情况下,系统将创建的普通文件的权限设置为-rw-r-r--,即文件主对该文件可读可写(rw),而同组用户和其他用户都只可读;同样,在默认配置中,将每一个用户主目录的权限都设置为drwx------,即只有文件主对该目录可读、写和可查询(rwx),即用户不能读其他用户目录中的内容。
 
  用户可以修改新建文件的默认存取权限,如使用如下命令:
 
    #umask u = rwx , g = , o =  
 
  它会在创建新文件时给文件主以全部权限,而同组用户及其他用户没有任何权限。

  • 操作系统微信公众号

  • CPI微信公众号

© 2004-2020 广东中兴新支点技术有限公司  版权所有  (www.gd-linux.com)  粤ICP备15061780号-2

新支点OS业务:

QQ客服