日期:2014-05-16  浏览次数:20809 次

第六章 Linux 的文件权限与目录配置

1. ?在Linux里面,任何一个文件都具有『User, Group及Others』三种身份的个别权限。每个账号都可以有多个群组。

?

2. ?Linux系统中,默认情况下,所有的系统上的账号包括一般身份使用者,还有root的相关信息, 都是记录在/etc/passwd这个文件内的。个人的密码则是记录在/etc/shadow这个文件下。 此外,Linux所有的组名都记录在/etc/group内。

?

3. ?ls是『list』的意思,重点在显示文件的文件名与相关属性。而选项『-al』则表示列出所有的文件详细的权限与属性 (包含隐藏文件,就是文件名第一个字符为『 . 』的文件)。ls -al 的显示结果解释如下:




4. ?文件的类型与权限一栏共有十个字符:



?第一个字符代表这个文件是『目录、文件或链接文件等等』:

? ? 1) ?若是[ d ]则是目录;

? ? 2) ?若是[ - ]则是文件;

? ? 3) ?若是[ l ]则表示为连结档(link file);

? ? 4) ?若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);

? ? 5) ?若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。第一组为『档案拥有者的权限』,第二组为『同群组的权限』,第三组为『其他非本群组的权限』。

?

5. ?连结数一栏表示有多少文件连结到此节点(i-node)。每个文件都会将它的权限与属性记录到文件系统的i-node中,然而我们使用的目录树却是使用文件名来标识文件的, 因此每个文件名就会连结到一个i-node,这个属性记录的,就是有多少不同的文件名连结到相同的一个i-node上去。

?

6. ?在Linux系统下,你的账号会附属于一个或多个的群组中。

?

7. ?如果想要让系统默认的语系变成英文的话,可以修改系统配置文件『/etc/sysconfig/i18n』,将LANG变量设成en_US

?

8. ?chgrp [-R] 群组名称 档案或目录可以改变一个文件的群组。-R选项表示进行递归(recursive)地持续变更,亦即连同子目录下的所有文件、目录都更新成为这个群组之意。这个指令就是change group的缩写,要被改变的组名必须要在/etc/group档案内存在才行,否则就会显示错误。

?

9. ?chown [-R] 账号名称 档案或目录 可以改变一个文件的拥有者。-R选项的含意与chgrp命令一样。这个指令就是change owner的缩写。账号名称必须是已经存在系统中的账号,也就是在/etc/passwd 这个档案中有记录的用户名称才能改变。chown [-R] 账号名称:组名 档案或目录 还可以直接修改群组的名称。这里分隔符也可以是小数点,不过如果账号当中存在小数点(例如vbird.tsai这样的账号格式),这就会造成系统的误判了。chown也能单纯地修改所属群组:chown .sshd install.log

?

10. ?复制行为(cp)会复制执行者(不是源文件)的属性(群组与拥有者)与源文件的权限。

?

11. ?档案权限的改变使用的是chmod这个指令。权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。

?

12. ?使用数字改变档案权限的语法如下:chmod [-R] xyz 档案或目录, 其中xyz是三个数字,分别代表三个权限(拥有者,群组,其他),每一个权限可以认为是一个3位的二进制数,每一位分别代表,读、写和执行权限,拥有该权限,则该位为1,否则为0。然后得出其对应的十进制值,三个权限就会对应三个十进制数,也就是这里的xyz。例如:-rw-r--r--对应的三个二进制数分别是110, 100, 100,所以xyz就是644

?

13. ?使用符号改变档案权限的语法如下:

chmod

u

g

o

a

+(加入)