zoukankan      html  css  js  c++  java
  • linux--用户管理--useradd

    用户分类

    1 root 超级管理员 

    2 系统用户 就是 某一个服务中 自动产生的用户 不是认为创建的,不能用于登录计算机 只是保证某一个服务的正常运行 比如数据库

    3 普通用户

    用户必须属于一个且只有一个主组     -g 选项

    一个用户可以属于零个或多个辅助组    -G选项

    Linux用户和组的主要配置文件:     

    /etc/passwd:用户及其属性信息(名称、UID、主组ID等)

    /etc/group:组及其属性信息

    /etc/shadow:用户密码及其相关属性   文件格式意义如下:

    • 登录用名 
    • 用户密码:一般用sha512加密 
    • 从1970年1月1日起到密码最近一次被更改的时间 
    • 密码再过几天可以被变更(0表示随时可被变更) 必须要等多久才能运行改口令
    • 密码再过几天必须被变更(99999表示永不过期) 最长使用时间
    • 密码过期前几天系统提醒用户(默认为一周) 提前几天通知你
    • 密码过期几天后帐号会被锁定 
    • 从1970年1月1日算起,多少天后帐号失效

                            密码过期时间 图解:

     

    /etc/gshadow:组密码及其相关属性 

    创建用户时,如果什么都不指定,就会根据默认设置创建用户 如家目录的位置,shell类型,家目录的文件,默认设置就是/etc/default/useradd 这个文件就是默认的设置文件

    /etc/skel/ 这里面就是用户家目录的模板文件,这里面有什么 新创建的用户家目录就有什么。所以我们创建的用户家目录里的文件,就是从这个拷贝过去的。
    /etc/login.defs 用户创建的默认其他设置,如ID号,,创建用户默认的密码时间等,密码策略,权限等

    创建用户时,没有设定密码 那么shadow文件的密码列 就是!!,!!代表禁止登陆系统,在shadow文件中把!! 删掉就可以空口令登陆了。或者在Passwd文件中把密码的x删掉,x代表了密码放在shadow文件中,没有了x就没有了密码,也可以空口令登陆。也就是shadow和passwd中的密码栏只要有一个有!,就不允许登陆

    用户管理命令 useradd 

    useradd [options] LOGIN     

    • -u UID     
    • -o 配合-u 选项,不检查UID的唯一性     
    • -g GID 指明用户所属基本组,可为组名,也可以GID     
    • -c "COMMENT“ 用户的注释信息     
    • -d HOME_DIR 以指定的路径(不存在)为家目录     
    • -s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中     
    • -G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在     
    • -N 不创建私用组做主组,使用users组做主组     
    • -r 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000     
    • -m 创建家目录,用于系统用户     
    • -M 不创建家目录,用于非系统用户

    一些命令参考

      创建用户指定了 shell类型

       

      指定了附加组

     

      指定uid,主组 与附加组

     

      指定了家目录的位置

     

     useradd  -r -s /sbin/nologin mysql   //创建  -r指定创建系统用户(id<1000) -s指定用户的shell   系统用户默认不会创建家目录,可以使用-m 选项进行创建家目录

    -------------------------------------------------------------------------------------------------------------------------------------------------------------

    usermod [OPTION] login 

    • -u UID: 新UID 
    • -g GID: 新主组 
    • -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被 覆盖;若保留原有,则要同时使用-a选项 
    • -s SHELL:新的默认SHELL  -c 'COMMENT':新的注释信息 
    • -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据, 同时使用-m选项 
    • -l login_name: 新的名字 
    • -L: lock指定用户,在/etc/shadow 密码栏的增加 !   
    • -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉 
    • -e YYYY-MM-DD: 指明用户账号过期日期 
    • -f INACTIVE: 设定非活动期限、

        这个是 移动用户的家目录 –d 是要移动的地方(目标) 如果没有这个目录就会创建他,-m是把 原家目录文件也移动过去,移动过去之后 原来的家目录就没有了

        G 是 重新指定 用户的附加组  g是 重新指定 用户的 默认组  这种方式是重新指定的 之前的就会没有

     

        修改用户的名字 新名字  旧名字

       

        更换用户的主组

     

    ----------------------------------------------------------------------------------------------------------------------------------------------

    userdel  -r: 删除用户家目录 

    批量创建用户

    切换用户 su - wang 完整切换。root切换到普通用户不需要密码,普通用户切换root用户需要密码。
    切换到root su -

    要有多努力才能对得起奔波的脚步和身上的期望
  • 相关阅读:
    关于 Uboot 中有趣的 0xdeadbeef 填充
    举例分析 Makefile 中的 filter 与 filter-out 函数
    java时间"yyyy-mm-dd HH:mm:ss"转成Date
    mysql 5.8 查询最新一条数据
    mybatis 打印SQL
    mybatis动态sql中的trim标签的使用
    Mybatis 动态 SQL
    Linux mysql启动与关闭
    maven 添加自己下载的jar包到本地仓库
    centos 安装java1.8
  • 原文地址:https://www.cnblogs.com/hxfcodelife/p/11938291.html
Copyright © 2011-2022 走看看