用户:

  任何用户被分配一个独特的用户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位设置的目录下创建的文件有目录的组的权限的累加

redhat7:用户、组和权限的更多相关文章

  1. CentOS 用户/组与权限

    useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户a ...

  2. Linux的用户(组),权限,文件精妙的三角关系,和强大的帮助系统

    在linux中一切都是文件(文件夹和硬件外设是特殊的文件),如果有可能尽量使用文本文件.文本文件是人和机器能理解的文件,也成为人和机器进行 交流的最好途径.由于所有的配置文件都是文本,所以你只需要一个 ...

  3. Linux下的用户、组和权限

    目录 一:用户和组信息的查看 查看用户信息 查看密码信息 查看组信息 特殊组wheel 二:用户和组信息的管理 用户管理 组管理 三:文件权限 文件权限的查看 文件权限的修改 ACL控制权限 setf ...

  4. linux基础-第七单元 用户、群组及权限的深入讨论

    怎样查看文件的权限 ls命令详解 root用户及文件的安全控制 什么是root用户 用户分类 文件操作权限 文件操作权限的字符表示 chown chgrp 使用符号表示法设定文件或目录上的权限 chm ...

  5. linux概念之用户,组及权限

    Linux 是一个多用户.多任务的操作系统:我们应该了解单用户多任务和多用户多任务的概念 单用户多任务一个beinan用户,为了完成工作,执行了几个任务:当然beinan这个用户,其它的人还能以远程登 ...

  6. Django用户认证系统(三)组与权限

    Django的权限系统很简单,它可以赋予users或groups中的users以权限. Django admin后台就使用了该权限系统,不过也可以用到你自己的代码中. User对象具有两个ManyTo ...

  7. linux用户、组、权限问题

    用户.组.权限一.权限:r, w, x1.文件权限:      r:可读,可以使用类似cat等命令查看文件内容:      w:可写,可以编辑或删除此文件:      x: 可执行,eXacutabl ...

  8. Linux第四节 组管理、用户管理、权限管理 / chmod /chown / umask / vim

    三期第三讲1.组管理/用户管理(重要文件系统会实时备份 file-) vim/etc/group: 组管理文件://组名:密码控位键:组id:成员 vim/etc/gshadow:组密码管理文件:// ...

  9. LINUX用户、组、权限管理和归档压缩、时间、Ping

    一.用户与用户组管理.权限 1.用户文件/etc/passwd 2.用户密码/etc/shadow 3.组文件/etc/group 4.查看用户和组信息命令id 5.添加用户 useradd [-u ...

随机推荐

  1. 编写java的时候出现“编码GBK的不可映射字符”

    今天在编写文件的时候,使用 javac ***.java 但是java文件里面会出现一些中文的信息,So:会报错 方法: 加参数-encoding UTF-8 例如:javac -encodig UT ...

  2. [iOS] 在 ios10 中使用 imessage

    本文转载至 http://www.tuicool.com/articles/zIFvQn7   原文  http://www.bourbonz.cn/在ios10中使用imessage/ 主题 iOS ...

  3. (转)C语言中长度为0的数组

    前面在看Xen的源码时,遇到了一段代码,如下所示: 注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?……这篇文章主要针对该 ...

  4. <转>Python OOP(1):从基础开始

    转自  http://www.cnblogs.com/BeginMan/p/3510786.html 本文旨在Python复习和总结: 1.如何创建类和实例? # 创建类 class ClassNam ...

  5. [转载]Array.prototype.slice.call(arguments,1)原理

    Array.prototype.slice.call(arguments,1)该语句涉及两个知识点. arguments是一个关键字,代表当前参数,在javascript中虽然arguments表面上 ...

  6. 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上

    版权声明:本文由薛梁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/628340001485134638 来源:腾云阁 ht ...

  7. ERROR 1045 (28000): Access denied for user 'mycat'@'localhost' (using password: YES)

    创建用户: mysql> grant all on db1.* to mycat@'%' identified by '123456'; Query OK, 0 rows affected (0 ...

  8. sencha touch 类的使用

    sencha touch 有一套自己的类机制,可以以面向对象的方式去写代码,封装业务逻辑,sencha touch 的组件.插件.api等都建立在这一套类机制的上面 在实际开发中,我们需要遵循这一套机 ...

  9. 使用java实现的socket代理(支持socket4和socket5)

    代码如下: import java.io.*; import java.net.InetAddress; import java.net.ServerSocket; import java.net.S ...

  10. VC消息传递(对话框间传递参数)

    以下用一个自创的对话框类(MyMessageDlg)向视图类(MessageTestView)发送自定义消息为例,说明这两种不同方法的自定义消息的 消息传递的方法一:使用ON_MESSAGE使用ON_ ...