第三次课堂预习笔记(0319任务)

第三次课堂预习笔记(0319任务)

0319上课课堂笔记

深入理解inode

一、inode是什么?
理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,
即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。“块"的大小,
最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,
比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,
中文译名为"索引节点”。
inode包含的信息
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
二、inode的内容
inode包含文件的元信息,具体来说有以下内容:

  • 文件的字节数
  • 文件拥有者的User ID
  • 文件的Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,
    atime指文件上一次打开的时间。
  • 链接数,即有多少文件名指向这个inode
  • 文件数据block的位置

inode里没有保存文件名,但是改变文件名会改动ctime

是为了防止一些依赖ctime的增量备份出问题,系统发生的强制改变。

文件名是保存在目录文件中

目录文件
Unix/Linux系统中,目录(directory)也是一种文件。打开目录,实际上就是打开目录文件。
目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:
所包含文件的文件名,以及该文件名对应的inode号码。

常用及重要的知识点

find
隐藏权限
软链接
互传文件

1. 隐藏权限lsattr_chattr

隐藏权限,是ls -l 命令看不到的。

chattr - change file attributes on a linux file system

chattr 是用来设置隐藏权限的。

lsattr 是用来查看隐藏权限的。

在这里插入图片描述我们在新建文件时,默认是什么权限都没有的。比如 touch 1.txt. 权限如下图:
在这里插入图发片描述无法修改名字,也无法强制删除。
在这里插入图片描述
touch 一个文件,会修改文件的时间。
chattr +a 1.txt 允许追加文件。可以更改时间信息。不能移动,不能删除。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
加上R,可以查看到多层隐藏目录文件。lsattr -R -D(查看目录本身)

2.特殊权限set_uid

在这里插入图片描述其实S 就是 set_uid 的意思。支持普通用户自己修改自己的密码。 用户执行set_uid命令那一刻,临时拥有文件所有者身份。设置Set_uid 前提是文件时二进制文件。
比如:/usr/bin/passwd
![在这里插入图片描述](https://img-blog.csdnimg.cn /201903182311191.png)在这里插入图片描述能够看到了root 下目录权限。如果取消侧 chmod u-s /usr/bin/ls

3. 特殊权限set_gid

在这里插入图片描述set_uid 和 set_gid 作用在文件上,功能是一样的,只不过是换了角色而已。意思,普通用户临时拥有所有组的身份。
在这里插入图片描述

4.特殊权限stick_bit

自己的权限,不能够随便改。防止别人删除自己的文件文本。
总结:
1、setuid与setgid讲解 (让其他用户运行文件时拥有创建者或者所属组的权限)

chmod u+s xxx # 设置setuid权限 ,针对文件
chmod g+s xxx # 设置setgid权限 ,针对目录

[root@Salve1 school]# ll /etc/passwd /usr/bin/passwd
-rw-r–r-- 1 root root 2005 Apr 23 01:25 /etc/passwd
-rwsr-xr-x 1 root root 23420 Aug 11 2010 /usr/bin/passwd
[root@Salve1 school]#
分析一下,/etc/passwd的权限为 -rw-r–r-- 也就是说:该文件的所有者拥有读写的权限,而用户组成员和其它成员只有查看的权限。我们知道,在系统中我们要修改一个用户的密码,root用户和普通用户均可以用/usr/bin/passwd someuser这个命令来修改这个/etc/passwd这个文件,root用户本身拥有对/etc/passwd的写权限,无可厚非;那普通用户呢,这里就用到了setuid,setuid的作用是“让执行该命令的用户以该命令拥有者的权限去执行”,就是普通用户执行passwd时会拥有root的权限,这样就可以修改/etc/passwd这个文件了。它的标志为:s,会出现在x的地方,例:-rwsr-xr-x 。而setgid的意思和它是一样的,即让执行文件的用户以该文件所属组的权限去执行。

2、stick bit(粘滞位,针对目录,除了root用户和文件创建者其他用户不能删改目录下文件)
chmod o+t xxx # 设置stick bit权限,针对目录
看一下系统中用到它的地方,以/tmp为例:
[root@Salve1 /]# ll -d /tmp
drwxrwxrwt 13 root root 4096 Apr 23 02:06 /tmp
[root@Salve1 /]#
我们知道/tmp是系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick bit(粘滞位)的概念。它是针对目录来说的,如果该目录设置了stick bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。

3、如何设置上述特殊权限

复制代码
代码如下:

chmod u+s xxx # 设置setuid权限
chmod g+s xxx # 设置setgid权限
chmod o+t xxx # 设置stick bit权限,针对目录
chmod 4775 xxx # 设置setuid权限
chmod 2775 xxx # 设置setgid权限
chmod 1775 xxx # 设置stick bit权限,针对目录

4、注意:有时你设置了s或t 权限,你会发现它变成了S或T,这是因为在那个位置上你没有给它x(可执行)的权限,这样的话这样的设置是不会有效的,你可以先给它赋上x的权限,然后再给s或t 的权限。
l
chmod 补充说明:

u:表示文件所有者
g:表示同组用户 ,
o:表示其它用户

5. 软链接文件

软链接类似于windows 的快捷方式。
在这里插入图片描述上图中bin文件属于软链接文件。 真正的文件是在 usr/bin 上。软链接文件和文件路径有关系,文件路径越长,软链接文件越大。
在这里插入图片描述作用:软链接减少磁盘所占空间。
在这里插入图片描述软链接不仅可以链接文件,也可以链接目录。也可以跨分区。做软链接尽量使用绝对路径。
在这里插入图片描述把源目录和文件拷贝到不存在的目录下,会红色闪烁。
该命令是查看磁盘空间的。
在这里插入图片描述在这里插入图片描述

6.硬链接文件

硬链接不支持对目录做硬链接,只支持对文件做硬链接。
在这里插入图片描述硬链接的源文件和目标文件的Inode 号是一样的。如果两个文件inode号一致,这两个文件相互为硬链接。硬链接无源和目标的概念。软件不能删除源文件。硬链接删除不受影响,不会影响本身。
inode 是记录文件属性的标识。文件的内容存放在inode里边。
硬链接不支持跨分区。

7. find (上)

find :搜索文件的命令。其他搜索文件命令: which ls,echo $PATH, whereis ls(不r常用),locate 搜索。
ctrl + d 退出系统
ctrl+ c 清理屏幕
ctrl + u 光标往前删 。 ctrl + E 把光标一下移到最后。ctrl+a 从一行头开始。
find 知道文件的文字,不知道文件的路径,大概知道文件的范围。
在这里插入图片描述在这里插入图片描述在这里插入图片描述type D 搜索类型是目录。 type f 搜索类型是文件。L 软链接文件,s 文件 soke 文件, C文件 字符串设备。 b 文件,块设备文件。

9. find (中)

find /-type -name -mtime -ctime -atime
stat filename 查看一个文件具体信息
在这里插入图片描述atime 最近访问 。访问文件后更改时间。
mtime 最近更改:修改到文件内容
ctime 最近改动
在这里插入图片描述在这里插入图片描述这行的意思:在2.TXT 中追加内容。
在这里插入图片描述在这里插入图片描述
一天以内,发生更改。
在这里插入图片描述搜索一天内特定后缀的文件。
在这里插入图片描述加 o , 表示或者的意思。

10. find (下)

创建硬链接。
在这里插入图片描述在这里插入图片描述在这里插入图片描述通过查找INODE 号,来找到文件。
在这里插入图片描述查找一小时以内的文件。
在这里插入图片描述查找到条件文件并以详细列表的形式显示出来。
在这里插入图片描述在这里插入图片描述可以查找固定大小的文件。
在这里插入图片描述M必须是大写,小写m会报错
在这里插入图片描述

10.文件名后缀

命令是:在linux中,文件和命令是区分大小写的。
提示:1.gz 像.gz这种被认为是压缩文件。

11. linux 和windows 互传文件

前提是使用XSHELL., securecrt 软件。使用putty是不可以的
#yum install -y lrzsz
在这里插入图片描述A 在这里插入图片描述把linux中的文件传输到window 系统中。命令 SZ
把windows中的文件传输到linux系统中, 命令RZ,传到当前目录。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40876986/article/details/88652969