美文网首页
权限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