1.7.3 解码文件权限
使用ls命令查看Linux系统上文件、目录和设备的文件权限。字段中的第一个字符定义了对象的类型:-表示文件、d表示目录、l表示链接、c表示字符设备、b表示块设备、n表示网络设备。
在它后面是3组字符。每组的3个字符都定义一个访问权限:r表示对象读权限、w表示对象写权限、x表示对象执行权限。如果拒绝了某个权限,则该位置会出现一个破折号(-)。这3组字符分别与3种级别的对象安全性相关:对象所有者、拥有对象的用户组、系统上的其他任何人。
操作实例解释如下所示:
针对第一个文件权限解释如下:
这些权限表示用户登录名ewang可以读取、写入、执行文件的权限。用户组ewang中的成员也能读取、写入、执行文件的权限。不在ewang用户组的任何人也具有读取、写入、执行的权限。
1.默认文件权限
umask命令为创建的任何文件或目录设置默认权限。使用umask命令设置并非足够清晰,第一位数字表示一种特殊的安全特性,称为粘着位。随后的3个数字表示文件或目录的八进制umask值。操作实例如下:
八进制模式安全设置将3个rwx权限值转换为一个3位的二进制值,由一个八进制值表示。在二进制表示中,每个位置都是一个二进制。因此,读取权限是唯一的权限集,则值应该是r--,相关的二进制值为100,这表示八进制值为4。
八进制模式使用八进制权限并依次列出了3种安全级别(用户、用户组、任何人)的权限值。八进制模式值664表示用户和用户组拥有读取和写入权限,而其他任何人只有读取权限。
umask值只是一个掩码。它掩去不希望为安全级别指定的权限。umask值是从对象完整权限集中减去的值。文件的完整权限是模式666(所有人都有读取/写入权限),而目录的完整权限是777。umask值通常设置在/etc/profile启动文件中,可以使用umask命令指定不同的默认umask设置。因此实例中,文件的初始权限为666,而应用002的umask之后,文件许可变为了664。
umask值通常设置在/etc/profile启动文件中。可以使用umask命令指定不同的默认umask设置。通过将umask值设置为026,默认文件权限将变为640,而目录的权限为751。操作实例如下所示: