Linux之文件属性与权限

在Linux终端中输入ls -l,打印出的情况如下图1所示

Linux之文件属性与权限_第1张图片

图1

以图1中第四行(汉字公共的所在行)为例进行说明。

d rwx r-x r-x. 2 root root 4096 4月   26 20:57 公共的 

在以上示意图中

第一列(灰底):表示文件的类型与权限

在第一列中一共有10个字符,以1,3,3,3分组,其中r为可读;w为可写;x为可执行;rwx位置不变,没有以-替。

第1个字符:表示文件类型,d表示目录;-表示文件;l表示链接;b表示接口设备;c表示串行接口设备(鼠标等);

第2~4三个字符:表示文件所有者的权限(User)

第5~7三个字符:表示同一用户组下其他用户权限(Group)

第8~10三个字符:表示其他用户权限(不在同一用户组下)(Other)

第二列(黄底):表示连接,既有多少文件名连接到此节点

第三列(棕地):表示文件所有者

第四列(橙底):表示文件的所属用户组

第五列(红底):表示文件大小,默认单位为B

第六列(粉底):表示修改或创建时间,假如时间太久就只会显示年份哦

第七列(绿底):表示文件名称

-------------------------------------------- 以下为修改文件属性与权限常用命令------------------------------------------------

chmod:改变文件的权限

 

方法一:用数字更改文件权限;rwx的排列顺序不变,有的话用1表示,没有(-代替)用0表示,即421码。上面示意图为755

 

实例改变/home/test01/hello.c的权限,如图2所示,若加上-r选项则是对目录下的所有文件递归更改。

Linux之文件属性与权限_第2张图片

图2

方法二:用符号更改文件权限;格式:chmod [who] [+ 或 – 或 =] [mode]  文件名

 

 

[who]:u 表示文件的所有者。g 表示与文件所有者同组的用户。o 表示“其他用户”。a表示“所有用户”。它是系统默认值。

+ 添加某个权限;- 取消某个权限;= 赋予给定权限

[mode]:r(read)读权限;w(write)写权限;x(execute)执行权限

翻译过来也就是说 谁加上或减去某个权限,注意不同用户间用“,”隔开喔

举例:(1)chmod u-x,g+w,o-r hello.c  即取消文件所有者x权限,增加同用户组w权限,取消其他用户r权限。如图3所示。

Linux之文件属性与权限_第3张图片

图3

chown:改变文件所用者(其实他也可以修改用户组的名称)

在使用复制命令(cp)时,即使将文件给了其他用户,由于复制将文件的属性和权限一起复制,所以其他用户还是无法使用该文件,对文件所有者的修改如图4所示。

Linux之文件属性与权限_第4张图片

图4

chgrp: 改变文件所属用户组

补充:添加用户组指令,groupadd [-选项] [用户组名];删除用户组指令groupdel [-选项] [用户组名]注意:要被改变的组名必须要在/etc/group文件内才可以(命令vi /etc/group可以查看),否则会报错。

对文件所属用户组的修改如图5所示

Linux之文件属性与权限_第5张图片

图5

欢迎大家加C/C++ Linux 技术栈开发群:786177639,一起交流学习

你可能感兴趣的:(Linux)