在Linux终端中输入ls -l,打印出的情况如下图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选项则是对目录下的所有文件递归更改。
图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所示。
图3
chown:改变文件所用者(其实他也可以修改用户组的名称)
在使用复制命令(cp)时,即使将文件给了其他用户,由于复制将文件的属性和权限一起复制,所以其他用户还是无法使用该文件,对文件所有者的修改如图4所示。
图4
chgrp: 改变文件所属用户组
补充:添加用户组指令,groupadd [-选项] [用户组名];删除用户组指令groupdel [-选项] [用户组名]。注意:要被改变的组名必须要在/etc/group文件内才可以(命令vi /etc/group可以查看),否则会报错。
对文件所属用户组的修改如图5所示
图5
欢迎大家加C/C++ Linux 技术栈开发群:786177639,一起交流学习。