权限控制
在Linux中,一个文件存在多种属性,包括r
:读、w
:写、x
:执行等基本权限,以及是否为目录(d
)、文件(-
)或者连接文件(l
)等属性。
可以使用下述属性对文件或文件夹的属性进行修改:
- chgrp:修改用户组
- chown:修改文件所有者
- chmod:修改文件权限
当我们使用ls -l
指令列出文件的权限时,一般如下所示:
1 | drwxrwxrwx |
上述表示方法中,第一个字符表示文件的的属性,接下来的字符每三个为一组,分别表示文件所有者、用户组以及其它的属性。
chmod
可以使用chmod指令修改文件或文件夹的权限,其用法如下:
直接指定相应的权限
1
chmod a=rwx test.txt
指的是:给所有的用户都赋予
rwx
权限。使用数字表示法
1
chmod 777 test.txt
r w x分别对应数字4 2 1,所赋予的权限即为对应数字之和,例如:上述命令表示:拥有者、用户组、其它所对应的使用权限均为rwx。
文件默认权限 umask
在创建文件时,其默认权限为(-rw-rw-rw-),即默认没有可执行权限,在创建目录时,其默认权限为(drwxrwxrwx),默认为所有权限均开放。
可以使用指令umask
设定所创建的文件或目录的默认权限,需要注意的是:umask的分数指的是“该默认值需要减去的权限”。
umask
默认的分数为022
,可以直接使用如下指令修改umask
的分数:
1 | umask 002 |
新建文件时,若使用了umask
指令,则默认权限为:
1 | (-rw-rw-rw-)-(-----w--w-)==>-rw-r--r-- |
新建目录时,默认权限为:
1 | (drwxrwxrwx)-(d----w--w-)==>drwxr-xr-x |