zoukankan      html  css  js  c++  java
  • Linux 文件权限 规格严格

    文件权限详解:

    drwxrwxrwt 5 root root 4096 Jul 6 12:08 tmp

    -rwsr--r-- 5 root root 406 Jul 6 12:08 passwd

    d 表示目录

    rwx 表示所属用户的权限

    rwx 表示所属组其他用户权限

    rwt 表示

    4 SUID 表示其它用户执行的时候暂时得到所有者的权限 不用于目录

    2 SGID 表示该目录所有文件或者子目录与此目录同组

    1 SBIT 表示该目录下文件只有创建者和root才能删除 不用于文件

    [root@linux ~]# cd /tmp
    [root@linux tmp]# touch test

    [root@linux tmp]# chmod 4755 test; ls -l test
    -rwsr-xr-x 1 root root 0 Jul 20 11:27 test

    [root@linux tmp]# chmod 6755 test; ls -l test
    -rwsr-sr-x 1 root root 0 Jul 20 11:27 test

    [root@linux tmp]# chmod 1755 test; ls -l test
    -rwxr-xr-t 1 root root 0 Jul 20 11:27 test

    [root@linux tmp]# chmod 7666 test; ls -l test
    -rwSrwSrwT 1 root root 0 Jul 20 11:27 test

    # 这个例子要特别小心。怎么会出现大写的S与T呢?不都是小写的吗?
    # 因为s与t都是取代x参数的,但是,我们是使用
    # 7666。也就是说,user、group以及others都没有x这个可执行的标志
    # (因为666)。所以,S、T表示“空的”。
    # SUID是表示“该文件在执行时,具有文件拥有者的权限”,但文件
    # 拥有者都无法执行了,哪里来的权限给其他人使用呢?当然就是空的

    chattr
      
      1.作用: 修改ext2和ext3文件系统属性(attribute),使用权限超级用户。
      
      2.格式: chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
      
      3.主要参数


      -R:递归处理所有的文件及子目录。
      -V:详细显示修改内容,并打印输出。
      -:失效属性。
      +:激活属性。
       = :指定属性。
      

    A:Atime,告诉系统不要修改对这个文件的最后访问时间。


    S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。


    a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这 个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
      
    i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录 之下的文件,不允许建立和删除文件。
      
    D:检查压缩文件中的错误。
      
    d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。
      
    C:Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中 写入数据时,数据首先被压缩之后才写入磁盘。
      
    s:Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。

      
    u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。

    应用实例:
    1、用chattr命令防止系统中某个关键文件被修改

    # chattr +i /etc/fstab
    然后试一下rm mv rename等命令操作于该文件,都是得到Operation not permitted 的结果
    2、让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作
    # chattr +a /data1/user_act.log

    lsattr命令格式:[root]#lsattr [-RVadlv] [files...]

      参数或选项说明:

     -R:递归列示目录及文件属性。

     -V:显示程序版本号。

     -a:显示所有文件属性,包括隐藏文件(.)、当时目录(./)及上层目录(../)。

     -d:仅列示目录属性。

     -l:(此参数目前没有任何作用)。

     -v:显示文件或目录版本。

      例:

      [root]#chattr +aij lsattr_test

      [root]#lsattr

      ----ia---j--- ./lsattr_test

     标明出处

    【本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/forandever/archive/2010/08/21/5828740.aspx

  • 相关阅读:
    npm的qs包的使用:stringify()将json对象序列化成表单数据
    git放弃本地某个文件或所有文件的修改
    git关联本地分支和远程分支, 在本地删除远程已经不存在的分支
    vs code代码提示的问题
    js BOM(二)offset系列,scroll系列,client系列,封装变速动画函数
    解决antd design的Modal组件弹出卡顿的问题
    js BOM(一)window、location、history、navigator、定时器setInterval,setTimeout,轮播图
    BizCharts渲染多条曲线时color的使用
    js DOM(三)节点、元素创建3种方式、为元素绑定多个事件addEventListener、attachEvent
    HDU 1081 To The Max
  • 原文地址:https://www.cnblogs.com/diyunpeng/p/2055390.html
Copyright © 2011-2022 走看看