Linux学习-03-文件与目录的权限-1

时间:2023-01-30 06:52:39

示例:-rw-r--r-- 1 root root 42304 Sep 4 18:26 install.log


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

当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;

当为[ - ]则是档案,例如上表档名为『install.log』那一行;

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

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

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


#下面的字符3个为一组,均为『rwx』 的三个参数的组合

[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。

要注意的是,这三个权限的位置不会改变,如果没有权限,就会用减号[ - ]表示。

第一组为『档案拥有者的权限』

第二组为『同群组的权限』

第三组为『其他非本群组的权限』


#第二栏表示有多少档名连结到此节点(i-node)

第三栏表示这个档案(或目录)的『拥有者账号』

第四栏表示这个档案的所属群组

第五栏为这个档案的容量大小,默认单位为bytes

第六栏为这个档案的建档日期或者是最近的修改日期

第七栏为这个档案的档名


改变文件属性和权限

#chgrp :改变档案所属群组

change group,要被改变的组名必须要在/etc/group档案内存在

例:chgrp users install.log


#chown :改变档案拥有者

change owner,用户必项是已经存在系统中的账号,也就是在/etc/passwd 这个档案中有记录的用户名

例:chown bin install.log


#chmod :改变档案的权限, SUID, SGID, SBIT等等的特性

1,数字类型改变档案权限。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

例:chmod 770 .bashrc

2,符号类型改变档案权限。u=user、g=group、o=others、a=all

例:『-rwxr-xr-x』, chmod u=rwx,go=rx .bashrc

    『-rwxr-xr--』, chmod u=rwx,g=rx,o=r .bashrc

增加.bashrc这个档案的每个人写入权限,chmod a+w .bashrc

去除.bashrc这个档案的每个人写入权限,chmod a-w .bashrc


权限对文件的含义:

r (read):可读取此一档案的实际内容,如读取文本文件的文字内容等;

w (write):可以编辑、新增或是修改该档案的内容(但不能删除该档案);

x (eXecute):该档案具有可以被系统执行的权限。

权限对目录的含义:

r (read contents in directory):

表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个命令将该目录的内容列表显示出来!

w (modify contents of directory): 这个可写入的权限对目录来说他表示你具有改变该目录结构列表的权限,也就是底下这些权限:

o 建立新的档案与目录;

o 删除已经存在的档案与目录(不论该档案的权限为何!)

o 将已存在的档案或目录进行更名;

o 搬移该目录内的档案、目录位置。

x (access directory):目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录的用途! 所谓的工作目录(work directory)就是你目前所在的目录啦!举例来说,当你登入Linux时, 你所在的家目录就是你当下的工作目录。而变换目录的指令是『cd』(change directory)