六、 用户管理

原文链接: http://www.cnblogs.com/outsrkem/p/11169434.html

用户管理概述

  • 通过对用户的合理管理,让用户更好的管理系统,通常用户分为以下三类:

    • 超级用户:可调用系统内所有资源
    • 系统用户:不可登录,用特定权限运行特定程序(限定权限)
    • 普通用户:普通管理员,只能管理和本用户相关的信息
  • UID:用户唯一标识符

UID 范围 用户级别 CentOS6.* CentOS7.* 备注 超级用户 root(0) root(0) 系统用户 1-499 1-999 nfsnobody(65534)系统用户 普通用户 500-65535 1000-65535
  • 组分类
    组本身没有类型,但根据该组所对应的用户进行类型的确认
    • 初始组(私有组)
    • 附加组(公共组)
    • 有效组(创建的文件时该文件的属组则是该用户当前的有效组)

相关配置文件

-rw-r--r-- 1 root root 1531 2018-07-17 13:42:53 /etc/passwd     用户信息配置文件
第一列:用户名
第二列:密码占位符(x)
第三列:UID
第四列:GID(用户初始组)
第五列:用户描述信息(可不写)
第六列:用户家目录(用户存放自己文件的位置)
第七列:登录shell类型(shell 命令解析器 /bin/bash,/sbin/nologin)
---------- 1 root root 1123 2018-07-17 13:42:53 /etc/shadow         密码配置文件
第一列:用户名
第二列:加密密码(SHA512散列模式加密。若为空,则仅限本地无密码登录,'*'或'!!'代表无密码)
第三列:密码最近修改时间    1970.01.01(Unix元年)
第四列:密码最短有效期     密码最少要使用的时间,期间不可修改密码
第五列:密码最长有效期     99999
第六列:密码到期前的警告天数
第七列:密码到期后的宽限天数
第八列:密码到期的时间(具体的某一时间点)   1970.01.01(Unix元年)
第九列:保留
-rw-r--r-- 1 root root 716 2018-07-17 13:42:53 /etc/group       组信息配置文件
第一列:组名
第二列:密码占位符(x)
第三列:GID
第四列:组成员列表
---------- 1 root root 563 2019-07-17 13:42:53 /etc/gshadow         组密码配置文件
第一列:组名
第二列:组密码
第三列:组管理员
第四列:组成员列表

注:一般二、三列不设,保证最小权限,保证安全

两个位置文件的权限/etc/shadow & /etc/gshadow

在CentOS 6.* 系列中密码文件的权限      000     ----------  
在CentOS 6.* 之前的操作系统中权限      400     -r--------

创建用户

私有组机制
    在创建用户前,先创建和用户名同名的组,将同名组作为该用户的初始组
公共组机制
    先创建一个组(如GID=100),以后创建的所有用户都用GID:100组作为初始组
新用户信息生成时参考配置文件
    /etc/default/useradd
    /etc/login.defs
新用户创建时模板文件目录
    /etc/skel/

相关命令

1) useradd  [选项]    用户名  新建用户
        -u  UID         用指定UID创建用户
        -g  组名          指定初始组,尽量不要手动指定
        -d  目录          手动指定家目录,目录不需要事先创建(指定缺省值/home)
        -s  shell类型 指定用户是否能登录系统
        -r              创建系统用户,一般和-s 结合使用
        -M              创建用户时不创建家目录
注:有效组定义:用户创建文件或目录时使用哪个组作为文件的所属组,就是有效组。
    初始组、附加组:是用户和组之间的关系
    有效组:用户和文件之间的关系
    天数转日期:date -d "1970-01-01 19527 days"
    日期转天数:echo $(($(date --date="2020/01/01" +%s )/86400+1))
2) passwd [选项] 用户名  更改密码
        -l  用户名         锁定用户的密码,使之无法登录到系统
        -u  用户名         解锁用户密码
        -S  用户名         查看用户帐号的状态(是否被锁定)
        非交互式设置密码:   echo "111" | passwd --stdin username
3) usermod  [选项]    用户名
        -u  UID             修改用户的指定UID
        -g  组名              修改用户的指定初始组(尽量不修改)
        -d  目录              结合 -m 选项直接对源家目录进行改名实现修改家目录
        usermod -m -d /home/u4  user4(用户user4的原家目录是/home/user4)
        -s  shell类型     修改用户的登录shell类型
        -L  用户名         锁定用户的密码
        -U  用户名         解锁用户密码  
        -l  新用户名    旧用户名    修改用户名
4) userdel  [选项]    用户名 删除用户
        -r          删除用户时,连带家目录一起删除
5) gpasswd  [选项]    用户名 组名
        -a  向指定组内添加一个成员
        -d  把指定用户从组内删除
        -M  定义组内成员列表,用户之间用,分隔   (覆盖式)
6) id   用户名         显示用户的UID、初始组、附加组列表
7) su   用户名         切换用户身份
8) su  -  用户名           切换用户身份,连带环境变量一起切换
9) newgrp   组名          修改用户的有效组,切换到普通用户之后,执行命令
10) chage -d 0 用户名  设置密码有效期为0天,登录即修改

转载于:https://www.cnblogs.com/outsrkem/p/11169434.html

你可能感兴趣的:(六、 用户管理)