zoukankan      html  css  js  c++  java
  • linux文件权限问题

    linux中每个文件或者目录都包含三种一般权限和一些特殊权限,有三种用户可以对文件进行访问:文件所有者、与所有者同一组的用户、其他用户。

    查看文件权限命令:

    ls -l 查看当前文件夹下所有文件权限

    ls -l 文件名 查看某文件权限

    查看结果如下:

    -rw-r--r-- 1 root root 文件名

    运行结果解释:

    第一个字符一般用来区分文件和目录:

    d:表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。
    -:表示这是一个普通的文件。
    l: 表示这是一个符号链接文件,实际上它指向另一个文件。
    bc:分别表示区块设备和其他的外围设备,是特殊类型的文件。
    sp:这些文件关系到系统的数据结构和管道,通常很少见到。

    210个字符当中的每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。这三个一组共9个字符,代表的意义如下:

    r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权
    w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
    x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
    -:表示不具有该项权限。

    每个用户都拥有自己的专属目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------:  表示目录所有者本身具有所有权限,其他用户无法进入该目录。

    执行mkdir命令所创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。

    特殊权限:

    sSSUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。
    sSSGIDSet GID):设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源。
    TTSticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。
    因为SUIDSGIDSticky占用x的位置来表示,所以在表示上会有大小写之分。加入同时开启执行权限和SUIDSGIDSticky,则权限表示字符是小写的:
    -rwsr-sr-t 1 root root 
    如果关闭执行权限,则表示字符会变成大写:
    -rwSr-Sr-T 1 root root 

    chmod命令修改权限:

    该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

    1. 文字设定法
      chmod [who] [+ | - | =] [mode] 文件名
      命令中各选项的含义为:
      操作对象who可是下述字母中的任一个或者它们的组合:
      u 表示“用户(user)”,即文件或目录的所有者。
      g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
      o 表示“其他(others)用户”。
      a 表示“所有(all)用户”。它是系统默认值。
      操作符号可以是:
      + 添加某个权限。
      - 取消某个权限。
      = 赋予给定权限并取消其他所有权限(如果有的话)。
      设置mode所表示的权限可用下述字母的任意组合:
      r 可读。
      w 可写。
      x 可执行。
      X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
      s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
      t 保存程序的文本到交换设备上。
      u 与文件属主拥有一样的权限。
      g 与和文件属主同组的用户拥有一样的权限。
      o 与其他用户拥有一样的权限。
      文件名:以空格分开的要改变权限的文件列表,支持通配符。
      在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
      使同组和其他用户对文件example 有读权限。

    2、数字设定法

      chmod [mode] 文件名 

      其中mode的取值是三个数字,数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

    r: 对应数值4
    w: 对应数值2
    x:对应数值1
    -:对应数值0

    例子:rwx r-x r-- 对于用户u,其权限为4+2+1=7;用户g,权限为4+0+1=5;用户o,权限为4+0+0=4。

    解释:

    我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:
    111 101 100,再将其转化为再将其每三位转换成为一个十进制数,就是754

     

  • 相关阅读:
    解决Vss链接问题清除Windows共享登录的用户名密码记录(转)
    C# 激活正在运行的程序
    Log4Net 使用方法
    对Javascript闭包的一些理解
    根据数据库获取表名集合,根据表名获取字段信息
    C#引用类型和值类型的区别(转)
    c++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast
    理解VC工程文件类型
    MFC中的UpdateData()
    字节对齐
  • 原文地址:https://www.cnblogs.com/vitosun/p/4793828.html
Copyright © 2011-2022 走看看