zoukankan      html  css  js  c++  java
  • 文件权限:普通(r、w、x)和特殊(s、t) (转)


    linux中,常常涉及到权限的问题。文件的权限有3组,owner,group,other,每一组都有rwx三种设置。r(4):可读;w(2):可写;x(1):可执行。

    我们在执行shell命令ls -l时,就会显示出文件的所有信息,第一组就是文件属性中的高级属性,权限。这一组总共有10格,每一格是一个bit。  
     
    第一个是特殊位:
      
       d表示目录;
       l表示连接文件;
       -表示文件;
       b表示为装置(device)文件中可供存储的接口设备;
       c表示为装置文件中的串行端口设备(如键盘,鼠标);
       s表示该文件是存放socket信息的,一般是给 process 之前用来进行 network socket 存取沟通使用的档案;
       p表示数据输送文件(FIFO,pipe),它的主要目的是为了解决多个程序同时存取一个文件时所造成的错误。
       以后的9个格子按照之前所说的3个组依次分配,给每个组设置读,写,执行权限。
       
    在这里要注意:如果你想开放一个目录,一定要确定X即可执行权限已经赋予了该用户或群,否则是不可以读写的,也就是说,你给的r,w是没意

    义的。



       
    文件权限的修改: chmod:改变档案的属性、SUID等特性
    用法:
         chmod [-R] 777 dir/filename (注:7=r+w+x;6=r+w;5=r+x;3=w+x)
         chmod [-R] a+rwx dir/filename 
         chmod [-R] u-r dir/filename
         chmod [-R] u=rwx,go=rx dir/filename (注:a:所有用户和组;u:所有者;g:组;o:其他。+:添加权限;-删除权限;=赋予权限)
         chgrp:改变档案的所属群组
         用法:chgrp [-R] group dir/filename
         chown:改变档案所属人  用法:chown [-R] user dir/filename;
         顺便还可以改变群组  chown [-R] user:group dir/filename

    除了这些一般权限外,我们还可以设置高级权限,也可以说是特殊权限:

    SUID/SGID/Sticky Bit (档案特殊权限): 

    SUID (Set UID): 会制作出 s 的权限,权限数字是 4 。这个权限只能作用于可执行文件,不可作用于目录,shell script也不行。使一般使用者在执行文件时,暂时具有该文件拥有者的权限。

    SGID (Set GID): 制作出 s 权限,权限数字是 2 。这个权限可以作用于目录和文件。作用于目录时,在该目录下建立的所有文件和目录的group都会是该目录的group;作用于文件时,则不论使用者是谁,在执行该程序的时候, 他的有效群组 (effective group) 将会变成该程序的群组所有人 (group id)。

    Sticky Bit: 制作出 t 权限,权限数字是 1 。在该权限作用的目录里,如果使用者具有w,x权限,那么他所创建的文件和目录,只有档案的拥有者和root才能删除。







    注意:在字符表示权限时,s和t是出现在x的位置的,意思是在可执行的文件和目录时,它们才是有意义的。如果文件或目录本身u、g或o就没有可

    执行权限,那么它所在的权限组出现的是S或者T,表示空的意思。

    来源: <http://blog.chinaunix.net/uid-20864319-id-448817.html>
     




  • 相关阅读:
    科普文,无论在哪选配计算机,都要懂得常识 (任务5)
    任务5 配机网站关注热点解读
    科普文,解析品牌机的配置特点,选配计算机可以这么做(任务4)
    任务4 解析品牌机配置
    立足于应用需求,看到整体性能,评价计算机的性能(任务3)
    科普文,分享计算机优化的套路,停掉不需要的进程(任务3)
    任务3对电脑进行评价,硬件健康,性能测试, WINDOWS体验指数
    任务2认知计算机系统(计算机系统是一个生态系统,分为硬件系统和软件系统,互为支撑)
    数据库程序接口——JDBC——API解读第一篇——建立连接的核心对象
    数据库程序接口——JDBC——API解读第二篇——执行SQL的核心对象
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4562510.html
Copyright © 2011-2022 走看看