linux文件系统的权限王国(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作者:池建强
在这个系列中和⼤大家聊聊 Linux 的⽂文件、⽤用户、⽤用户组、⽂文件系统的权限等内容,其中很多细节也是我使⽤用了很⻓长时间 Linux 后才真正掌握,希望⼤大家不⽤用那么久。
为什么是 Linux ?我觉得写技术的东⻄西还是相对严谨⼀一些好,虽然Unix 、Linux 、OS X ⼀一脉相承,但在具体命令上还是会有些差异,这个系列⽂文章⾥里所有的命令和显⽰示结果都是在 Linux 上进⾏行的,⼤大家可以对照在 Mac 上试试,当然最后也会讲⼀一点 OS X 的内容,否则怎么叫 MacTalk 呢?
在开始讲 Linux ⺩王国的⾂臣民之前,先介绍⼀一下⺩王国中最⽜牛的主:root ,这货不翻译为「根」,也不叫「管理员」,⽽而是被尊称为超级Linux ⽂文件系统的权限⺩王国(⼀一)
⽤用户,是不是觉得⾼高端霸⽓气?超级⼆二字绝不是恭维之词,从 Linux ⺩王国诞⽣生之初,root 就存在了,他会⼀一直霸占着超级⽤用户的⾓角⾊色并世世代代存在下去,没有禅让,没有民选,没有换位,所有的⽤用户都⾃自他⽽而起。如果你以为 root 会像上帝创造亚当和夏娃那样,让这⼆二位开开⼼心⼼心⽣生娃去了,那你就太Naive了。Linux 系统中的所有⽤用户要么由root 创建,要么借⽤用 root 的权限创建,等级极为森严,总之没有 root 的允许,想搞出⼀一位新⽤用户绝⽆无可能。看到这你们是不是都开始觉得计划⽣生育政策好啦?
root 不仅能够管理⽤用户,还能管理⽂文件系统、进程、设备、⺴⽹网络、通信、协议等等,总之他就像站在神⼭山上的神祗,俯视着芸芸众⽣生,看着数据信息在软件和硬件之间川流不息,时不时的做⼀一些计划性干预,如果有⼈人想超越系统的规则,他就能让你消失的像从来没有存在过。
所以那些成天叫嚣被蹂躏被代表的民众,看看 root,⼤大家⼼心理就会舒服⼀一些。
以 root 开篇,下⾯面我们聊聊 Linux 的⽂文件系统和索引节点。
Linux 的⽂文件系统本⾝身是⽐比较复杂的,仅 ext2、ext3 和 ext4 就得解释好⼏几天,本⽂文的重点不在于此,所以简单介绍⼀一下。⽂文件系统主要是⽤用来保存⽂文件和相关结构的,让⽂文件存储更安全、更快、更容易检索、能⽀支持更⼤大的物理介质等等。在 Linux 系统中,每个磁盘分区都可以看做⼀一个⽂文件系统,每个系统都有⾃自⼰己的⺫⽬目录结构,Linux 会把这些分区按照⼀一定的⽅方式组织成统⼀一的⺫⽬目录结构,⽅方便⽤用户访问。但是每个分区上的⽂文件系统都是独⽴立的,可以采⽤用不容的⽂文件格式,就像⼀一国两制⼀一样,虽然统⼀一,但是⾃自治。
那么如何查看⽂文件系统的格式呢?可以使⽤用 df -T -h 命令,T 表⽰示打印⽂文件格式,h 表⽰示⽤用G 或 M 来显⽰示⽂文件⼤大⼩小,如下:
➜ /home/chjq >df -T -h
⽂文件系统类型容量已⽤用可⽤用已⽤用%% 挂载点
/dev/mapper/VolGroup-lv_root ext4 31G 3.1G 26G 11% /
tmpfs tmpfs 1011M 88K 1011M 1% /dev/shm
/dev/sda1 ext4 485M 29M 431M 7% /boot
我们可以看到⽂文件系统格式是 ext4,⺫⽬目前⾼高版本的 Linux 基本都开始采⽤用 ext4 ⽂文件格式了,具体来说就是 Linux kernel ⾃自 2.6.28 开始正式⽀支持新的⽂文件系统 ext4!(使⽤用 cat /etc/fstab 可以查看⽂文件系统的详细信息)。
有了⽂文件系统,如何管理⽂文件呢,这就引出了索引节点的概念,这货叫做 inode,每个⽂文件都有⼀一个 inode,就像我们每个⼈人都有⾝身份证号⼀一样,为什么要有⾝身份证号?说⽩白了就是为了管理咱们的。但⾝身份证号对⼈人来说不是必须的,没⾝身份证⼀一样活,对吧,只要不那么彪悍别遇到城管。但 inode 是每个⽂文件与⽣生俱来的,⼀一创建就有了,它记录了⽂文件的元信息,⽐比如⽂文件⼤大⼩小、创建者、时间戳、权限、连接数等内容。
所以在 Linux/Unix 中,⽂文件名称只是⽂文件的⼀一个属性,叫别名也好叫绰号也罢,仅为了⽅方便⽤用户记忆和使⽤用,但系统内部并不需要⽤用⽂文件名来定为⽂文件位置,这样处理最直观的好处就是,你可以对正在使⽤用的⽂文件改名,换⺫⽬目录,甚⾄至放到废纸篓,都不会影响当前⽂文件的使
⽤用,这在 Windows ⾥里是⽆无法想象的。⽐比如你打开个 Word ⽂文件,然后对其进⾏行重命名操作,Windows会告诉你⻔门都没有,关闭⽂文件先!但在 Mac ⾥里就毫⽆无压⼒力,因为 Mac 的操作系统同样采⽤用了 inode 的设计。
总之,Linux/Unix的⽂文件系统可以⾮非常灵活的基于 inode 来管理⽂文件⺩王国⾥里的⾂臣民,如何查看 inode 或操作 inode 呢,且听下回分解!