用户、组及权限管理详解

用户类别: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

相关推荐

  • linux网络管理

    Linux网络配置 摘要:Linux 对网络的管理分为 静态指定和动态管理。 静态指定 静态指定ip一般有命令              ifconfig       &…

    Linux干货 2016-04-05
  • N26-第七周

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdi…

    Linux干货 2017-03-05
  • 马哥教育网络班22期+第十一周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。第一阶段:ClientHello:    客户端(通常是浏览器)先向服务器发出加密通信的请求,这被叫做ClientHello请求。客户端向服务器提供以下信息:        支持的协议版本,比如TLS 1.2 &n…

    Linux干货 2016-12-27
  • 基于ansible role实现LAMP平台批量部署

    前言 作为运维人员,当面对几十台或上百台服务器需要修改某个参数或部署某个平台,你将从何入手呢?ansible的出现很好的解决了这一困扰,ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。本文带来的是基于Ansible Role…

    Linux干货 2015-06-11
  • Python高阶函数和装饰器

    高阶函数 First Class Object 函数在Python中是一等公民 函数也是对象,可调用(callable)的对象 函数可以作为普通变量、参数、返回值等等 高阶函数 数学概念y=g(f(x)) 在Python中,高阶函数应该满足下列至少一个条件 接受一个或者多个函数作为参数 输出一个函数 计数器 def counter(base): def in…

    Linux干货 2017-10-23
  • Linux – 计算机基础知识体系

    一、认识计算机的组成      计算机组成(computer composition)指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。 计算机一般是由硬件系统和软件系统这两部分组成,硬件系统包括:CPU、内存、硬盘、输入和输出设备(键盘鼠标、显示器等),软件系统包括:系统软件自身、用…

    Linux干货 2017-02-19

评论列表(1条)

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

    很棒