用户、组及权限管理详解

用户类别:Liunx中用户标识范围在0-65535之间;

  • 超级用户(管理员) —— 默认为root,拥有所有权限。UID与GID值为0,
  • 普通用户
    • 系统用户 —— CentOS6中UID与GID值为1~499,CentOS7中UID与GID值为1~999。默认不能登录系统,存在主要是满足系统进程对文件属主的需求;
    • 登录用户 —— CentOS6中UID与GID值为500~65535,CentOS7中UID与GID值为1000~65535。是由拥有系统权限的人员添加的,可以登录系统,可以操作自己家目录中文件和目录的权限,和进入与浏览相关目录文件的权限(如/etc,/var/log),但是没有创建、修改、删除等权限;

组类别:

  • 管理员组,普通用户组:和上面的用户类别一样;
  • 基本组和附加组:基本组相当于亲生父母,附加组相当于干爹干妈;
  • 私有组、公共组:
    • 私有组:组名同用户名,且只包含一个用户;
    • 共有组:组内包含了多个用户;

认证信息(数据库文件):通过比对事先存储的,与登录时提供的信息是否一致;

/etc/shadow —— 用户的信息库
    名字;密码:属主ID:属组ID:注释信息:家目录:默认shell
/etc/gshadow —— 用户密码
    用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期期限:保留字
/etc/group —— 组的信息库
    用户组名:组密码:组ID:该组的用户成员

密码存储格式:目前有六种,是单向加密,并借助于随机数(salt)完成;

1.md5
2.sha1
3.sha224
4.sha256
5.sha384
6.sha512

权限管理:比如使用ls -l命令得到rwxrwxrwx字符串来显示权限;

  • 左三位 —— 定义属主user的权限
  • 中三位 —— 定义属组group的权限
  • 后三位 —— 定义其他other的权限

进程对文件的访问权限应用模型:
首先检查进程的属主与文件的属主是否相同;如果相同,则应用属主权限;否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;否则,就只能应用other的权限;

字母代表的含义:

  • r:读取
  • w:写入
  • x:执行

对于文件字母代表的含义:

  • r:可获取文件的数据;
  • w: 可修改文件的数据;
  • x:可将此文件运行为进程;

对于目录字母代表的含义:

  • r:可使用ls命令获取其下的所有文件列表;
  • w: 可修改此目录下的文件列表;即创建或删除文件;
  • x: 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;

权限组合机制:把位数看成0和1时可以用二进制来代表权限,还可以用8个数字来代表所有的状况;

 --- 000 0  
 --x 001 1  
 -w- 010 2  
 -wx 011 3  
 r-- 100 4  
 r-x 101 5  
 rw- 110 6  
 rwx 111 7

权限管理命令:chmod

  • chmod [OPTION]… MODE[,MODE]… FILE…
    • 赋权表示法:直接操作一类用户的所有权限位rwx,u= g= o= a=
    • 001
    • 授权表示法:直接操作一类用户的一个权限位r,w,x,u+ u- g+ g- o+ o- a+ a-
    • 002
  • chmod [OPTION]… OCTAL-MODE FILE…
  • 003
  • chmod [OPTION]… –reference=RFILE FILE…
  • 004
  • 选项:-R, –recursive:递归修改 ,只有授权表示法用的多些,其它方法不建议使用;用户只能修改属主为自己的那些文件的权限;
  • 005
  • 006

从属关系管理命令:chown, chgrp, 仅管理员可修改文件的属主和属组;

  • chown命令:可以更改属主和属组
    • chown [OPTION]… [OWNER][:[GROUP]] FILE…
    • chown [OPTION]… –reference=RFILE FILE…
    • 选项:-R:递归修改
    • 007
  • chgrp命令:更改属组
    • chgrp [OPTION]… GROUP FILE…
    • chgrp [OPTION]… –reference=RFILE FILE…

umask:文件的权限反向掩码,遮罩码;新建文件或目录的权限是减去umask得到的;

  • 文件:666-umask;用666,表示文件不能拥有执行权限;如果减后结果有执行权限,再加1;
  • 目录:777-umask
  • umask命令 —— 设定仅对当前shell进程有效
    • umask:查看当前umask
    • umask MASK: 设置umask

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92003

(0)
华龙华龙
上一篇 2018-03-07 17:19
下一篇 2018-03-08 17:01

相关推荐

  • sed

    Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把当前 处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后 ,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环 。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空 模式空间,但不会清空保留…

    Linux干货 2017-12-03
  • linux初步

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理命令 文件管理有哪些命令:ls, cd, pwd, mkdir, rmdir, cp, rm, mv, touch, cat, more, less, head, tail等,下面我们就来详细的说一下(只说常用的,不是命令全部) (1). ls 命令 1 2 3 4 5 6…

    Linux干货 2017-01-22
  • Linux Basics

    计算机的组成及其功能:             CPU:运算器、控制器、寄存器、缓存             存储器:内存,RAM(Random Access Memory)   …

    Linux干货 2016-09-17
  • 字段分隔符和迭代器

        内部字段分隔符(Internal Field Separator)是shell脚本编程中的一个重要概念。在处理文本数据时,有很大的作用。内部字段分隔符是用于特定用途的定界符,IFS是存储定界符的环境变量,它是当前shell环境中使用的默认定界符字符串。     例一:da…

    Linux干货 2016-08-15
  • 8-8 处理文本工具sed及vim文本编辑工具

    处理文本工具sed及vim文本编辑工具 Sed:   sed是一种在线编辑器、行编辑器,一次处理一行内容。在处理时,把当前处理的行存储在临时缓冲区中,该缓冲区称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完毕后,把缓冲区的内容送到标准输出;然后紧接着处理下一行,重复完成相同的操作,直到文件末尾;sed处理的整个过程中,对象文件…

    Linux干货 2016-08-11
  • http协议

    Web Service概述 web服务时一种应用程序的服务,它所提供的最主要的信息是一种超文本标记语言(HTML)、多媒体资源(如:视频、图片、音乐等)。HTML是一种纯文字的文本信息,通过所谓的标签来规范所要显示的内容格式,在客户端通过浏览器的形式对HTML及多媒体资源进行解析,然后呈现在终端上。主要由http和https协议实现 http协议概述 HTT…

    Linux干货 2016-10-28

评论列表(1条)

  • 马哥教育
    马哥教育 2018-03-20 22:04

    很棒