一切皆是文件”是 Unix/Linux 的基本哲学之一,不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。因此,在linux中,掌握文件的有关知识是很重要的。
对文件来说,访问者的身份共分为3种:owner、group、other。而文件针对这三种身份所给予的权限也是不同的,通过命令ls -l可以查看文件的权限:
例如str.c这个文件的权限是:- rwx rw- rw- 其中的第一个-代表着是文件的类型,若是普通文件,则是‘-’,若是目录,则是‘d',还有其他的很多类型。
之后的一组rwx则是owner对于这个文件的权限,可读、可写、可执行。 再然后的一组rw-,代表着可读、可写。最后的一组也是可读、可写。 同时这个文件的owner是root,group也是root。同时在赋予权限的时候,r代表4,w代表2,x代表1.
umask设置了文件的默认设置,输入umask会显示当前用户的文件默认设置,
当前用户的默认设置为0022,2代表着w,因为umask代表着屏蔽字,所以这代表着不可写,即group和other不可写。但是如果输入umask -S,则代表着默认可执行的操作。
当你创建一个文件时,你会发现这个文件的属性如下:
并没有可执行权限,这是因为这个创建的普通文件默认最大权限为666,即没有可执行权限。
但是当你创建一个目录时,你会发现如下:
这是因为目录的执行权限与是否可以进入此目录有关,所以默认权限是开放的,即默认权限最大为777。
同时在umask后面加上你想屏蔽的权限即可以设置默认权限。 如下所示: