用户和组的主要配置文件

前两个是放用户账号相关的,后两个是放和组相关的

  • /etc/passwd:用户及其属性信息(名称、UID、主组ID等) #早期密码也放这里,后来发现不安全,谁都能看
  • /etc/shadow:用户密码及其相关属性 #后来将密码放在shadow里,普通用户打不开
  • /etc/group:组及其属性信息
  • /etc/gshadow:组密码及其相关属性

man帮助第五章放的配置文件的相关信息,/etc下的都是系统配置文件,可以使用man帮助来查看

[root@C8-1 ~]# whatis passwd
openssl-passwd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file
[root@C8-1 ~]# man 5 passwd

passwd文件格式

Each line of the file describes a single user, and contains seven colon-separated fields:

           name:password:UID:GID:GECOS:directory:shell
[root@C8-1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
  • login name:登录用名(wang)
  • passwd:密码 (x)
  • UID:用户身份编号 (1000)
  • GID:登录默认所在组编号 (1000)
  • GECOS:用户全名或注释
  • home directory:用户主目录 (/home/wang)
  • shell:用户默认使用shell (/bin/bash)

shadow文件格式

[root@C8-1 ~]# getent shadow root
root:$6$0oNcn58oJTkyswqj$ZSA1obbRFFvijoTaiY.GJsBz1CBhIOWt7eEIC7jdZTUZbifpJnR1f8ekUJwc4RTVi/XY5xX/YmkcfFEllTWCZ.::0:99999:7:::
[root@C8-1 ~]# getent shadow pang
pang:$6$QpM5ZwGYiPFjyJTk$xhuVNY9VFLbo576vMW3h/GFpnb5WJJXwvc5ELzMt.KyvjhRiSll.pNKU5Day.ZHVgk4m1VLf4GQeH.px2xYbb0:18433:0:99999:7:::
  • 登录用名 pang
  • 用户密码:一般用sha512加密 哈希算法 散列
  • 从1970年1月1日起到密码最近一次被更改的时间 18433
  • 密码再过几天可以被变更(0表示随时可被变更) 0
  • 密码再过几天必须被变更(99999表示永不过期) 99999
  • 密码过期前几天系统提醒用户(默认为一周) 7
  • 密码过期几天后帐号会被锁定 默认空
  • 从1970年1月1日算起,多少天后帐号失效 默认空

$6代表sha512 哈希算法 散列算法

更改密码加密算法:

[root@C8-1 ~]# sha
sha1hmac sha1sum sha224hmac sha224sum sha256hmac sha256sum sha384hmac sha384sum sha512hmac sha512sum
[root@C8-1 ~]# authconfig --passalgo=sha256 --update

密码的安全策略

  • 足够长
  • 使用数字、大写字母、小写字母及特殊字符中至少3种
  • 使用随机密码
  • 定期更换,不要使用最近曾经使用过的密码

    生成随机密码
[root@centos8 ~]#tr -dc '[:alnum:]' < /dev/urandom | head -c 12
sFg6C8g5FAfe
[root@centos8 ~]#openssl rand -base64 9
hvMkPmAyIrXMQInt

group文件格式

  • 群组名称:就是群组名称
  • 群组密码:通常不需要设定,密码是被记录在 /etc/gshadow
  • GID:就是群组的 ID
  • 以当前组为附加组的用户列表(分隔符为逗号)

gshadow文件格式

组口令没有什么实际用途,实现组成员调整用的

叹号 ! 表示口令是被锁定的,表示这个账户将不能直接登录

两个叹号 !! 表示双重保险,要想要这个账户登录,必须删掉两个!,删掉一个都不行

  • 群组名称:就是群的名称
  • 群组密码:
  • 组管理员列表:组管理员的列表,更改组密码和成员
  • 以当前组为附加组的用户列表:多个用户间用逗号分隔
[root@C8-1 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
.
.
pang:x:1000:
[root@C8-1 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
.
.
pang:!::

文件操作

不推荐使用以下命令

  • vipw和vigr

    编辑文件的时候自带语法检查功能
  • pwck和grpck

    这两个是用来专门检查语法的

Linux用户和组的配置文件的更多相关文章

  1. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  2. Linux —用户和组

    Linux 用户和组 1.用户和组的概念 用户的作用: Authentication:认证 Authorization:授权 Accouting:审计 用户存在的最终目的: 为了实现资源的分派 组的作 ...

  3. linux 用户和组操作

    linux用户操作 查看登陆用户:whoami (结果最简洁) 或者who mom likes 或者who am i查看所有用户:cat /etc/passwd 添加:sudo adduser lil ...

  4. linux用户和组 之 用户管理

    一. linux 用户和组的基本介绍 1.linux下 有三种用户: 1. root: 权限最大的. 2. 系统用户: UID小于1000的.系统服务管理用户,一般是不允许登录系统的.(比如mysql ...

  5. Linux中用户与组相关配置文件(整理)

    用户与组信息存放位置 说明 注释 /etc/passwd 存放用户基本信息 记录了每个用户的一些基本属性,并对所有用户可读,每一行记录对应一个用户,属性之间通过冒号分隔. 每一个行6个冒号,7个属性. ...

  6. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

    与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...

  7. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  8. Linux 用户与组

    在 Linux 操作系统下,如何添加一个新用户到一个特定的组中?如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux ...

  9. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group --学习

    一./etc/passwd 和/etc/shadow解释 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码 ...

随机推荐

  1. 口罩预约管理系统——数据库设计(前端+PHP+MySQL)

    目录 一.背景 二.口罩预约管理系统介绍 三.数据库设计 四.MySQL创建数据库以及数据表 五.数据库设计总结 一.背景 2020年的疫情影响了我们的生产生活,政府不断加大力度联防联控,遏制疫情的蔓 ...

  2. Kubernetes调度流程与安全(七)

    一.Kubernetes中的调度流程 1,介绍 Scheduler 是 k8s 中的调度器,主要的任务是把定义的 Pod 分配到集群的节点上.Scheduler 是作为一个单独的程序运行的,启动之后会 ...

  3. ECMAScript 6新特性简介

    目录 简介 ECMAScript和JavaScript的关系 let和const 解构赋值 数组的扩展 函数的扩展 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言 ...

  4. 搜索引擎学习(三)Lucene查询索引

    一.查询理论 创建查询:构建一个包含了文档域和语汇单元的文档查询对象.(例:fileName:lucene) 查询过程:根据查询对象的条件,在索引中找出相应的term,然后根据term找到对应的文档i ...

  5. scala 传值调用,传名调用

    Scala的解释器在解析函数参数(function arguments)时有两种方式: 传值调用(call-by-value):先计算参数表达式的值,再应用到函数内部: 传名调用(call-by-na ...

  6. js计算两个时间相差

    .filter('useTime', function() { return function(val) { // if (/.(.mp4)$/gi.test(url)) { // return JS ...

  7. Python练习题 006:输出九九乘法表

    [Python练习题 006] 输出九九乘法表 --------------------------------------------------- 照理这题不难,逻辑关系弄对了就好办,但数学渣的我 ...

  8. MyBatis 进阶,MyBatis-Plus!(基于 Springboot 演示)

    这一篇从一个入门的基本体验介绍,再到对于 CRUD 的一个详细介绍,在介绍过程中将涉及到的一些问题,例如逐渐策略,自动填充,乐观锁等内容说了一下,只选了一些重要的内容,还有一些没提及到,具体可以参考官 ...

  9. JDK1.8新特性之(三)--函数式接口

    在上一篇文章中我们介绍了JDK1.8的新特性有以下几项. 1.Lambda表达式 2.方法引用 3.函数式接口 4.默认方法 5.Stream 6.Optional类 7.Nashorm javasc ...

  10. 使用 Aria2 代替迅雷

    一.原因 迅雷下载速度一般,thunder:// 开头的链接也逐渐被 bt 链接替代. 迅雷很流氓,安装后 (尤其是 Windows 系统) 浏览器默认使用迅雷下载,对于小文件来说使用浏览器内置下载可 ...