zoukankan      html  css  js  c++  java
  • 文件系统

    inode

    inode是什么?它包含哪些信息?

    文件储存在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)

    操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个sector组成一个block。

    文件数据都储存在“块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如问的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode(索引节点)

    inode包含文件的元信息,有以下内容:

             文件的字节数

             文件拥有者的User ID(UID)

             文件的Group ID(GID)

             文件的读、写、执行权限

             文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间

             链接数,即有多少文件名指向这个inode

             文件数据block的位置

    如何查看inode的使用情况?

    使用df -i命令可以看到每个分区的总inode数目和被使用的以及空闲的inode数目

    Permission Bits:

    文件/文件夹权限的表现形式有哪些,相互之间如何转换?

    Linux文件或目录的权限位是9个权限位来控制,每三位为一组,他们分别是文件属主(Owner)的读写执行,用户组(group)的读写执行以及其他用户(Other)的读写执行

    即文件的访问权限分为读、写、执行三种,可以使用 ls -lh   进行查看

    r:可读

    w:可写

    x:可执行

    -:表示无对应位上的权限

    转换如下图:

    chown和chmod命令的使用方法?chown是用来设置用户组的,比如授权某用户组,方便控制用户权限

    chmod是用来设置文件夹和文件权限的

    下面是两者命令的使用方法:

    chown:     chown [-cfhvR] [--help] [--version] user[:group] file...

    在这里把test1.txt的属组改为test

    chmod:     chmod [-cfvR] [--help] [--version] mode file...

       

    lsattr和chattr的命令和使用方法?

    使用lsattr命令查看文件的隐藏属性,而用chattr来修改为正常值。

    以下是两个命令的使用方法:

    lsattr:    lsattr [-aR]

    -a :将隐藏文件的属性也列出来

    -R:连同子目录的数据也一并列出来

    chattr:    chattr [-RVf] [-v version] [mode] files...

    SetUID:

    如何设置SetUID?设置后有什么影响?

    使用chmod命令可以为指定文件设置SetUID权限,例如“chmod 4xxx filename”命令,取消SetUID权限的命令为“chmod xxx filename”

    同样的,“chmod 2xxx filename”命令设置SetGID权限,“chmod xxx filename”取消SetGID权限

    “chmod 6xxx filename”同时为指定文件设置SetUID和SetGID,执行命令“chmod 0xxx filename”即可同时取消指定文件的SetUID和SetGID权限

    什么是SetGID,与SetUID的区别是什么?

    UMASK:

    UMASK的作用是什么?

    UMASK就是指定目前用户在建立文件或目录时候的权限默认值(权限掩码)

    如何查看UMASK?

    如何修改UMASK?

    su与sudo:

    sudo的配置文件是什么?如何运行配置?

     sudo的配置文件是/etc/sudoers 

    sudo 【参数选项】命令

    -l  列出用户在主机上可用和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的。

    -v 验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可用不用输入口令来直接进行sudo操作;用-v可用跟踪最新的时间戳

    -u 指定以某个用户执行特定操作

    -k 删除时间戳,下一个sudo命令要求提供密码

    如何赋予特定用户使用su的权限?

    首先,将用户加入wheel组    usermod -g wheel group_name

    然后,修改/etc/pam.d/su文件

    两种su权限配置方式:

    1、auth required pam_wheel.so use_id(只有wheel组的人su后,输入正确的root密码才能使用root权限,不是wheel组的输正确的root密码也用不了root权限,只会提示“不正确的密码”)

    2、auth sufficient pam_wheel.so trust use_id(只要是wheel组的人,su之后可以免输入密码,直接使用root权限)

    常见目录权限分布情况:

    默认情况下,系统中有哪些文件有SetUID?

     二进制可执行文件

    默认情况下,系统中有哪些文件具有任意用户可写权限?

    默认情况下,系统中有哪些目录具有任意用户可写权限?

  • 相关阅读:
    高级特性(4)- 数据库编程
    UVA Jin Ge Jin Qu hao 12563
    UVA 116 Unidirectional TSP
    HDU 2224 The shortest path
    poj 2677 Tour
    【算法学习】双调欧几里得旅行商问题(动态规划)
    南洋理工大学 ACM 在线评测系统 矩形嵌套
    UVA The Tower of Babylon
    uva A Spy in the Metro(洛谷 P2583 地铁间谍)
    洛谷 P1095 守望者的逃离
  • 原文地址:https://www.cnblogs.com/Paranoid-4/p/9322627.html
Copyright © 2011-2022 走看看