美文网首页LinuxKali Linux我用 Linux
Linux使用:文件或目录的权限设置

Linux使用:文件或目录的权限设置

作者: Breaker_93 | 来源:发表于2017-11-13 14:19 被阅读28次

    一、What.

    Linux系统中的文件或目录有几种访问权限?

    ​ 在Linux系统中,每个文件或目录具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。

    权限名 对于文件的意义 对于目录的意义
    r 可以读取该文件内容 可以查看该目录下的完整文件信息
    w 可以编辑文件内容 可以对此目录下的所有的文件及目录进行相关的更改,也就是可以更改这个目录下的结构列表(这个要重视) 具体权利如下: 可以在此目录下创建新的文件或目录; 可以在此目录下删除存在的文件或目录(不论该文件的权限是什么,这点要格外注意!!!!)可以重命名及改变文件或目录的位置。
    x 文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe、bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系。 目录没有可执行的权限,因此目录中x的功能就是允许别的用户进入这个目录。

    Linux系统的权限控制基本原理是什么?

    ​ 在 Linux 系统中,我们所有的操作实质都是在进行进程访问文件的操作。我们访问文件需要先取得相应的访问权限,而访问权限是通过 Linux 系统中的安全模型获得的。如果你想了解安全模型相关知识,请转至 http://www.infoq.com/cn/articles/basic-principle-of-Linux-privilege-control


    二、Why.

    什么情况下需要我们设置访问权限?

    ​ 当在Linux系统中开发或部署管理项目时,需要设置相关的权限来与别人共享文件、来让外界访问查看等,以避免泄露重要信息、被误删或更改重要文件等。


    三、How.

    如何查看文件或目录的权限?

    ​ 通过“ls -l”命令即可查看当前目录下的文件或目录的权限,"ls -l fileName "查看名为“fileName”的文件或目录的权限。命令执行结果的第一个字段表示权限,总共10位,例如:

    -rwxr-xr-x
    
    • 第1位:表示文件类型,-表示文件,d表示目录
    • 2-4位:表示文件所有者的权限,u权限
    • 5-7位:表示文件所有者所属组成员的权限,g权限
    • 8-10位:表示所有者所属组之外的用户的权限,o权限
    • 2-10位:权限总和有时称为a权限

    如何修改文件或目录的权限?

    1、通过数字表示法修改权限

    ​ 数字表示法:将x、w、r分别用1、2、4来代表授予权限,没有授予则为0。例如:

    原始权限 转换为数字 数字表示法 代表意义
    rwx--xr-x (421)(001)(401) 715 7:4+2+1,1:0+0+1,5:4+0+1

    ​ 通过“chmod num fileName”将名为“fileName”的文件或目录的权限修改为“num”数字代表的权限,例如:

    chmod 777 test
    

    表示将test文件授予“rwxrwxrwx”权限,即对文件所有者、所有者所属组的成员和组之外的成员,都具有可读、可写和可执行的权限。

    chmod 777 /test/*
    

    表示将根目录下的test目录下的所有文件授予“rwxrwxrwx”权限,即对文件所有者、所有者所属组的成员和组之外的成员,都具有可读、可写和可执行的权限。

    2、通过文本表示法修改权限

    ​ 文本表示法:将2-4位(所有者)、5-7位(组成员)、8-10位(其他成员)、2-10位(所有人)四类用户分别用u、g、o、a来代表,权限仍用r、w、x表示,通过=、-、+分别表示对指定用户群重新制定新权限、设置减少权限、设置增加权限。

    ​ 通过“chmod text fileName”对名为“fileName”的文件或目录的权限执行“text”文本代表的权限操作,例如:

    chmod u+x,g-x,o=x test
    

    表示对test文件的所有者加上执行权限,组成员减少执行权限,其他成员设置为执行权限。

    chmod u+x,g-x,o=x /test/*
    

    表示对根目录下的test目录下的所有文件的所有者加上执行权限,组成员减少执行权限,其他成员设置为执行权限。

    3、设置文件或目录新建时的默认权限

    > 通过设置默认权限,避免新建文件或目录时权限过大或过小。
    

    ​ 通过设置4个八进制数字的权限掩码来控制默认权限,一般来说,新建文件的默认权限是0666,新建目录的默认值是0777。如果将权限掩码设置为0022,则每个新建文件的默认权限为0666-0022=0644,而目录的默认权限则为755。

    ​ 通过“umask”查看当前的权限掩码,通过"umask num"将权限掩码改为"num",例如:

    umask 0002
    

    表示将权限掩码设为“0002”,则再新建文件或目录的话,则文件的默认权限变为:0666-0002=0664,则目录的默认权限变为:0777-0002=0775 。

    相关文章

      网友评论

        本文标题:Linux使用:文件或目录的权限设置

        本文链接:https://www.haomeiwen.com/subject/vxrzmxtx.html