zoukankan      html  css  js  c++  java
  • ②linux创建用户管理 useradd usermod userdel

    useradd
    [root@rstx-53 ~]# which useradd 
    /usr/sbin/useradd
    

    选项

    #选项
    # -u 指定要创建用户的UID,不允许冲突
    # -g 指定要创建用户默认组
    # -G 指定要创建用户附加组,逗号隔开可添加多个附加组
    # -d 指定要创建用户家目录
    # -s 指定要创建用户的bash shell
    # -c 指定要创建用户注释信息
    # -M 给创建的用户不创建家目录
    # -r 创建系统账户,默认无家目录
    
    
    #1.创建bgx用户,UID5001,基本组students,附加组sa 注释信息:2019 new student,登陆shell:/bin/bash
    [root@bgx ~]# groupadd sa
    [root@bgx ~]# groupadd students
    [root@bgx ~]# useradd -u 5001 -g students -G sa -c "2019 new student" -s /bin/bash bgx
    
    #2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
    [root@bgx ~]# useradd mysql -M -s /sbin/nologin
    [root@bgx ~]# useradd -r dba -s /sbin/nologin
    
    usermod
    #选项
    # -u 指定要修改用户的UID
    # -g 指定要修改用户基本组
    # -G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组
    # -d 指定要修改用户家目录
    # -s 指定要修改用户的bash shell
    # -c 指定要修改用户注释信息
    # -l 指定要修改用户的登陆名
    # -L 指定要锁定的用户
    # -U 指定要解锁的用户
    
    #1.检查此前创建的用户信息
    [root@bgx ~]# grep "bgx" /etc/passwd
    bgx:x:5001:503:2019 new student:/home/bgx:/bin/bash
    
    #2.修改bgx用户uid、gid,附加组
    [root@bgx ~]# groupadd -g 5008 network_sa
    [root@bgx ~]# groupadd -g 5009 devops
    [root@bgx ~]# usermod -u 6001 -g5008 -a -G 5009 bgx   -G 指定附加组 -a是追加 不能覆盖原先的附加组
    
    #3.修改bgx用户的注释信息, 用户家目录, 登录shell, 登录名
    [root@bgx ~]# usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx   # -m  创建 -d  指定家目录  -l 修改名字
    
    #检查是否修改成功
    [root@bgx ~]# grep "bgx" /etc/passwd
    bgx_xuliangwei:x:6001:5008:2019 new student:/bgx:/bin/sh
    [root@bgx ~]# id change_bgx
    uid=6001(change_bgx) gid=5008(network_sa) groups=5008(network_sa),503(sa),5009(devops)
    [root@bgx ~]# ll -d /bgx
    drwx------. 2 bgx_xuliangwei network_sa 4096 2014-09-23 00:13 /bgx
    
    #4.锁定用户[扩展]
    [root@bgx ~]# echo "123" |passwd --stdin change_bgx
    [root@bgx ~]# usermod -L change_bgx  #锁定后会无法登陆系统
    
    #5.解锁用户[扩展]
    [root@bgx ~]# usermod -U change_bgx
    
    userdel
    使用userdel命令删除账户
    
    #选项 -r 删除用户同时删除它的家目录
    
    #1.删除user1用户,但不删除用户家目录和 mail spool
    [root@bgx ~]# userdel user1
    
    #2.-r参数可以连同用户家目录一起删除(慎用)
    [root@bgx ~]# userdel -r user1
    
    userdel
    使用userdel命令删除账户
    
    #选项 -r 删除用户同时删除它的家目录
    
    #1.删除user1用户,但不删除用户家目录和 mail spool
    [root@bgx ~]# userdel user1
    
    #2.-r参数可以连同用户家目录一起删除(慎用)
    [root@bgx ~]# userdel -r user1
    
    #####用户扩展知识
    
    1.前面我们学习如何创建、修改、删除用户,接下来了解下用户的创建流程?
    1.useradd创建用户时,系统会以/etc/login.defs、/etc/defaults/useradd两个配置文件作为参照物,如果在创建用户时指定了参数则会覆盖/etc/login.defs、/etc/defaults/useradd文件默认配置,如未指定则使用默认。
    
    [root@bgx ~]# grep -Ev "^#|^$" /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_MIN                  1000
    UID_MAX                 60000
    SYS_UID_MIN               201
    SYS_UID_MAX               999
    GID_MIN                  1000
    GID_MAX                 60000
    SYS_GID_MIN               201
    SYS_GID_MAX               999
    CREATE_HOME yes
    UMASK           077
    USERGROUPS_ENAB yes
    ENCRYPT_METHOD SHA512
    
    [root@bgx ~]# cat /etc/default/useradd
    GROUP=100
    HOME=/home      #把用户的家目录建在/home中。
    INACTIVE=-1     #是否启用账号过期停权,-1表示不启用。
    EXPIRE=         #账号终止日期,不设置表示不启用。
    SHELL=/bin/bash #新用户默认所有的shell类型。
    SKEL=/etc/skel  #配置新用户家目录的默认文件存放路径。
    CREATE_MAIL_SPOOL=yes   #创建mail文件。
    
    2.当使用useradd创建用户时,创建的用户家目录下会存在 .bash_* 环境变量相关的文件,这些环境变量文件默认从/etc/skel目录中拷贝。这个默认拷贝环境变量位置是由/etc/defaults/useradd配置文件中定义的。
    
    #故障案例,在当前用户家目录执行了rm -rf .*,下次登录系统时出现-bash-4.1$,如何解决!
    -bash-4.1$ cp -a /etc/skel/.bash* ./
    -bash-4.1$ exit
    [root@bgx ~]#   #重新连接即可恢复
    
    2.如何为新用户设定密码,又如何变更用户密码
    创建用户后,如需要使用该用户登陆系统则需要为用户设定密码,设定密码使用passwd命令。建议密码复杂度高一些、长度大于10、出现各种特殊字符、无任何规律(不要出现名字,电话,生日等)
    PS: 注意事项
    1.普通用户只允许变更自己的密码,无法修改其他人密码,并且密码长度必须8位字符
    2.管理员用户允许修改任何人的密码,无论密码长度多长或多短。
    
    #1.使用passwd命令修改用户密码
    # passwd        #给当前用户修改密码
    # passwd root   #给root用户修改密码
    # passwd oldboy #给oldboy用户修改密码,普通用户只能自己修改自己
    
    
    #2.验证如下几项指标
    # passwd                #root管理员用户登陆,修改root用户密码
    # passwd xuliangwei     #root用户登陆,修改其他用户的密码
    $ passwd root           #普通用户修改root管理员密码
    # echo "123" | passwd --stdin xuliangwei    #非交互式修改密码
    
    
    #3.系统内置变量生成随机字符串
    [root@bgx ~]# echo $RANDOM|md5sum|cut -c 1-10
    d09fe9b1xs
    [root@bgx ~]# echo $(echo $RANDOM|md5sum |cut -c 5-14) |tee pass.txt| passwd --stdin xuliangwei
    
    #4.mkpasswd生成随机字符串, -l设定密码长度,-d数子,-c小写字母,-C大写字母,-s特殊字符
    [root@bgx ~]# yum install -y expect   //需要安装扩展包
    [root@bgx ~]# mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4
    |K&13bR)i/
    
    PS: 推荐密码保存套件工具,支持windows、MacOS、Iphone以及浏览器插件Lastpass官方网站
    
  • 相关阅读:
    MySQL "show users"
    MySQL
    A MySQL 'create table' syntax example
    MySQL backup
    MySQL show status
    Tomcat, pathinfo, and servlets
    Servlet forward example
    Servlet redirect example
    Java servlet example
    How to forward from one JSP to another JSP
  • 原文地址:https://www.cnblogs.com/yangtao416/p/14479715.html
Copyright © 2011-2022 走看看