美文网首页
权限2 find、cut、tree、grep

权限2 find、cut、tree、grep

作者: _str_ | 来源:发表于2019-08-03 13:57 被阅读0次

    权限再续

    SUID

    只对二进制程序有效或者是命令、可执行文件 像Windows中的.exe文件

    [root@localhost ~]# ls -l /bin/passwd
    -rwsr-xr-x. 1 root root 27832 Jun 10  2014 /bin/passwd
    #属主中的s就是具有SUID特殊权限
    

    作用和限制如下:

    1、SUID 权限仅对二进制程序(binary program)有效;
    2、执行者对于该程序需要具有 x 的可执行权限;
    3、本权限仅在执行该程序的过程中有效 (run-time);
    4、在执行此文件时,执行者将具有该程序拥有者 (owner) 的权限。

    使用方法
    drwxr-srwx. 2 root root 17 Jul 25 10:34 b
    [root@localhost ~]$ ls -l /home/opt/kiss/a.txt
    -rwxr-srwx. 1 root root 0 Jul 25 10:15 /home/opt/kiss/a.txt
    [root@localhost ~]$ chmod u+s /home/opt/kiss/a.txt
    [root@localhost ~]$ ls -l /home/opt/kiss/a.txt
    -rwsr-srwx. 1 root root 0 Jul 25 10:15 /home/opt/kiss/a.txt
    #之前a.txt文件属主只有rwx权限 chmod后再看属主权限添加了SUID权限 将x给覆盖了 但是还有x权限
    

    SGID

    当 s 标志在文件拥有者的 x 项目为 SUID,那 s 在群组的 x 时则称为 Set GID,即 SGID .

    当一个文件具有 SGID(用的情况不多)

    SGID 对二进制程序有用;
    程序执行者对于该程序来说,需具备 x 的权限;
    执行者在执行的过程中将会获得该程序群组的权限

    当一个目录具有 SGID

    用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录;
    用户在此目录下的有效群组(effective group)将会变成该目录的群组;
    用途:若用户在此目录下具有 w 的权限(可以新建文件),则用户所创建的新文件时,该新文件的群组与此目录的群组相同。

    使用方法
    [root@localhost home]$ cd /home/opt
    [root@localhost opt]$ mkdir dtest
    [root@localhost opt]$ chmod g+s dtest/
    [root@localhost opt]$ ll -d dtest/
    drwxr-sr-x. 2 root root 6 Jul 25 10:45 dtest/
    [root@localhost ~]$ chmod 757 /home/opt/dtest/
    [root@localhost ~]$ ll -d /home/opt/dtest
    drwxr-srwx. 2 root root 6 Jul 25 10:45 /home/opt/dtest
    [root@localhost ~]$ su - one
    Last login: Thu Jul 25 10:47:39 CST 2019 on pts/0
    [one@localhost ~]$ cd /home/opt/dtest
    [one@localhost dtest]$ touch abc
    [one@localhost dtest]$ ll -d abc
    -rw-rw-r--. 1 one root 0 Jul 25 11:43 abc
    #使用SGID后是在其他用户访问这个文件的时候属组是属于设置SGID的用户 相当于拥有这个用户的权限
    

    SBIT

    SBIT目前只对目录有效i,对于文件已经没有效果了。
    SBIT对于目录的作用是:

    当前使用者对于此目录具有w,x权限,具有写入的权限;
    当该使用者在该目录下创建文件或目录时,仅有自己与root才有权力删除该文件

    语法
    [root@localhost ~]# ls -ld /tmp
    drwxrwxrwt. 27 root root 4096 Jul 25 12:51 /tmp
    
    chmod a+x 目录  #所有用户都添加执行权限
    

    只能是有了权限才能删除 其他人不能删除
    权限网址

    touch [-acdmt]文件

    选项
    touch [命令参数][接参数的内容可有可无][filename]
    -a  #修改access time
    -c  #如果文件不存在不建立,存在则修改所有时间为当前时间
    -d  #后面接日期,修改的是atime和mtime
    -m #修改mtime
    -t   #后面接时间,格式为[[CC]YY]MMDDhhmm[.ss]
    

    Linux中的三个时间

    atime 就是 access time 最近访问内容的时间

    mtime 就是 modify time 最近修改内容的时间
    ctime 就是 change time 最近更改文件的时间,包括文件名、大小、内容、权限、属主、属组等。
    stat 命令可以查看一个文档的这三个时间戳:

    [root@localhost ~]# stat anaconda-ks.cfg
      File: ‘anaconda-ks.cfg’
      Size: 2229        Blocks: 8          IO Block: 4096   regular file
    Device: fd00h/64768d    Inode: 1316560     Links: 1
    Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: system_u:object_r:admin_home_t:s0
    Access: 2019-07-25 14:14:35.932109666 +0800 #atime
    Modify: 2019-01-01 01:01:00.000000000 +0800  #mtime
    Change: 2019-07-25 12:00:57.094679850 +0800  #ctime
     Birth: -
    

    修改更精确的时间

    2018 年 8 月 7 日 18 点 18 分
    ➜  ~ touch -t 1808071818 anaconda-ks.cfg
    

    find

    find [options][path...] [expression][action]

    按文件名查找
    find /etc -name 文件名
    find /etc -iname 文件名   #这样查找忽略大小写
    
    按文件大小查找
    find /etc -size +5M           //大于5M
    find /etc -size 5M
    find /etc -size -5M
    find /etc -size +5M -ls      //-ls找到的处理动作, 不是平时用的ls
    ll - h   查看大小
    
    按目录深度

    转到第二天笔记

    系统的目录树机构

    image.png

    inode和block

    inode 也可以称inode表格 inode内容在记录文件的属性以及该文件实际数据是放在哪几号block内
    inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码,只存放这个数据的号码不存放实际数据
    block:实际记录文件的内容,若文件太大时会占用多个block。存放着数据 目录的block中存放了这个目录下的文档名和对应的inode号

    inode和block

    tree 查看目录结构

    sort排序

    sort [-fbMnrtuk] [file or stdin]
    选项不参数:
    -f :忽略大小写
    -b :忽略最前面的空格符部分;
    -n : 使用『纯数字』进行排序(默认是以文字型态来排序的);
    -r :反向排序;
    -u :就是 uniq ,相同的数据中,仅出现一行代表;
    -t :分隔符,预设是用 [tab] 键来分隔;
    -k :以那个区间 (field) 来进行排序的意思
    

    uniq 去重只能去连续的

    uniq [-ic]
    选项:
    -i   //忽略大小写
    -c   //进行统计
    

    wc 字符,行统计

    [root@localhost]# wc [-lwm]
    选项和参数
    -l  列出行
    -w 列出多少字
    -m 多少字符
    

    tr字符替换

    cat /etc/passwd | tr -d ':' //将冒号删除
    last | tr '[a-z]' '[A-Z]' //所以小写变成大写
    

    符号目录

    . 表示当前目录
    .. 表示上层目录

    • 表示上次离开的目录
      ~ 表示当前用户的家目录
      ~shark 表示shark用户的家目录

    操作目录的命令

    pwd 显示当前所在的路径
    -P 显示出实际路径
    cd ~ 到自己的家目录
    cd ~shark 到shark用户的家目录
    cd - 到上次离开的目录
    mkdir 建立新的目录
    rmdir 删除空目录
    tree 递归查看目录结构
    tree -L n 表示查看第n层的目录

    文件内容操作

    cut字段分隔
    cut -d'分隔的字符' -f 文件
    -d #后面接分隔符 与-f一起使用
    -c #以字符的单位取出固定字符区间
    -f  #根据-d分隔符分割成数段,用-f取出第几段的意思
    export | cut -c 12-    把export输出的信息 取出第十二个字符以后的所有字符
    

    示例

    [root@localhost test]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    [root@localhost test]# echo $PATH |cut -d':' -f2
    /usr/local/bin
    # 通过cut将以冒号分割开选出第二个目录
    

    gerp 关键字搜索

    grep  [命令参数]  [搜索内容]  [搜索文件名]
    -a #以txt文件的方式搜索数据
    -c #计算找到的字符串的次数
    -i  #忽略大小写
    -n #输出行号
    -v #反向选择
    

    相关文章

      网友评论

          本文标题:权限2 find、cut、tree、grep

          本文链接:https://www.haomeiwen.com/subject/zzucrctx.html