zoukankan      html  css  js  c++  java
  • 权限管理-用户组管理

    一.用户与组管理

    1、什么是用户
    用户是操作系统提供一种安全机制
    用户是权限的化身

     

    2、为何要有用户?
    (1)划分权限,增强安全性
    (2)每启动一个进程都会与一个用户关联

    (3)进程能否访问到文件,和用户的权限关联.

    3、组的概念
    主组: 用户本身所在部门(基本组)
    附加组:为用户添加的部门(附加组)

    用户与组的关系:
    一对一:一个用户可以属于一个组,用户默认就在自己的主组下
    一对多:一个用户可以属于多个组,用户只有一个主组,但可以为用户添加多个附加组
    多对多:多个用户可以属于多个组

    总结:
    linux系统把文件的权限分为了三类
    (1)属主对应的权限
    (2)属组对应的权限
    (3)其他用户对应的权限
    一个用户对文件的权限扫描的优先级:
    (1)先看该用户是否是文件的属主
    (2)在1失败的情况,看该用户是否是文件的属组
    (3)在2失败的情况,该用户就属于其他用户权限

    4.用户的分类(centos7)(约定)
    0:超级管理员,最高的权限.
    1-200:系统用户,用来运行系统自带的进程,系统自建.
    201-999:系统用户,用来运行安装的程序,所以此类用户无需登录系统.
    1000+:普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限.
    注意: 在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户

     


    二. 用户与组相关文件

    /etc/passwd
    /etc/shadow
    /etc/group
    /etc/gshadow
    root:x:0:0:root:/root:/bin/bash
    第一字段:用户名
    第二字段:口令,我们看到的是一个X,其实密码已被映射到/etc/shadow文件中(删除X,用户登录就不需要密码)
    第三字段:uid
    第四字段:gid
    第五字段:描述信息
    第六字段:用户的家目录所在位置
    第七字段:用户登录所用shell的类型
     
     

     

     

     

    /etc/skel/ 用户老家的模版

    /home/用户名  用户的家目录

    /var/spool/mail/用户名  用户邮箱文件

     

    用户创建扩展知识
    useradd创建用户时,系统会以/etc/login.defs、/etc/defaults/useradd两个配置文件作为参照物
    用户创建目录时,会发邮件在/var/spool/mail,可以删除。
    1./etc/login.defs
    #用户的邮件目录
    MAIL_DIR /var/spool/mail
    #密码的最大天数
    PASS_MAX_DAYS 99999
    #密码最小使用天数
    PASS_MIN_DAYS 0
    #密码最小长度
    PASS_MIN_LEN 5
    #剩多少天警告
    PASS_WARN_AGE 7
    #普通用户最小uid
    UID_MIN 1000
    #普通用户最大uid
    UID_MAX 60000
    #系统用户最小uid
    SYS_UID_MIN 201
    #系统用户最大uid
    SYS_UID_MAX 999
    #普通用户最小gid
    GID_MIN 1000
    #普通用户最大gid
    GID_MAX 60000
    SYS_GID_MIN 201
    #系统用户最大gid
    SYS_GID_MAX 999
    #是否创建家目录
    CREATE_HOME yes
    #创建家目录的权限(700)
    UMASK 077
    #创建用户的同时 创建组,删除用户的同时,删除组
    USERGROUPS_ENAB yes
    #密码的 加密算法
    ENCRYPT_METHOD SHA512
     
    2./etc/default/useradd
    #依赖于/etc/login.defs的USERGRUUPS_ENAB参数,如果为no,则在此处控制
    GROUP=100
    #普通用户家目录
    HOME=/home
    #是否启用账号过期 -1表示不启用
    INACTIVE=-1
    #账号的终止日志 不设置表示不启用
    EXPIRE=
    #默认登录shell
    SHELL=/bin/bash
    #用户的家目录 环境变量
    SKEL=/etc/skel
    #创建邮件
    CREATE_MAIL_SPOOL=yes

    三. 用户管理命令

    useradd 添加用户

    usermod  修改用户信息

     

    userdel 删除用户

    -r 同时删除用户的家目录


    四.组管理


    groupadd  创建组
    -g 指定gid
    -r  创建系统组

    groupmod 修改组信息
    -g 修改组gid
    -n 修改组名称

    groupdel 删除组
    注意:如果一个组是一个用户的主组,那么该组不能被删除.,一个用户必须有一个主组.

     
     
    gpasswd (创建组密码:gpasswd 组名)
    -a  将某个用户加入到某个组
    -M 将多个用户加入到某个组
    -A  指定某个用户为某个组的组长,除了root以外该用户也可以执行gpasswd -a,将一个用户添加到组长所在的组里.
    -d  把一个用户从一个组里删除 

     

    newgrp 

    将一个用户临时加入到一个组中,可以执行这个组所对应的权限,但需要输入组的密码.退出登录,也会退出该组
    语法: newgrp 组名

  • 相关阅读:
    【leetcode】416. Partition Equal Subset Sum
    【leetcode】893. Groups of Special-Equivalent Strings
    【leetcode】892. Surface Area of 3D Shapes
    【leetcode】883. Projection Area of 3D Shapes
    【leetcode】140. Word Break II
    【leetcode】126. Word Ladder II
    【leetcode】44. Wildcard Matching
    【leetcode】336. Palindrome Pairs
    【leetcode】354. Russian Doll Envelopes
    2017.12.22 英语面试手记
  • 原文地址:https://www.cnblogs.com/allenzhu128/p/13893075.html
Copyright © 2011-2022 走看看