用户、组及权限管理详解

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

相关推荐

  • N22-love cat第19周 – 基于Apache + Tomcat +2种模式实现负载均衡以及配置集群seesion服务

      基于Apache+Tomcat实现负载均衡和集群服务 一、概念     从Tomcat权威指南中的测试数据,我们不难发现,对于静态页面的数据,Tomcat的处理速度比Apache要快很多,所以为什么要整合apache虽然在处理静态页面速度上比Apache快,但是Tomcat经不起大的并发量容易死。为此,我们就需要A…

    Linux干货 2016-08-29
  • DNS常用配置解析反向解析

    什么是域名解析库文件?     是指将我们访问的域名解析成IP返回给本主机,然后本机拿着解析后IP去访问服务器,而解析格式就放在域名解析库文件中。DNS解析分为正向解析和反向解析    正向解析就是将域或域名解析成对应的IP地址,反之则相反,通过IP解析成域名 &nbs…

    Linux干货 2017-05-31
  • 文件的权限详解(一)

    文件的权限 修改文件的属主和属组 chown 功能:更改属主命令,同时也能更改属组用法:   chown  选项  [属主名][:属组名]  文件名  (分隔符改成.也行) chown  选项   参考的文件=要更改的文件 chown [OPTION]… –reference=R…

    Linux干货 2016-08-04
  • 马哥教育网络班22期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; &n…

    Linux干货 2016-12-05
  • N22-第三周课堂练习

    — 1.列出当前系统上所有已经登录的用户的用户名,注意:用一个用户登录多次,则只显示一次即可。     who | awk '{print $1}' | uniq 2.取出最后登录到当前系统的用户相关信息。   last | head -n 1 3.取出当前系统上被用户当作其默认shell的最多的…

    Linux干货 2016-08-30
  • N22-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1    (复制/etc/skel为/home/tuser1) [root@localho…

    Linux干货 2016-09-05

评论列表(1条)

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

    很棒