欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Linuxshell编程(五):Linux文件权限管理

时间:2023-07-25

接上一篇文章Linux shell编程(四): Linux 用户和组管理

2.4.3 Linux文件权限

使用 ls 命令可以查看文件、目录和设备的权限(第一组),如下:

共有10位,除第1位,后9位每3位为一组,其中各部分含义如下:

文件类型

- 代表文件d 代表目录l 代表链接c 代表字符型设备b 代表块设备n 代表网络设备 属主权限(user)属组权限(group)其他用户权限(other)

其中,每组3位依次为读权限/写权限/执行权限,

r 代表可读w 代表可写x 代表可执行- 代表当前位没有权限

有时也看到使用数字表示这几位权限,其实这些数字是八进制数,它与字母表示的方法是通过二进制转换过来的,对应关系如下:

权限二进制值八进制值描述—0000没有任何权限–x0011只有执行权限-w-0102只有写入权限-wx0113有写入和执行权限r–1004只有读取权限r-x1015有读取和执行权限rw-1106有读取和写入权限rwx1117有全部权限

依照此规律,上面例子中的 Videos 目录的权限用数字可以表示成 755。

修改权限

使用 chmod 命令可以修改文件和目录的权限,如下:

chmod options mode file

其中,options 是参数选项,mode 是权限,file 是要修改权限的文件或目录。

对于参数选项,有一个很有用的参数 -R ,可以让权限的改变递归地作用到文件和子目录。

对于mode权限,可以使用八进制模式或符号模式进行设置。

八进制模式: chmod 760 testfile

符号模式较八进制模式有些复杂,它的格式如下:

[ugoa][+-=][rwxXstugo]

其中第一组各字符含义如下:

u:用户(user)g:用户组(group)o:其他(other)a:上述所有(all)

第二组各字符含义如下:

+:在现有权限基础上增加权限-:在现有权限基础上移除权限=:将权限设置成后面的值

第三组除rwx外,其余各字符含义如下:

X:如果对象是目录或者它已有执行权限,赋予执行权限。s:运行时重新设置UID或GID。t:保留文件或目录。u:将权限设置为跟属主一样。g:将权限设置为跟属组一样。o:将权限设置为跟其他用户一样。

使用示例:

修改所属关系

chown 命令用来改变文件的属主,也可以同时修改属组,
chgrp 命令用来改变文件的默认属组。

chown 修改属主

chown testuser testfile

chown 修改属组

chown .testgroup testfile

chown 同时修改属主和属组

chown testuser.testgroup testfile

如果属组是通过匹配属主创建的(此时属组和属主同名),同时修改属主和属组可以简写为:

chown testuser、testfile

同样,chown 也有参数选项,-R 选项配合通配符可以递归地改变子目录和文件的所属关系。 -h 选项可以改变该文件的所有符号链接文件的所属关系。

注意,只有root用户能够改变文件的属主。任何属主都可以改变文件的属组,但前提是属主必须是原属组和目标属组的成员。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。