引言

从开始用Linux到现在也有四五年了,日常操作早就已经没有什么障碍。但真正遇到问题,常常还是需要网上到处找解决方案。究其原因,自己对Linux的许多基础知识掌握还是很有问题。Linux并非是我的主要操作系统(许多科研需要的CAD/CAE软件还是只支持Windows),我之前玩Linux也只能是断断续续,全凭一时兴起。最近手头上机器多了,好几台服务器都改成了Linux系统,觉得应该利用这个机会,系统的把Linux的知识梳理一下。《鸟哥的Linux私房菜》 是我自己刚接触Linux的时候的入门书,但是内容翔实,我平时日常用都会把它当参考书来用。最近随手翻翻,里面还有好多我不熟悉的内容,此番重读,正好查遗补漏。因为是重读,自然会跳过许多基础的部分,大家有需要可以自行前往鸟哥的网站查看全书。

本篇笔记对应原书第5章

Linux基本权限

Linux基本权限分成r,w,x,赋给owner/group/others三种身份,另外可以用数字4(r),2(w),1(x)来代表。chmod是用来更改权限的命令,需要注意的是递归修改的选项参数是大写的(-R),这对chgrp和chown也是一样的。

另外我一开始经常搞错的是目录权限的意义。对于普通文件而言,r(读取),w(编辑修改),x(执行)的意义非常简单明了。对目录而言,要理解其r,w,x的含义需要对Linux文件系统有更清楚的理解。这里简单对于实际应用来说,

  • r,读取目录内容,可以查询目录下的文件列表(文件名)
  • w,修改目录内容,可以建立新文件/目录,删除、重命名移动已存在文件/目录
  • x,进入目录,所有该目录下指令的前提

举例来说,有一个文件路径为 /dir1/file1,

  • 知道file1存在,需要对/dir1有r权限
  • 读取,修改,执行file1内容,需要对/dir1有x权限(假如已经知道file1文件名,不需要对/dir1有r权限),对file1有相应的r/w/x权限
  • 删除、重命名file1,需要对/dir1有xw权限(注意与file1权限无关!)

一般开放目录给用户访问,需要x和r,而w的权限则权力很大,可以让用户自由删除新建重命名,需要谨慎。

Linux目录配置与FHS

FHS对目录分类主要考量static/variable,shareable/unshareable两个维度。具体可以参考原书以及FHS标准文档。之前我一直搞错的是/usr中usr其实是Unix Software Resource的所写,和user没什么关系。