Linux基础指令

权限控制

在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