美文网首页
Linux-用户管理

Linux-用户管理

作者: 徐弱西 | 来源:发表于2019-08-01 15:56 被阅读0次

    用户管理

    1.创建用户

    uid范围(CentOS7):约定
    0:超级用户
    1-200:系统用户(内置)
    201-999:系统用户(咱们自己创建)
    1000+:普通用户(1000-6w)

    uid范围(CentOS):约定
    0:超级用户
    1-499:系统用户
    500+:普通用户

    useradd、adduser:

    执行此命令,对4个文件/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow
    -u:指定uid
    -g:指定用户基本组(指定的组 必须已存在)
    -G:指定用户附加组
    -r:指定系统自建用户,不创建家目录。指定id范围201-999的系统用户
    -d:指定用户的家目录
    -s:指定用户的登录shell :
    -M:不创建用户家目录
    -c:指定注释信息

    创建服务运行用户,禁止登录:
    不创建家目录:useradd test -M
    指定登录shell:useradd test -s /sbin/nologin

    /etc/passwd:
    [root@oldboyedu ~]# head -1 /etc/passwd
    以冒号为分隔符,一共7列
    
    用户名 密码占位符       用户uid       用户gid       注释信息    用户家目录           用户登录的shell
    root    :   x           :0          :0:         la ji:      /root       :       /bin/bash
    oldboy100:  x           :1101       :1101       ::          /home/oldboy100:    /bin/bash
    
    /etc/shadow:

    没有密码 !!
    [root@oldboyedu ~]# head -2 /etc/shadow
    以冒号为分隔符,一共9列

    用户名 没有密码(*)SHA512加密     时间戳(1970年1月1日)  密码最小使用天数
    zls_o:  !!  :                       18076                   :0: 
    
    密码最大使用天数        密码过期前7天,提示更改密码  密码过期后有两天强制更改密码时间
    99999:                  7:                              2:                                  
    
    从1970年算,这个账号的过期时间           保留位
    6627567:                                空
    

    2.修改用户

    usermod
    -u:修改用户的uid
    -g:修改用户的基本组
    -s:修改用户登录shell
    -c:修改用户的注释信息
    -l:更改用户登录名
    -L:锁定用户
    -U:解锁用户
    
    ------------修改附加组 组合----------
    -G:修改用户的附加组
    -a:追加附加组
    -------------------------------------
    
    
    ----------修改目录组合---------------
    -d:修改用户的家目录
    -m:迁移家目录
    

    3.删除用户

    userdel
    -r:删除用户并删除家目录
    

    4.用户创建的相关文件

    [root@oldboyedu ~]# grep -i '^[a-z]' /etc/login.defs 
    #邮件目录
    MAIL_DIR    /var/spool/mail
    #密码最大天数
    PASS_MAX_DAYS   99999
    #密码最小天数
    PASS_MIN_DAYS   0
    #密码最小长度
    PASS_MIN_LEN    5
    #密码过期前7天警告
    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
    #系统用户最小gid
    SYS_GID_MIN               201
    #系统。。。最大gid
    SYS_GID_MAX               999
    #是否创建家目录
    CREATE_HOME yes
    #规定家目录权限777-077=700
    UMASK           077
    #创建用户的同时创建组,删除用户的同时删除组
    USERGROUPS_ENAB yes
    #密码的加密算法
    ENCRYPT_METHOD SHA512 
    
    
    
    [root@oldboyedu ~]# grep -i '^[a-z]' /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
    

    5.用户密码管理

    passwd:修改用户密码
    passwd 修改当前用户
    passwd username  修改指定用户密码
    
    非交互式创建密码
    [root@zls ~]# echo "123" | passwd --stdin zls
    
    生成随机密码 && 记录文件
    [root@zls ~]# echo $RANDOM|md5sum|cut -c 1-10
    
    [root@zls ~]# echo $(echo $RANDOM|md5sum |cut -c 5-14) |tee pass.txt| passwd --stdin zls
    
    生成复杂随机密码
    
    #mkpasswd密码生成工具, -l设定密码长度,-d数子,-c小写字母,-C大写字母,-s特殊字符
    [root@zls ~]# yum install -y expect   //需要安装扩展包
    [root@zls ~]# mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4
    

    6.组的基本管理

    1.基本组   -g
    2.附加组   -G
    

    groupadd:

    -g:指定gid
    
    groupmod
    -g:修改gid
    
    groupdel
    
    相关文件
    [root@zls ~]# head -2 /etc/group
    组名  组密码占位符  gid     附加成员
    egon:       x:          1103:       zls
    
    字段名称
    1.组的名称
    2.组的密码(存在/etc/gshadow)
    3.组GID信息
    4.仅显示附加成员,基本成员不显示
    
    
    [root@zls ~]# head -2 /etc/gshadow
    
    组名  组密码,!没有密码       组管理员        附加成员
    dba:    !:                          :           zls
    root:::
    bin:::bin,daemon
    
    // /etc/gshadow由 ':' 分割, 分割为4个字段,每个字段的具体含义如下:
    字段名称
    1.组名称
    2.组密码
    3.组管理员
    4.仅显示附加成员,基本成员不显示
    

    6.切换用户身份

    1.shell的分类
        1)交互式shell
        2)非交互式shell
        
        
        3)登录式shell
        4)非登录式shell
    
    2.环境变量
    个人配置文件:
    ~/.bash_profile 
    ~/.bashrc
    
    
    全局配置文件:
    /etc/profile 
    /etc/profile.d/*.sh 
    /etc/bashrc
    

    加载顺序(登录式shell)

    /etc/profile
    /etc/profile.d/zls.sh
    /root/bash_profile
    /root/bashrc
    /etc/bashrc
    

    bash(非登录式shell)

    /root/bashrc
    /etc/bashrc
    /etc/profile.d/zls.sh
    
    相关命令:
    su 一定要加 :-
    

    用户提权:sudo

    相关文章

      网友评论

          本文标题:Linux-用户管理

          本文链接:https://www.haomeiwen.com/subject/zptcdctx.html