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 组名

  • 相关阅读:
    JFinal连接多个数据库
    ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) net start mysql服务名无效
    oracle中文显示为问号
    IDEA开发环境的设置约定
    WSL distro导入导出
    Linux服务器的x11图形模式方式远程管理参考
    WSL Linux 的 Windows 子系统[笔记]
    devops-cd之esxi和docker实战
    devops-cd之vagrant virtualbox实战
    ansible高级使用知识点
  • 原文地址:https://www.cnblogs.com/allenzhu128/p/13893075.html
Copyright © 2011-2022 走看看