• Linux 用户管理_用户相关配置文件详解



    linux的用户管理


    linux支持多个用户同时使用同一个用户登陆系统,windows在修改组策略的情况下,也可以多个人使用同一个用户登陆。

    远程连接Linux的方式:ssh

    远程连接windows的方式:RDP


    查看系统中的用户


    [root@gong ~]# id
    # id,查看当前登录的用户信息
    
    -u	查看用户uid
    -g	查看用户gid
    -G	查看用户所属组id
    
    [root@gong ~]# id -u gong01
    [root@gong ~]# id -g gong01
    [root@gong ~]# id -G gong01
    

    用户相关的配置文件

    用户配置文件-passwd


    /etc/passwd

    [gong@oldboy ~]$ cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    
    root	用户名
    x		密码占位符
    0		uid
    0		gid
    roor	注释信息
    /root	用户家目录
    /bin/bash	用户使用的解释器
    


    用户密码配置文件-passwd


    /etc/shadow

    [root@oldboy ~]# cat /etc/shadow
    gong:$6$BCVy.L6s$BXID8pfq7FqQITZrhj5W6Fpfl7SERqLzn0OAOGoPULnN/lXarLzC2nvnSkjyUM3TiKfY2mIMByGi4/Mu5/TwT0:18351:0:99999:7:::
    
    第一列		用户名
    第二列		!! 没有密码,表示密码
    第三列		18351从1970年开始数的第多少天,上一次修改密码的时间从1970到现在有多少天。
    第四列		密码最小使用天数 0表示无限制
    第五列		密码过期天数,99999天
    第六列		密码过期前七天提示 7
    第七列		密码过期后n天强制修改密码
    第八列		账户失效时间,从1970年开始计算
    第九列		保留
    


    用户的分类(约定、规范)


    用户UID 系统含义
    0 超级用户,拥有系统的最高权限
    1-200 系统用户,系统分配给系统程序使用,不需要登陆系统
    201-999 系统用户,用来运行服务,不需要登陆系统的
    1000+ 普通用户

    注意: 在CentOS


    用户相关的命令


    useradd
    adduser
    
    useradd [options] [用户名]
    默认情况下,创建用户的时候会创建以用户名相同的组,并把用户加入里面
    
    -u		指定uid
    -g		指定gid,也可以指定属组
    -G		指定属组,附加组;如果加入多个附加组则用','分开
    -M		不创建家目录
    -s		指定登陆的shell
    -c		注释
    -d		指定家目录
    -r		创建一个uid范围是201-999的系统用户,不创建家目录。
    -p		在创建的时候指定密码
    


    userdel
    Usage: userdel [options] 用户名
    默认情况下,在删除用户的时候同时会把同名的用户组也删除,但是如果组内有其它用户,则不会删除组,只删除用户。
    
    -r		删除用户的同时,删除用户的家目录,和用户的其它邮件目录 (删干净)
    
    


    usermod
    Usage: usermod [options] username
    -u	修改uid
    -g	修改gid
    -G	修改附加组
    -a	配合-G,在修改附加组的时候,起到追加效果
    -m	修改(迁移)家目录,必须配合-d使用
    -d	指定修改后的家目录
    -s	修改登陆的shell
    -c	修改注释
    -l	修改登陆的用户名
    -L	锁定用户
    -U	解锁用户
    
    


    id
    whoami
    

    用户的扩展知识


    [root@gong ~]# grep -vE '^#|^$' /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
    
    # 使用-r 创建用户的最小uid
    SYS_UID_MIN               201
    
    # 使用-r 创建用户的最小uid
    SYS_UID_MAX               999
    
    # 创建组的最小uid
    GID_MIN                  1000
    
    # 创建组的最大uid
    GID_MAX                 60000
    
    # 使用-r 创建组的最小uid
    SYS_GID_MIN               201
    
    # 使用-r 创建组的最小uid
    SYS_GID_MAX               999
    
    默认是否创建家目录
    CREATE_HOME	yes
    
    # 创建家目录时的默认权限700
    UMASK           077
    
    # userdel删除的时候是否删除对应组
    USERGROUPS_ENAB yes
    
    # 用户密码的加密算法
    ENCRYPT_METHOD SHA512
    
    
    [root@oldboy ~]# ll /etc/default/useradd 
    -rw-r--r--. 1 root root 119 Oct 30  2018 /etc/default/useradd
    
    
    
    [root@oldboy ~]# cat /etc/default/useradd 
    # 当/etc/login.defs  中的USERGROUPS_ENAB为no的时候在此处控制。
    GROUP=100
    
    # 默认的普通用户家目录
    HOME=/home
    
    # 是否启用账号过期停权 -1 为停用
    INACTIVE=-1
    
    # 账号终止日期,未设置
    EXPIRE=
    
    # 创建用户时候默认的shell
    SHELL=/bin/bash
    
    # 创建时复制里面的内容,用户误删家目录的环境变量时,可以复制里面的内容
    SKEL=/etc/skel
    
    # 创建用户时是否创建邮件文件
    CREATE_MAIL_SPOOL=yes
    
    

    用户的密码管理


    passwd
    
    # 创建密码的规范
    - 密码的长度最好大于10个字符
    - 密码包含大小写字母,及特殊字符 ! @ #
    - 不规则性 (不要出现自己的名字、公司名称、电话、等简单的密码)
    
    [root@oldboy ~]# passwd --help
    Usage: passwd [OPTION...] <accountName>
    
    # 给当前用户更改密码
    [root@oldboy ~]# passwd  
    
    # 给test01更改密码
    [root@oldboy ~]# passwd test01
    
    # 使用非交互式更改密码
    [root@oldboy ~]# echo 123 |passwd --stdin test01
    
    # md5su加密,并做校验
    echo $RANDOM|md5sum
    
    # tee 在终端输出并且追加到文件
    echo 123|tee a.txt
    
    # 密码管理命令 
    yum -y install expect
    usage: mkpasswd [args] [user]
      where arguments are:
        -l #      (length of password, default = 9)
        -d #      (min # of digits, default = 2)
        -c #      (min # of lowercase chars, default = 2)
        -C #      (min # of uppercase chars, default = 2)
        -s #      (min # of special chars, default = 1)
    
    mkpasswd
    -l		密码长度
    -d		数字
    -c		小写字母
    -C		大写字母
    -s		特殊字符
    
    
  • 相关阅读:
    readonly
    cut
    finger
    ping fping
    chmod/chown/chgrp/chattr
    synchronized 和 volatile 比较
    volatile的适用场合
    volatile的适用场合
    细说Java多线程之内存可见性
    SDUT2139图结构练习——BFS——从起始点到目标点的最短步数
  • 原文地址:https://www.cnblogs.com/gshelldon/p/13275658.html
Copyright © 2020-2023  润新知