1) Linux将档案可存取的身份分为三个类别,分别是owner/group/others,各有 read/write/execute 等权限
2) ls –al
ls是『list』的意思,重点在显示档案的文件名与相关属性。选项『-al』则表示列出所有的档案详细的权限与属性 (包含隐藏文件,就是文件名第一个字符为『 . 』的档案)。
3) 文件属性示意
drwxr-xr-x. 8 root root 4096 Jun 15 14:28 .cache
a) 第一栏代表这个档案的类型与权限(permission),共10个字符
b) 第一个字符代表这个档案是『目录、档案或链接文件等』:
o 当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
o 当为[ - ]则是档案,例如上表档名为『install.log』那一行;
o 若是[ l ]则表示为连结档(link file);
o 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
o 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
c) 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
o 第一组为『档案拥有者的权限』;
o 第二组为『同群组的权限』;
o 第三组为『其他非本群组的权限』。
d) 第二栏表示有多少档案名连结到此节点(i-node):
e) 第三栏表示这个档案(或目录)的『拥有者账号』;
f) 第四栏表示这个档案的所属群组;
g) 第五栏为这个档案的容量大小,默讣单位为bytes;
h) 第六栏为这个档案的建档日期或者是最近的修改日期:
i) 第七栏为这个档案的档案名
4) 改变文件属性与权限
a) chgrp:改变档案所属群组
#chgrp user install.log
b) chown:改变档案拥有者
#chown bin install.log
c) chmod:改变档案的权限
权限的设定方法有两种,使用数字或者是符号来进行权限的变更。
d) 数字类型改变档案权限
Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
所以权限的变更时,该档案的权限数字就是770啦!
# chmod 770 .bashrc
e) 符号类型改变档案权限
基本上就九个权限分别是(1)user(2)group (3)others三种身份啦!那么我们就可以藉由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x,也就是可以使用底下的方式来看:
5) 权限对档案的重要性
r (read):可读取此一档案的实际内容;
w (write):编辑、新增、修改(但不包括删除该档案);
x (eXecute):该档案具有可以被系统执行的权限。
6) 权限对目录的重要性
a) r(read contents in directory): 表示具有读取目录结构列表的权限,你可以查询该目录下的文件名数据。
b) w(modify contents of directory):表示具有移动该目录结构列表的权限,也就是底下这些权限:
o 建立新的档案与目录;
o 删除已经存在的档案与目录(不论该档案的权限为何!)
o 将已存在的档案或目录进行更名;
o 搬移该目录内的档案、目录位置。
总之,目录的w权限就与该目录底下的文件变动有关。
c) x(access directory):代表的是用户能否进入该目录。
d) 能不能进入某一个目录,只与该目录的x权限有关。
e) 要开放目录给任何人浏览时,应该至少给予r及x的权限。
---如上笔记整理自鸟哥的Linux私房菜