一 cd :

.         代表当前目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表【目前用户身份】所在的自家目录 与cd效果相同
~account 代表 account 这个用户的自家家目录

二mkdir:

参数:
-m :配置文件目录的权限!我们可以自己设定自己想要的权限,而不需要使用umask定义的默认权限
-p :帮助你直接将所需要的目录递归建立起来!
eg:mkdrr -m 770 test1
:mkdir/rmdir -p /home/test1/test2

三touch:

  • modification time (mtime): 当该文件的 内容数据 变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限!
  • status time (ctime): 当该文件的 状态 (status) 改变时,就会更新这个时间,例如如果像是权限与属性被更改了,都会更新这个时间啊。
  • access time (atime): 当 该文件的内容被修改 时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/passwd, 就会升级该文件的 atime。
选项与参数:
-a :仅修订 access time;
-c :仅修改文件的时间,若该文件不存在则不创建新文件;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m : 仅修改 mtime ;
-t : 后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

touch命令最常用的情况:

  • 创建一个空的文件;
  • 将某个文件日期修改为目前 (mtime 与 atime)

四umask:

1.umask (文件默认权限)

在之前的随笔当中我们已经学习了如何建立或者是改变一个目录或文件的属性了。但是,我们是否有考虑过这样一个问题,当建立一个新的文件或者目录时,它的默认权限是什么?

这就要跟现在所讲解的umask命令扯上关系了。通常,umask就是指定 "目前使用者在创建文件或目录时候的权限默认值".那么我们如何设置umask呢?首先我们来查看一下我们系统里默认的umask是什么样的

[root@xiaoluo home]# umask
0022
[root@xiaoluo home]# umask -S
u=rwx,g=rx,o=rx

查看方式有两种,一种可以直接输入 umask ,就可以看到数字型态的权限配置分数, 一种则是加入 -S (Symbolic) 这个选项,就会以符号类型的方式来显示出权限了! 这里显示的 umask 有四组数字, 第一组是特殊权限用的,我们先不要理他,先看后面三组数字。
在默认权限的属性上,目录与文件是不一样的。由于我们不希望文件具有可执行的权限,默认情况下,文件是没有可执行(x)权限的。因此:

  • 若使用者创建为 文件 则默认【没有可运行( x )权限】,亦即只有 rw 这两个权限,也就是最大为 666 分,默认权限如下: -rw-rw-rw-
  • 若使用者创建为 目录 ,则由于 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777 分,默认权限如下: drwxrwxrwx

umask 指定的是【该默认值需要减掉的权限!】因为 r、w、x 分别是 4、2、1 ,也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分,如果我拿掉5 分的话,那就是拿掉读与执行的权限啦!如果以上面的例子来说明的话,因为 umask 为 022 ,所以 user 并没有被拿掉属性,不过 group 与 others 的属性被拿掉了 2 ( 也就是 w 这个属性 ),那么由于当使用者:

    • 建立档案时:(-rw-rw-rw-) – (-----w--w-) ==> -rw-r--r--
    • 建立目录时:(drwxrwxrwx) – (d----w--w-) ==> drwxr-xr-x

五chattr/lsattr:设置/显示文件的隐藏属性

这个命令是很重要的,尤其是在系统的数据安全上面!由於这些属性是隐藏的性质,所以需要以 lsattr 命令 才能看到该属性!其中,最重要的当属 +i 与 +a 这个属性了。+i 可以让一个文件无法被更改,对于需要强烈的系统安全的人来说, 这两个属性是最重要的!

文件特殊权限:  SUID/SGID/Sticky Bit

SUID 仅可用在【二进制制档案(binary file)】上, SUID 因为是程序在执行的过程中拥有文件拥有者的权限

进一步来说,如果 s 的权限是在 group 时,那么就是 Set GID ,简称为 SGID。SGID可以用在两个方面上

Sticky Bit 目前只针对目录有效,对于文件已经没有效果了。 SBit 对于目录的作用是:【在具有 SBit 的目录下,用户若在该目录下具有 w 及 x 的权限, 则当用户在该目录下建立文件或目录时,只有文件拥有者与 root 才有权力删除】。换句话说:当甲这个用户于 A 目录下是拥有 group 或者是 other 的项目,并且拥有 w 的权限, 这表示【甲用户对该目录内任何人建立的目录或档案均可进行 "删除/更名/移动" 等动作。】 不过,如果将 A 目录加上了 Sticky bit 的权限项目时, 则甲只能够针对自己建立的文件或目录进行删除/更名/移动等动作。
举例来说,我们的 /tmp 本身的权限是『drwxrwxrwt』, 在这样的权限内容下,任何人都可以在 /tmp 内新增、修改文件,但仅有该档案/目录建立者与 root 能够删除自己的目录或档案。这个特性非常重要!

[root@xiaoluo home]# touch test
[root@xiaoluo home]# chmod 4755 test; ls -l test
-rwsr-xr-x. 1 root root 0 4月 25 23:16 test
[root@xiaoluo home]# chmod 6755 test; ls -l test
-rwsr-sr-x. 1 root root 0 4月 25 23:16 test
[root@xiaoluo home]# chmod 1755 test; ls -l test
-rwxr-xr-t. 1 root root 0 4月 25 23:16 test [root@xiaoluo home]# chmod 7666 test; ls -l test
-rwSrwSrwT. 1 root root 0 4月 25 23:16 test
# 这个例子就要注意一下了!怎么会出现大写的 S 与 T 呢?不都是小写的吗?
# 因为 s 与 t 都是取代 x 这个参数的,但是我们这里修改权限的数字是
# 7666 !也就是说, user, group 以及 others 都没有 x 这个可执行的标志
# 所以,这个 S, T 代表的就是【空的】!
# SUID 是表示【该文件在执行的时候,具有文件拥有者的权限】,但是文件
# 拥有者都无法执行了,哪里来的权限给其他人使用?所以这里当然就是空的!s、t都用大写表示S、T

Linux学习之CentOS(十八)--与Linux文件和目录管理相关的一些重要命令②

												

linux基础2-cd、mkdir、touch、umask、chattr、lsattr、SUID/SGID/Sticky Bit的更多相关文章

  1. Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file

    文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...

  2. Linux文件与目录管理 cp od chattr lsattr

    1:在shell脚本中,一定要使用绝对路径. 2:在根目录下,.和..是完全相同的两个目录. 3:cd - 就相当于撤销,表示回到前面状态所在的目录. 4:mkdir -m 700 test 加&qu ...

  3. linux中suid/sgid/sticky及扩展属性(attr)

    suid只适用于命令文件.(如/usr/bin/passwd) 当命令文件上有suid权限时,则操作用户的权限变成属主权限.命令文件上无suid权限则操作用户的权限不变. 查看suid权限: [roo ...

  4. 第四节 mount /who / mkdir /rmdir /rm /cp /mv /touch /cat /tac/head /tail /more /less / chmod /chown /umask /chattr /lsattr /history /echo

    ***Linux下的文件类型如下: 9 8 7 6 5 4 3 2 1 0- r w x r - x r - x 第9位表示文件类型,可以为p.d.l.s.c.b和-:p表示命名管道文件 -pipe ...

  5. 快捷键,命令之tab/ history / alias / ls / cd / mkdir / touch /tree /cp /mv /rm /cat /head/grep

    第一阶段 快捷键 1 第二阶段 文件和目录操作命令 1 1.1 date / useradd 1 1.2 echo 调用变量 2 1.3 whoami 查看用户名 2 1.4 tab命令补全 2 1. ...

  6. Linux基础命令-cd

    cd 作用:切换路径 切换至家目录 $ cd $ cd~ 在上一个目录和当前目录来回切换 $ cd - 切换至某用户的家目录 # cd ~ # pwd /root # cd ~quail #pwd / ...

  7. linux 基础 ls cd 目录含义

  8. linux文件权限位SUID,SGID,sticky的设置理解

    SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来           执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超 ...

  9. 【Linux】文件特殊权限 SUID/SGID/Sticky Bit

    linux中除了常见的读(r).写(w).执行(x)权限以外,还有3个特殊的权限,分别是setuid.setgid和stick bit 1.setuid.setgid 先看个实例,查看你的/usr/b ...

随机推荐

  1. 当微信小程序遇到AR(二)

    当微信小程序遇到AR,会擦出怎么样的火花?期待与激动...... 通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习. 本课程需要一定的基础:微信开发者工具,JavaS ...

  2. flask数据库连接池DBUtils

    数据库连接池 为啥要使用数据库连接池 频繁的连接和断开数据库,消耗大,效率低 DBUtils可以创建多个线程连接数据库,且一直保持连接,不会断开 执行数据库操作时,由数据池分配线程,当数据池空时,可选 ...

  3. 剑指offer 66. 构建乘积数组(Leetcode 238. Product of Array Except Self)

    剑指offer 66. 构建乘积数组 题目: 给定一个数组A[0, 1, ..., n-1],请构建一个数组B[0, 1, ..., n-1],其中B中的元素B[i] = A[0] * A[1] * ...

  4. 关于使用Arduino做开发的理解

    转载自arduino中文社区 https://www.arduino.cn/thread-5414-1-1.html 见到很多人对Arduino的开发方法 .应用场景有误解,特别开个帖子说明下. 误解 ...

  5. linux命令帮助 man bash

    BASH(1) BASH(1) NAME bash - GNU Bourne-Again SHell (GNU 命令解释程序 “Bourne二世”) 概述(SYNOPSIS) bash [option ...

  6. shell学习笔记1-文件安全与权限

    1,创建文件的用户和他所属的组拥有该文件,文件的属主可以设定谁具有读.写.执行该文件的权限,根用户可以改变任何普通用户的设置. 2,一个文件一经创建,就具有三种访问权限:读(可以显示该文件的内容).写 ...

  7. 使用Dreamweaver制作简单网站(二)

    继续上周没完成的 一.新建iframe.css 1.点击文件-选择新建-css 2.ctrl+s保存为iframe.css 在style文件夹下. 3.回到main.html 右键选择-附加样式表,选 ...

  8. (模板)求逆矩阵luoguP4783

    题目链接:https://www.luogu.org/problem/P4783 题意:求矩阵的逆. 思路:高斯消元法求矩阵的逆,n为400,卡常,我是开了O2优化才AC的.. AC代码: #incl ...

  9. [LuoguP2143]巨额资金_Kruskal_Matrix-Tree定理

    巨额资金 题目链接:https://www.luogu.org/problem/P2143 数据范围:略. 题解: 有一个条件是每种权值的边最多是$10$条. 但是并不知道怎么用.... 不过有一点我 ...

  10. html中'disabled'与'readonly'的区别

    html中'disabled'与'readonly'的区别 此随笔增量编辑 disabled 在提交表单的时候 值不会带入表单中, 而readonly则可以将值带入表单中.