zoukankan      html  css  js  c++  java
  • redhat7:用户、组和权限

    用户:

      任何用户被分配一个独特的用户id号(UID)  (UID 0标识root用户    用户账号通常从UID 1000开始(在redhat6及之前的版本,从500开始))  。  

      用户名和UID信息通常存储在/etc/passwd文件中 。   

      当用户登录时它被分配一个主目录并且运行一个程序。

      没有权限许可用户不能读取、写或执行其它用户的文件(这对root用户无效)。

    组:

      用户指派给组(linux的组是不能嵌套的。redhat7中,已经不再限制用户分配的组的数量;5版本及之前的版本,单个用户最多隶属于32个组。) 。   

      每一个组被分配一个独特的组ID(gid)  。  

      GID保存在/etc/group中。    

      每一个用户都有自己的私有组。    

      同一个组中的所有用户能共享属于这个组的文件。

    用户和组ID数字:    

      用户名映射到用户ID数字(ll -n)。

      组名映射到组ID数字。    

      存储在硬盘上的数据是数字形式存储。

    linux文件安全:

      每一个文件都属于一个UID和GID所有

      任何进程运行时都带一个uid和一个或多个gid标识符(通常决定于哪个用户执行这个进程)

          三种访问类别: 1. 运行的进程跟文件有着同样的UID(user) 2. 运行的进程跟文件有着同样的GID(group)  3.其它进程(other)

    权限优先:    

      如果UID匹配,用户权限适用(优先级最高);否则,如果GID匹配,组权限适用(优先级其次);如果都不匹配,其它权限适用(优先级最低)。

    权限类型:

      在显示权限的时候用到的四个符号(  r:允许读取文件或者显示一个目录下的所有内容;  w:允许写文件或者在一个目录中创建和删除文件;  x:允许执行一个应用程序或者进入一个目录列出它下面的所有内容(如果没有x权限,对于目录来说,上面两种权限就没有意义,无法使用)  -:没有任何权限(在r,w或者x的显示位置))。

    检查权限:    

       通过ls -l可查看文件权限。

      $ls -l /bin/login  -rwxr-xr-x. 1 root root 1980 Apr 1 18:26 /bin/login    

      文件类型和权限通过11个字符来表示(第一个-号为文件类型符;中间九个被称为文件权限位,每三个一组(用户,组,其它);最后一位"."被称为acl状态符)。  

      示例:      -rwxr-x---. 1 andersen trusted 2948 Oct 11 14:07 myscript     

      myscript文件的所有者andersen具有读取、写和执行权限 ,trusted组成员对它具有读取和执行权限,其它用户或组对它不具有任何访问权限,未设置ACL权限。

    改变文件所有权:    

      只有root用户能改变一个文件的所有者    

      只有root用户或者所有者能改变文件的组(所有者只能将文件的组改到所有者所隶属于的组的范围中,不能改到所有者不属于的组中)    

      通过chown命令改变用户所有权(可以同时改变文件的拥有者和拥有组)  chown [-R] user_name file|directory...    

      通过chgrp命令改变组所有权  chgrp [-R] group_name file|directory...

    改变权限-符号方法:    

      改变访问模式:chmod [-R] mode file    

             模式包括  u,g或者o表示文件所属用户,组以及其它用户  +或者-表示允许或者禁止  r,w或者x表示读取,写和执行。

         示例:  chmod ugo+r file  :允许所有用户对该文件具有读取权限

    改变权限-数字方法:

      使用三位数字模式  第一位数字指定所有者权限 ; 第二位数字指定所属组权限 ; 第三位数字表示其它用户的权限。权限通过累加的方式来计算:  4(读取),2(写),1(执行),0(无权限)    

        示例:  chmod 640 myfile

    改变权限-Nautilus:

      Nautilus能设置文件或者目录的权限以及组成员  

      在Nautilus窗口中,右键单击一个文件  右键菜单中选择‘属性’,然后选择‘权限’tab

    默认许可:    

      对目录来说默认许可777是最小的掩码    

      对于文件默认许可同目录默认许可,但是没有执行权限,即666    

      掩码通过umask命令设置    

      非特权用户的掩码是002:那么文件将有许可664  目录将有许可775    

      root的掩码是022

        例:  用root创建目录,默认生成的是777-022=755

    赋执行权限:    

      suid:命令运行时具有命令所有者权限,不是命令的执行者(仅作用在命令上)(通过chmod u+s赋权限)(大写S表示该文件原先没有执行x权限,小写s表示文件原先具有执行x权限。)

      sgid:命令运行时具有命令所在组权限的合并(可用在命令,也可用在目录上)(通过chmod g+s赋权限)

    给目录赋权限:    

       sticky bit(只作用于目录)(通过chmod o+t给目录赋权限)。带有sticky bit的目录,目录中的文件只能被所有者或者root删除    

       sgid:  在带有sgid位设置的目录下创建的文件有目录的组的权限的累加

    java相关知识与技术
  • 相关阅读:
    ACM学习历程——POJ3321 Apple Tree(搜索,线段树)
    ACM学习历程——NOJ1113 Game I(贪心 || 线段树)
    ACM学习历程——HDU5202 Rikka with string(dfs,回文字符串)
    ACM学习历程——hihoCoder挑战赛10A 01串(策略)
    ACM学习历程——POJ3468 A Simple Problem with Integers(线段树)
    ACM学习历程——POJ1260 Pearls(动态规划)
    java入门了解09
    java入门了解08
    java入门了解之快捷键
    java入门了解07
  • 原文地址:https://www.cnblogs.com/cxzdgs/p/5130406.html
Copyright © 2011-2022 走看看