第三课预习笔记

任务内容:

2.17 隐藏权限lsattr/chattr
2.18 特殊权限set_uid
2.19 特殊权限set_gid
2.20 特殊权限stick_bit
2.21 软链接文件
2.22 硬连接文件
2.23/2.24/2.25 find命令
2.26 文件名后缀
2.27linux和windows互传文件


chattr设置隐藏权限,常用参数i 和 a。lsattr查看隐藏权限,常用参数R。

chattr +i: 如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。取消i属性,使用chattr -i命令。

首先,创建一个1.txt的文件,然后使用chattr命令赋予它i属性。

尝试在1.txt文件中写入内容,使用:wq命令保存的时候会提示此文件为只读文件,无法保存,只能使用q!命令强制退出。

查看1.txt的文件内容为空。

对1.txt文件进行删除和改名操作,系统提示没有权限。

 

那么将i参数作用在目录上是什么效果呢?

首先在/下创建一个dir1的目录,在dir1目录下创建一个2.txt的空文件。

并dir1赋予i权限。

接下来尝试修改2.txt的内容,成功!

尝试删除2.txt文件,失败!

尝试在dir1目录下新建一个3.txt的空文件,失败!

chattr +a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除。取消a属性,使用chattr -a命令。

在/下创建一个4.txt的空文件,并写入内容。

赋予4.txt  a的属性

接下来尝试修改4.txt的内容,失败!会产生一个4.txt~的缓存文件,因为无法覆盖4.txt,所以只能与4.txt并存。

 

尝试追加内容到4.txt中,成功!

尝试删除4.txt文件, 失败!

lsattr -a :连同隐藏文件一同列出 

lsattr -R :连同子目录一起列出。

 


set_uid

临时赋予普通用户文件所有者的身份执行文件,前提是该文件为可执行的二进制文件。

比如,在zsy123用户下,执行ls /root命令,发现没有权限。

如果让zsy123用户也可以使用ls命令查看/root目录的话,需要给ls命令设置一个set_uid。

然后再切换到zsy123用户下,执行ls命令。

执行成功!

因为在ls命令设置了uid的情况下,其他用户在使用ls命令式,会临时拥有该命令文件所有者,即root用户的权限。

我们先去除ls文件的s权限,然后执行,chmod u=rws /usr/bin/ls  ,发现变成了大写S,是因为没有x权限。

再切换为zsy123用户,执行ls命令。发现也可以查看root目录下的文件,并不影响使用。

可以为目录设置set_uid,但是没有意义。


set_gid

临时赋予普通用户文件所属组的身份执行文件。作用在目录上的话,那么此目录下的子目录或子文件所属组会和作用目录一致。

 首先,在root用户下,可以使用ls命令查看/root目录下的内容;切换到zsy123用户下,使用ls命令无法查看/root目录下的内容。

为ls命令文件的所属组添加一个s权限,然后切换到 zsy123用户下,使用ls命令查看/root目录下的内容,成功!

因为在ls命令设置了gid的情况下,其他用户在使用ls命令式,会临时拥有该命令文件所属组,即root组的权限。

那么作用在目录上是什么效果呢?

由此可见,为dir11目录设置gid以后,将所属组改为zsy123。之后在dir11目录下新建的文件和目录,他们的所属组都是zsy123。


stick_bit

防删除位。防止别人删除自己的文件,root除外。

 首先,在/目录下创建一个dir22的目录并赋予此目录777权限。

 使用zsy123用户,在dir22目录创建一个zsy123.txt

 

使用zsy456用户,尝试删除zsy123.txt ,成功!

将dir22目录设置stick_bit属性后。让zsy456用户再次尝试删除此目录下的zsy123.txt,失败! 

 

 


软链接与硬链接

软链接类似于Windows的快捷方式,软链接是建立一个独立的文件,作用是节省空间。

系统中存在很多的软链接,比如/bin其实是usr/bin。

我们可以自己创建软链接,格式:ln [-s] [源文件][目标文件(快捷方式)]。尽量使用绝对路径,不然如果源文件不存在,就会出错。

我们在/dir33/dir44下新建一个5.txt的文件,并写入内容

 

然后为此文件,做一个软链接。目标文件是/etc/55.txt

我们查看/etc/55.txt,发现内容是一样的。

我们将55.txt追加一部分内容,查看源文件。可以看到内容也被追加了。

软链接也可以作用于目录:将/home做软链接到/aaa

 

 硬链接:创建的文件与另外一个文件有相同的inode号,这两个文件相互为硬链接文件,删除源文件,不影响硬链接文件,软链接则不可以。硬链接也不会占用磁盘空间。但是硬链接不可以作用于目录。

 对/1.txt做硬链接到/etc/2.txt

可以发现两者的inode号相同。 

 

删除/1.txt以后,并没有对/etc/2.txt产生影响。 

 尝试对目录做硬链接,失败!


find命令

讲find命令之前,先归纳一下其他查找功能的命令。 

which命令只能用来查找PATH环境变量中出现的路径下的可执行文件。

whereis命令是通过预先生成的一个文件列表数据库(每天固定时间更新)找与给出的文件名相关的文件,格式为whereis [-bms] [文件名称],

-b:只查找二进制文件;

-m:只查找帮助文件;

-s:只查找源代码文件。

 locate命令类似于whereis,通过查找预生成的文件列表数据库(每天凌晨4点自动生成)来告诉用户要查找的文件在哪里。一般机器上没有安装这个软件包,使用yum install -y mlocate 安装。在安装完毕之后第一次使用会报错,因为系统上没有生成文件列表库,可以通过使用updatedb命令立即生成这个库。该命令不精准,所以不常用。

常用快捷键:ctrl+l清屏,ctrl+d(相当于exit,log out)退出终端,ctrl+c终止当前命令,ctrl+u光标之前的字符全被删掉,ctrl
+e光标移至最末端,ctrl+a光标移至最开始。

接下来就叙述最常用的find命令。

find 目录 参数  -name "要查找的文件名"

在/etc目录下查找名为sshd_config的文件

 

在/etc目录下查找名为sshd开头的所有文件 ,*是通配符,表示所有文件。

还可以用-type +参数 指定文件类型

d 目录

在/下查找所有yum目录

f 文件

 查找/目录下 文件名是passwd的所有文件

 

l 软链接文件

s socket文件

c 字符串设备

b 块设备

 

find /

-atime (访问时间)+n /-n:表示访问或执行时间大于(+)、或小于(-)n天的文件

-ctime (状态修改时间)+n /-n:表示写入、更改inode属性(所有者,权限,链接等)的时间大于(+)、或小于(-)n天的文件

-mtime (修改时间)+n/-n :表示写入时间大于或小于n天的文件;还有一种写法是 -mmin -10 ,这就表示10分钟以内的文件;同理 -mmin +10 这就表示10分钟以上的文件

在选项之间加 -o,表示或者的意思

在/etc目录下查找修改时间小于一天,或者名字带有.conf的文件。由于结果太多就不截图了。

 

 还可以使用find命令查找inode号所对应的文件

查找符合条件的文件并用exec命令执行其他操作

在/etc目录下查号修改时间小于1500分钟以内的文件,并将符合条件的文件的后缀名改为.bat

查看效果

还可以按照文件大小查询。

在/etc目录下 查找大于4000k的文件,并显示其详细信息。


文件名后缀

命令区分大小写。

加后缀名是为了便于区分,当用户看到这个文件名时候,就知道这是什么文件,比如sh代表它是一个shell脚本,gz代表它是一个压缩包,conf代表它是一个配置文件,zip代表它是一个压缩文件。

date 显示当前日期

echo $LANG 显示当前语言


 Linux和Windows互传文件

除samba和ftp服务外,可以使用xshell。PuTTY不行。

首先安装lrzsz

使用sz a.txt ,可以使a.txt传输到Windows中。

使用rz命令,可以使文件传输到Linux中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值