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官方网站
    
  • 相关阅读:
    SQLite常用SQL语句
    delphi设计浮动窗口
    在Delphi中使用键盘勾子获取键盘输入(译--5月7日)
    Delphi制作软键盘
    Delphi格式化输出函数(1): Format
    《你不知道的 CSS》之等比例缩放的盒子
    请用心练完这16个webpack小例子
    JavaScript高级内容笔记:原型链、继承、执行上下文、作用域链、闭包
    表格组件神器:bootstrap table详细使用指南
    玩转JavaScript正则表达式
  • 原文地址:https://www.cnblogs.com/yangtao416/p/14479715.html
Copyright © 2011-2022 走看看