天天看点

学习鸟哥的Linux私房菜笔记(5)——目录

一、目录

 / 分割目录层

 /来表示,称其为根目录。

对每一个Shell和操作环境,都有一个当前的工作目录。

 . 文件与 ..文件

 .. 文件。

 . 文件是对当前目录的一个硬链接

 .. 文件是对上级目录的一个硬链接

三、目录的权限

目录也是一种文件

目录上的读写执行权限与普通文件有所不同:

读:用户可以读取目录内的文件

写:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。

执行:用户可以进入目录,调用目录内的资料

四、强制位于冒险位

除了读写执行权限以外,ext2文件系统还支持强制位(setuid和setgid)与冒险位(sticky)的特别权限。

针对u, g, o, 分别有set uid, set gid, 及 sticky

如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。

set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t

目录的作用

默认情况下用户建立的文件属于用户当前所在的组。

目录上设置了setgid,表示此目录中,任何人建立的文件,都会属于目录所属的组。

学习鸟哥的Linux私房菜笔记(5)——目录
如何查看默认用户及组呢? id 用户名
学习鸟哥的Linux私房菜笔记(5)——目录
添加强制位权限
学习鸟哥的Linux私房菜笔记(5)——目录
添加强制位权限后再来在该目录下建立文件
学习鸟哥的Linux私房菜笔记(5)——目录

目录的作用

默认情况下,如果一个目录上有w和x权限,则任何人可以在此目录中建立与删除文件。

一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。

学习鸟哥的Linux私房菜笔记(5)——目录

(3)强制位对

文件的作用

在可执行文件上,用户可以添加set uid 和set gid

默认情况下,用户执行一个指令,会以该用户的身份来运行程序。

指令文件上的强制位,可以让用户执行指令,以指令文件的拥有者或所属组的身份运行进程

学习鸟哥的Linux私房菜笔记(5)——目录

(4)设置强制位与冒险位

用户可以用chmod指令来为文件设置强制位与冒险位

set uid :   chmod u + s  文件名

set gid :   chmod g + s  文件名

sticky  :    chmod o + t  文件名

强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定

4(set uid)

2(set gid)

1(sticky)

学习鸟哥的Linux私房菜笔记(5)——目录
注意:set uid 只能在文件上面设定、set gid能在目录和文件上面设定、sticky只能在目录上面设定

五、umask

每个用户建立文件时,此文件都会有默认权限

默认权限的值由环境中的umask值来确定

用户可以自主改动umask值,并在改动后建立的文件上得到体现

一般用户的默认uask值为002,系统用户的默认umask值为022.

学习鸟哥的Linux私房菜笔记(5)——目录

如果没有umask时文件默认权限是rw-rw-rw-、目录默认权限是rwxrwxrwx

上面的新建文件的权限计算方法,没有umask时默认权限减去umask值

rw-rw-rw-

6   6   6

0   2   2  (去掉组写权限、和普通用户写权限)

6   4   4

rw-r--r--

由此可见,如果要去掉某个权限,则umask该位就是该权限码

学习鸟哥的Linux私房菜笔记(5)——目录

六、根目录下的目录

Linux目录遵循FHS标准:​​http://www.pathname.com/fhs/​​

FHS标准规范了每个目录下应该放什么数据,如下表:

学习鸟哥的Linux私房菜笔记(5)——目录
/ :根目录,一般建议在根目录下只有目录,不要直接有文件。根目录是启动时系统第一个载入的分区,所以,所有启动过程会用到的文件都应该放在这个分区。如:/etc    /bin   /dev   /lib   /sbin  这5个子目录都应该与根目录连在一起,不可独立成为某个分区。

/bin

/boot

/dev :在Linux系统上,任何设备都以文件类型存放在这个目录中。访问这个目录下面的某个文件,就等于访问某台设备。设备又分为字符设备,例如键盘、鼠标等,块设备,例如硬盘、光盘等。在此目录下的文件会多出两个属性,分别是主设备号和辅助设备号。

/etc

/home :存放个人主目录

/ib :存放库文件,诸如核心模块、驱动

/lost+found :存储fsck用的孤儿文件,系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区最顶层的目录下。

/mnt

/opt

/proc

/root :root用户的主目录

/sbin

/tmp

/usr

继续阅读