zoukankan      html  css  js  c++  java
  • 4 Linux用户管理

    一、用户相关文件

    /etc/passwd
    /etc/shadow
    /etc/group
    /etc/gshadow

    1、/etc/passwd 用户信息文件
    root:x:0:0:root:/root:/bin/bash 共七列用:分割
    第一列:用户名
    第二列:密码位或者叫密码标识
    第三列:用户UID
    0 超级用户UID
    1-499 系统用户(伪用户)UID (用来运行系统或服务)
    500-65535 (60000) 普通用户UID   Centos7是从1000开始***
    第四列:组ID
    GID添加用户时,如果不指定用户所属的初始组,那么会建立与用户名相同的组
    第五列:用户的说明
    第六列:用户的家目录 ~
    第七列:登录shell

    如何把普通用户变为超级用户:把用户UID改为0


    2、/etc/shadow
    root:$6$dcj0QQMJyeQ9yVYB$HWaqZMtuJrsvw9U8jBU8qwPurqF/63jMAGCj25TGHt47HpBs/xdu6og1BVkmo26GUnmFdz6eNJCaiTVh/ChW90:18089:0:99999:7::: 也是用:分割,共9列
    第一列:用户名
    第二列:加密后的密码
    可以在密码前加入!让密码暂时失效,使这个用户暂时无法登录。所有的系统用户密码都是!!或者*表示这个用户没有密码不能登录
    第三列:密码更新时间,1970年1月1日作为标准时间(时间戳)
    在1970年1月1日后又过去了18089天
    时间戳转日期:
    [root@localhost ~]# date -d "1970-01-01 18089 days"
    2019年 07月 12日 星期五 00:00:00 CST
    日期转时间戳:
    [root@localhost ~]# echo $(($(date --date="2019/07/12" +%s)/86400+1))
    18089


    第四列:两次密码的修改间隔时间(和第三列相比) 例如:10的话就是10天后才可以修改密码
    第五列:密码有效期(和第三字段相比)
    第六列: 密码修改到期前的警告天数(和第 5 字段相比)
    第七列:密码过期后的宽限天数(和第 5 字段相比) 默认-1 表示到期后用户不会被禁用
    第八列: 密码失效时间
    这里同样要写时间戳,也就是用 1970 年 1 月 1 日进行时间换算。如果超过了 失效时间,就算密码没有过期,用户也就失效无法使用了
    第九列: 保留


    3、/etc/group

    user1:x:500:
    第一列: 组名
    第二列: 组密码位
    第三列: GID
    第四列: 此组中支持的其他用户.附加组是此组的用户

    初始组:每个用户初始组只能有一个,初始组只能有一个,一般都是和用户名相同的组作为 初始组 附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组 


    4、组密码文件/etc/gshadow 如果我给用户组设定了组管理员,并给该用户组设定了组密码,组密码就保存在这个文件当中。 组管理员就可以利用这个密码管理这个用户组了。

    补充:

    用户邮箱目录 这个邮箱在/var/spool/mail 目录当中,例如 user1 用户的邮箱就是/var/spool/mail/user1 文 件
    用户模板目录 /etc/skel/

    不交互修改密码 echo "123" | passwd --stdin user1 

    用户管理命令:

    useradd

    参数:

      -u指定uid

      -g指定组名    *不要手工指定

      -G指定附加组   把用户加到附加组中

      -c添加说明

      -s指定shell

      -M不创建家目录 ***

    useradd默认值

    useradd 添加用户时参考的默认值文件主要有两个,分别是/etc/default/useradd 和 /etc/login.defs 

  • 相关阅读:
    《算法导论》读书笔记之第16章 贪心算法—活动选择问题
    C语言综合实验1—学生信息管理系统
    《算法导论》读书笔记之第15章 动态规划[总结]
    《算法导论》读书笔记之第11章 散列表
    模板类中定义list<T>::iterator iter在g++下不识别的解决办法
    C语言参考程序—无符号一位整数的四则运算
    《算法导论》读书笔记之第15章 动态规划—最优二叉查找树
    C语言综合实验2—长整数运算
    递归与尾递归总结
    《算法导论》读书笔记之第13章 红黑树
  • 原文地址:https://www.cnblogs.com/baci/p/11272652.html
Copyright © 2011-2022 走看看