鸟哥的Linux私房菜——第十一章
视频链接:
土豆:http://www.tudou.com/programs/view/yT0PfIWU720
B站(推荐): http://www.bilibili.com/video/av9877318/
本章的目录如下,重点知识点我会点出来~
1. 目录与路径
1.1 相对路径与绝对路径 (绝对路径从/开始,相对路径是根据当前目录来算的,shell script推荐使用绝对路径)
1.2 目录的相关操作: cd, pwd, mkdir, rmdir ()
1.3 关于执行文件路径的变量: $PATH (echo $PATH,所谓的相对路径就是PATH搞出来的)
2. 档案与目录管理
2.1 档案与目录的检视: ls (ls -ail)
2.2 复制、移动与删除: cp,mv,rm (cp 文件 目录 or cp 文件 更名,rm -f强制 -r递归删除,mv移动或更名,mv 文件 更名, mv 文件 目录)
2.3 取得路径的文件名称与目录名称 (文件名basename,目录名dirname.用法后面跟上路径就ok)
3. 档案内容查阅:
3.1 直接检视档案内容: cat, tac, nl (cat 由第一行开始显示档案内容tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!nl 显示的时候,顺道输出行号!)
3.2 可翻页检视: more, less
3.3 资料撷取: head, tail (head取出前几行默认是10,head -n 20 文件,tail取出后面几行)
3.4 非纯文字文件: od (/usr/bin/passwd用cat就是乱码,od -t c以ASCII码形式)
3.5 修改档案时间与建置新档: touch
4. 档案与目录的预设权限与隐藏权限
4.1 档案预设权限:umask (umask很重要,直接打umask看权限,减权限。umask 022这样设置.umask的作用范围是这个用户的范围,换个用户就不行了)
4.2 档案隐藏属性: chattr, lsattr (chattr 常用-i -a , lsattr -aR)
4.4 档案特殊权限:SUID/SGID/Sticky Bit
4.3 档案类型:file (file直接后面跟文件,看看他是什么格式类型的)
5. 档案的搜寻: which, whereis, locate, find (which寻找执行档,whereis寻找特定档案)
touch修改档案时间:
chattr (设定档案隐藏属性) + - = 这三个操作符号
lsattr 显示档案隐藏属性
SUID:
会制作出 s 与 t 的权限,是为了让一般使用者在执行某些程序的时候, 能够暂时的具有该程序拥有者的
权限。 举例来说好了,我们知道账号与密码的存放档案其实是 /etc/passwd 与 /etc/shadow 。 而
/etc/shadow 这个档案的权限是什么?是『-r--------』。且他的拥有者是 root 喔!在这个权限中,仅
有 root 可以『强制』储存,其它人是连看都没有办法看的吶!
但是偏偏鸟哥使用 dmtsai 这个一般身份使用者去更新自己的密码时,使用的就是 /usr/bin/passwd 这个
程序, 却是可以更新自己的密码的,也就是说, dmtsai 这个一般身份使用者可以存取 /etc/shadow 这
个密码文件! 但!怎么可能?明明 /etc/shadow 就是没有 dmtsai 可以存取的权限啊!呵呵~这就是 s 这
个权限的帮助啦! 当 s 这个权限在 user 的 x 时,也就是类似上表的 -r-s--x--x ,称为 Set UID ,
简称为 SUID , 这个 UID 代表的是 User 的 ID ,而 User 代表的则是这个程序 (/usr/bin/passwd) 的
拥有者 (root 啊!)。 那么由上面的定义中,我们知道了,当 dmtsai 这个使用者执行 /usr/bin/passwd
时,他就会『暂时』的得到档案拥有人 root 的权限。
SUID 仅可用在『二进制制档案(binary file)』上, SUID 因为是程序在执行的过程中拥有档案拥有者的
权限,因此,他仅可用于 binary file , 不能够用在批次档 (shell script) 上面的!这是因为 shell
script 只是将很多的 binary 执行档叫进来执行而已!所以 SUID 的权限部分,还是得要看 shell script
呼叫进来的程序的设定, 而不是 shell script 本身。当然,SUID 对于目录也是无效的~这点要特别留
意。
SGID
进一步来说,如果 s 的权限是在 group 时,那么就是 Set GID ,简称为 SGID。 SGID 可以用在两个部
分喔!
• 档案:如果 SGID 是设定在 binary file 上面,则不论使用者是谁,在执行该程序的时候, 他
的有效群组 (effective group) 将会变成该程序的群组所有人 (group id)。
• 目录:如果 SGID 是设定在 A 目录上面,则在该 A 目录内所建立的档案或目录的 group ,将会
是 此 A 目录的 group !
一般来说, SGID 应该是比较多用在特定的多人团队的项目开发上, 在系统当中应该会比较少这个设定才
对~
Sticky Bit
目前只对目录有效,在具有
SBit 的目录下,使用者若在该目录下具有 w 及 x 的权限, 则当使用者在该目录下建立档案或目录时,
只有档案拥有者与 root 才有权力删除
which 寻找执行档
whereis寻找特定档案,相对于find来说,find很强大,但是find是搜索硬盘的,如果你的硬盘很老旧那速度就会~~你懂的~,这个时候whereis就显得相当好用
那么 whereis 到底是使用什么咚咚呢?为何搜寻的速度会比 find 快这么多?! 其实那也没有什么!这
是因为 Linux 系统会将系统内的所有档案都记录在一个数据库档案里面, 而当使用 whereis 或者是底下
要说的 locate 时,都会以此数据库档案的内容为准, 因此,有的时后你还会发现使用这两个执行档时,
会找到已经被杀掉的档案! 而且也找不到最新的刚刚建立的档案呢! 这就是因为这两个指令是由数据库
当中的结果去搜寻档案的所在啊!
另外,基本上 Linux 每天会针对 Linux 主机上所有档案的所在进行搜寻数据库的更新, 更新的程序就是
updatedb ,你可以在 FC4 系统的 /etc/cron.daily/slocate.cron 这个档案找到相关的机制呦!当然,
也可以直接使用 /usr/bin/updatedb 来更新数据库档案呢!
locate
find
鸟哥的Linux私房菜——第十一章的更多相关文章
- 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)
******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...
- 鸟哥的linux私房菜——第20章 启动流程、模块管理与loader
20.1 Linux启动流程分析 Linux启动过程: 按下开机电源后计算机硬件主动读取BIOS来加载硬件信息以及硬件系统的自我测试,之后系统会主动读取第一个可启动的设备(由BIOS设置),此时就可以 ...
- 鸟哥的Linux私房菜——第十七章:Linux 账号与身份管理
视频链接:http://www.bilibili.com/video/av10669732/ 1. Linux 的账号与群组1.1 使用者识别: UID 与 GID1.2 使用者账号:/etc/pas ...
- 鸟哥的linux私房菜 - 第三章 主机规划与磁盘分区
各硬件装置在linux中的文件名 在linux系统中,每个装置都被当成一个档案来对待. 常见的装置与其在linux中的档名: 磁盘分区 磁盘链接的方式与装置文件名的关系 个人计算机常见的磁盘接口有两种 ...
- 鸟哥的linux私房菜——第十三章学习(Linux 帐号管理与 ACLL 权限设置)
第十三章.Linux 帐号管理与 ACLL 权限设置 1.0).使用者识别码: UID 与 GID UID :User ID GID :group ID [root@study ~]# ll -d / ...
- 鸟哥的linux私房菜——第七章学习(Linux 磁盘与文件系统管理)
1.1).文件系统特征 我们称呼一个可被挂载的数据为一个文件系统而不是一个分区! 文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data ...
- 鸟哥的linux私房菜——第六章学习(Linux文件与目录管理)
******************第六章学习****************** 1.[文件与目录管理] 在所有目录下面都会存在的两个目录,分别是 "." 与 "..& ...
- 鸟哥的linux私房菜——第四章学习
******************第四章学习****************** [热键] 1.Tab键:命令补全:文件补全: 2.Ctrl+c:中断目前指令: 3.Ctrl+d:离开当前文本界面: ...
- 鸟哥的Linux私房菜第零章
CPU从主存中读取数据通过微指令集控制和进行计算.主存储器内的数据则是从输入单元所传输进来,而CPU处理完毕的数据也必须要先写回主存储器中, 最后数据才从主存储器传输到输出单元.内存又称主存,是CPU ...
随机推荐
- cocos2d-x学习记录3——CCTouch触摸响应
游戏不同于影音,强交互性是其一大特色,在游戏中主要体现为接受用户的输入并响应.智能手机触摸是其重要的输入方式. 在cocos2d-x中,触摸分为单点触摸和多点触摸. 单点触摸:主要继承CCTarget ...
- REST-framework快速构建API--权限
我们在访问资源时,有些资源保密程度较高,需要特殊的人员才能访问.比如,获取公司的每日收入流水的API接口,只能CEO才能查看. 这时,我们就需要将资源设定权限了. REST-framework实现如下 ...
- UWP简单示例(一):快速合成音乐MV
说明 本文发布时间较早,内容可能已过时.最新动态请关注 TypeScript 版本.(2019 年 3 月 注) 在线演示: 音频可视化(TypeScript) 准备 IDE:Visual Studi ...
- eclipse + maven + org.glassfish.jersey 创建 webapi
org.glassfish.jersey 和 com.sun.jersey 的区别是,jersy version 2 之前是 com.sun.jersy, 之后改名为 org.glassfish.je ...
- Loadrunner 面试常见问题
三大组件: 脚本生成器,录制和调试脚本 . 控制台,设置运行和资源场景 结果分析器,将测试结果数据以不同的图表呈现,便于性能分析 工作原理: 录制:根据不同协议,记录下客户端和服务器二者之间的对话,生 ...
- java 软件开发面试宝典
一. Java 基础部分........................................................................................ ...
- GitHubDesktop权限问题解决办法
Desktop对于管理仓库非常方便.实用 很多人实用Desktop将仓库项目clone到本地 但是更新后同步时出现了如下权限错误: Error Authentication failed. You m ...
- DevOps架构下如何进行微服务性能测试?
一. 微服务架构下的性能测试挑战 微服务与DevOps 微服务是实现DevOps的重要架构 微服务3S原则 DevOps核心点 微服务架构下的业务特点 亿级用户的平台 单服务业务随时扩容 服务之间存在 ...
- A1020. Tree Traversals(25)
这是一题二叉树遍历的典型题,告诉我们中序遍历和另外一种遍历序列,然后求任何一种遍历序列. 这题的核心: 建树 BFS #include<bits/stdc++.h> using names ...
- POW的重力之美
定律一:每一个UTXO都保持其状不变,直到有外力迫使它改变这种状态为止--艾萨克•牛顿,原理2.0 在过去的几年里,关于比特币的工作量证明(PoW)所造成的"巨大的能源浪费"已经被 ...