• Linux之文件和目录的权限


      Linux是一个多用户的操作系统,正确的设置文件权限非常重要。

    1.1 权限设置针对的用户

      Linux为三种人准备了权限——文件所有者,文件属组用户和其他人。其中root用户不应该算在其他人中,因为root用户具有控制一台计算机的完整权限。文件所有者一般是文件的创建者,但也不一定,可以中途改变一个文件的属主,但是必须由root用户来实施。

      可以将文件交给一个组,这个组就是文件的属组,文件属组中的用户成员享有对该文件的某些特殊权限,一帮情况下其他人享有最低的权限。

    1.2 需要设置的权限

      文件相关的权限一般由三种:读取(r) 写入(w)以及执行(x);对于文件而言读取权限意味着可以打开并查看文件的内容,写入权限意味着对文件的修改,而文件的可删除和重命名是由父目录的权限来控制的。

    要让一个文件可执行,必须设置其可执行权限,可执行文件有两类,一是可以直接由CPU运行的二进制文件;另一类是Shell脚本程序。

      对于目录而言,所谓的执行权限实际控制着用户能否进入目录,而读取权限控制目录中的内容能够列出,写入权限控制着目录中的创建,删除和重命名文件。

     

    1.3 查看文件和目录的属性

      使用下面的命令查看一个文件或者目录的详细信息:

    $ ls -l /bin/login

      查看一个目录的信息使用-ld命令:

    $ ls -ld ./etc/

    1.4 改变文件所有权:chown和chgrp

      chown命令用于改变文件的所有权。 chown命令的基本语法如下:

    chown [OPTION]...[OWNER][:[GROUP]] FILE...

    上面的命令将FILE的属主更改为OWNER,属组更改为GROUP,举例如下:

    $ sudo chown lewis:root days

    将days文件的属主更改为lewis,而把其属组更改为root组。如果只要更改文件的属组,可以省略”:GROUP“,如果只改变属组那么可以省略前面的”OWNER“。这样一个一个的更改文件的所有权很是麻烦,可能一个目录下有多个文件和子目录,chown命令提供了-R命令,来改变一个目录下面的文件和子目录的所有权,

    $ sudo chown -R  :group  iso/

    将iso目录下的所有子目录和文件属组改为group。

      Linux也提供了单独的chgrp命令来更改文件的属组,如:

    $ sudo chgrp group days

    同样chgrp可以使用-R命令对一个目录进行所有权的设置。

    1.5 改变文件的权限:chmod

      chmode用于改变文件的权限,使用”用户组+/-权限“的方式,来表示给相应的用户增加和减少权限,具体来说用户组包括:  

      u:文件属主

      g:文件属组

      o:其他人

      a:所有人

    而权限包括

      r:读取

      w:写入

      x: 执行

    以下面的命令为例:

    $ sudo chmod u+x days

    上述命令使得文件属主拥有了对文件days的执行权限。同样的也可以减少某个用户的权限,如将全部用户的执行权限去除:

    $ sudo chmod a-x days

    还可以直接通过”用户组=权限“的方式统一设置某个用户组的权限:

    $sudo chmod ug=rw,o=r days

    该命令将文件属主和文件属组都设置为拥有读写权限,其他人的权限改为只读权限。最后一种常用规则是”用户组1=用户组2“的方式,将用户组1的权限设置的和用户组2一致:

    $sudo chmod o=u days

    1.6 文件权限的八进制表示

      上述的chmod助记符虽然意义明确,但是有时候显得太罗嗦了,系统管理员更喜欢用八进制语法来修改权限,其实八进制语法也是很简单的,权限一共有三种,那么就可以使用三位二进制来表示,那么rwx为三位,每一位置1表示拥有该权限,比如将文件设置为只写对应位为010,其八进制值为2,以此类推,我们也知道用户组包括文件属主(u),文件属组(g)以及其他人(o)三种,那么可以各自使用三位一共为9位来设置权限:

    $ sudo chmod 711 prog

    分析上面的命令,7对应u权限,1对应g权限,1对应o权限,所以设置后的结果为,u具有rwx权限,g具有x权限,o也具有x权限。

    注意:只有文件的属主和root用户才有权修改文件的权限

  • 相关阅读:
    随笔——关于读论文
    enumerate
    torch.max
    C# WPF侧边栏导航菜单(Dropdown Menu)
    C# WPF过渡效果实现(C# WPF Material Design UI: Transitions)
    用C# WPF简单实现仪表控件
    自定义滚动条(Custom ScrollBar)
    从头实现一个WPF条形图
    漂亮的无序列表样式
    C# WPF实用的注册窗体
  • 原文地址:https://www.cnblogs.com/chmm/p/7443846.html
Copyright © 2020-2023  润新知