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相关知识与技术
  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/cxzdgs/p/5130406.html
Copyright © 2011-2022 走看看