zoukankan      html  css  js  c++  java
  • linux的文件属性

    文件属性

    67603664 -rw-r--r--  1 root root  225 Dec  4 14:56 test.log

    inode  文件类型  权限  硬链接数  属主  属组  文件大小  文件修改时间  文件名或者目录名(不属于属性)

    • inode: 索引节点
    • 文件类型:  d 目录     - 普通文件     i 表示软连接    b 表示块设备和其他外围设备  c 表示字符设备文件    s  便是socket文件  p 表示管道文件 
    • 权限: 属主  属组  其他 的权限  可读 可写 可执行
    • 硬链接数:  总共有几个出口
    • 文件修改时间
    • 文件名或者目录名

    通过stat可以查看文件详细信息

    [root@test1 ~]# stat  a.log 
      File: ‘a.log’
      Size: 12            Blocks: 8          IO Block: 4096   regular file
    Device: 802h/2050d    Inode: 67603682    Links: 2
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2018-12-06 13:34:46.790355428 +0800
    Modify: 2018-12-06 13:34:21.480355428 +0800
    Change: 2019-01-03 12:17:08.494355428 +0800
     Birth: -

    文件权限

      r 可读 w 可写 x可执行

     文件权限

    1.可读r:表示具有读取、浏览文件内容(block)的权限;

    2.可写w:表示具有新增、修改文件内容的权限;  w和r配合

    ①如果没有r配合,,vim编辑文件会提是无法编辑(但可以强制编辑),强制编辑后会导致源文件内容清空。但echo可以正常写入文件。

    ②如果没有w,可以通过vim进行强行编辑。但echo无法写入文件。

    ③特别提示:删除文件(修改主机名)或创建文件的权限是受父目录(上一级目录)的权限控制,和文件本身权限无关。

    3.可执行x:表示执行文件的权限  ===》执行权限需要r的配合。

    没有办法读取怎么能执行呢

    这个文件本身能够执行(命令或脚本)。

    但root用户只要有x的权限才能执行

    普通用户同时还需要具备r权限才能执行

    linux可执行文件:*.sh  *.py *.perl等

    目录权限

    对于目录来说

    r 权限只能读取或查看目录中的内容   r权限需要和x权限配合 (目录里面的内容文件,但是无法查看文件的属性信息)

    w 是否可以在目录下面创建文件 w权限需要和x权限配合

    x 是否可以进入文件 (目录  对目录里面的内容进行删除创建修改文件名)

    x表示具有进入文件的权限

    对于目录来说X是必须的,用它来访问目录下面文件的inode信息。

    特殊权限

    [root@test]# ls -ld /usr/bin/passwd /tmp/ /usr/bin/locate 
    drwxrwxrwt. 4 root root     4096 May 18 15:03 /tmp/
    -rwx--s--x. 1 root slocate 38464 Mar 12  2015 /usr/bin/locate
    -rwsr-xr-x. 1 root root    30768 Nov 24  2015 /usr/bin/passwd
    suid 运行某一个命令的时候相当于这个用户的所有者运行(root)
    /usr/bin/passwd 这个文件 
    passwd修改 /etc/shadow  普通用户没有权限
    普通用户可以修改/etc/shadow里面的内容所以有suid
    如何给一个命令添加上suid
    chmod u+s /bin/rm
    suid  很危险
    t粘滞位   使自己的文件只有自己能处理(除了root)
    /tmp下

    suid 4000 权限字符s (S表示位置上没有x权限) 用户位上的x为设置

    授权方法 chmod 4755 /bin/rm或chmod u+s /bin/rm

    sgid 2000 权限字符s (S),用户组位上x位上设置。

    授权方法 chmod 2755 oldboy.txt或chmod g+s test

    粘滞位 1000 权限字符t(T),其他用户的x位上设置

    授权方法 chmod 1777 /tmp或chmod o+t /tmp

    如果对应位有x则字符权限表现为小写,否则表现为大写

    linux高级优化场景 tmp目录常常是木马第一手跳板地点。

    文件系统的属性

    chattr  改变文件的属性

      +i 锁定文件不被摧毁修改  可以锁目录 目录不可被摧毁 不会被修改

    chattr=change attr(属性)

    -i 去掉

    +a 只能追加

    lsattr 查看文件系统的属性

    chattr

    常见命令参数

    A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
    S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
    a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
    b:不更新文件或目录的最后存取时间。
    c:将文件或目录压缩后存放。
    d:当dump程序执行时,该文件或目录不会被dump备份。
    D:检查压缩文件中的错误。
    i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
    s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
    u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
    t:文件系统支持尾部合并(tail-merging)。
    X:可以直接访问压缩文件的内容。
  • 相关阅读:
    图论基础
    降维和聚类系列(二):拉普拉斯特征映射Laplacian Eigenmaps,谱聚类,实例代码
    降维和聚类系列(一):方法综述和比较(持续更新中)
    markdown设置图片尺寸
    指示向量indicator vector
    Sherlock and his girlfriend CodeForces
    The Meeting Place Cannot Be Changed CodeForces
    The Meeting Place Cannot Be Changed CodeForces
    数组分块入门 3
    数组分块入门 3
  • 原文地址:https://www.cnblogs.com/lfdblog/p/10214871.html
Copyright © 2011-2022 走看看