用户、组及权限管理详解

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

相关推荐

  • CentOS启动流程排错

    grub legacy配置文件:/boot/grub/grub.conf     default=#: 设定默认启动的菜单项;落单项(title)编号从0开始      timeout=#:指定菜单项等待选项选择的时长     &…

    Linux干货 2016-09-13
  • SSH原理与运用:远程登录

    如果本地用户名与远程用户名一致,登录时可以省略用户名。 1 $ ssh host SSH的默认端口是22,也就是说,你的登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口。 1 $ ssh –p 2222 user@host 上面这条命令表示,ssh直接连接远程主机的2222端口。 三、中间人攻击 SSH之所以能够保证安全,原因在于它…

    Linux干货 2017-08-14
  • linux用户和组

    *** Linux用户和组: 1.用户:Username/UID     管理员:root, 0     系统用户:1-499(CENTOS6), 1-999(CENTOS7)     对守护进程获取资源进行权限分配  &nbsp…

    Linux干货 2016-08-04
  • 系统基础之用户,组管理作业题

    、创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser 1 2 3 [root@wen-7 ~]# useradd -u 1234 -g bin -G root,ftp&nbsp…

    Linux干货 2016-08-04
  • 网络管理,程序管理

    lsmod |grep bond0 ifconfig bond0 down 关闭bonding服务 rmmod bonding  删除 bonding 服务 lsmod |grep eth1000 查看  lsmod指令,会列出所有已载入系统的模块 rmmod  删除内核中的一模块  查找网卡驱动e1000 rmmod…

    Linux干货 2016-09-11
  • shell脚本2——顺序选择语句

    流程控制      顺序执行      选择执行      循环执行 顺序执行:     条件选择:if语句 if语句为选择执行 注意:if语句可嵌套 单分支 if  判断条件:t…

    Linux干货 2016-08-18

评论列表(1条)

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

    很棒