Linux 学习之用户配置文件详解
目录
用户信息文件 / etc/password
影子文件 / etc/shadow
组信息文件 / etc/group
组密码文件 / etc/gshadow
用户信息文件 / etc/password
用户管理
用户管理对个人机来说意义不大, 但是越是对服务器安全性要求高的服务器, 越需要建立合理的用户权限等级制度和服务器操作规范.
在 Linux 中主要是通过用户配置文件来查看和修改信息.
用户信息文件 / etc/passwd
每一个用户为一行, 每个信息用冒号隔开.
第一个字段: 用户名称
第二个字段: 密码标志, 这个标记为 x, 只要有这个标记意味用户是有密码的, 密码保存在 / etc/shadow
第三个字段: UID(用户 ID), 每个用户都有一个 ID, 用来唯一标识用户.
0: 超级用户
1-499: 系统用户 (伪用户)
500-65535: 普通用户
第四个字段: GID(用户初始组 ID)
初始组和附加组
初始组: 就是指用户一登录就立即拥有这个用户组的相关权限, 每个用户的初始组只能有一个, 一般就是和这个用户的用户名相同的组名作为这个用户的初始组.
附加组: 指用户可以加入多个其他的用户组, 并拥有这些组的权限, 附加组可以有多个.
每个用户必须得有一个初始组, 当创建用户的时候就会生成一个和用户名相同的组, 可以将用户改为其他初始组, 但是最好不要这么做, 如果想将用户添加别的组, 可以添加到附加组, 附加组可
以有多个, 最后我们可以在 / etc/group 里查看所有组.
第五个字段: 用户说明
第六个字段: 家目录
普通用户:/home / 用户名 /
超级用户:/root/
第七个字段: 登录后的 Shell
查看 / etc/passwd 的权限 (644)
Shell 是什么?
Shell 就是 Linux 的命令解释器.
其实就是将用户输入的命令给命令解释器解析传给内核, 内核做出应答, 显示内容导命令窗口的过程.
在 / etc/passwd 当中, 除了标准 Shell 是 / bin/bash 之外, 还可以写如 / sbin/nologin
我们要注意的是:
所有普通用户的 Shell 必须是 / bin/bash, 才能正常登录.
怎么将一个普通用户改成管理员?
我们首先添加一个用户 user1, 这里只需要将第三个字段改为 0, 就可以变成系统管理员.
怎么将一个用户禁止登录?
只需要将最后一个字段改为 / sbin/nologin.
最后, 添加用户信息的时候, 不要错误, 可能导致这个用户无法登录系统.
影子文件 / etc/shadow
影子文件 / etc/shadow
用来存放用户密码信息.
第一个字段: 用户名
第二个字段: 加密密码
加密算法升级为 SHA512 散列加密算法
如果加密位是 "!!" 或 "*" 代表没有密码, 不能登录
第三个字段: 密码最后一次修改日期
使用 1970 年 1 月 1 日作为标准时间, 每过一天时间戳加 1
第四个字段: 两次密码的修改间隔 (和第三个字段相比)
就是改一次密码, 需要几天才能第二次该密码
第五个字段: 密码有效期 (和第三个字段相比)
第六个字段: 密码修改到期前的警告天数 (和第五个字段相比)
如果我们在第五个字段设置为 90 天, 第六个字段设置为 7 天, 当我们在创建用户的 83 时, 使用这个用户每次登录到系统, 都会提示让你修改密码
第七个字段: 密码过期后的宽限天数 (和第五个字段相比)
0: 代表密码过期后立即失效
-1: 则代表密码永远不会失效
第八个字段: 账号失效时间
第九个字段: 保留
时间戳与日期的转换
时间戳换算为日期
date -d "1970-01-01 16076 days"
日期换算为时间戳
echo $(($(date --date="2019/02/06" +%s)/86400+1))
组信息文件 / etc/group
组信息文件 / etc/group
第一个字段: 组名
第二个字段: 组密码标志, 标志这个密码是放到 / etc/gshadow
第三个字段: GID
第四个字段: 组中附加用户
怎么查看一个用户属于哪个组?
先查看 / etc/passwd 文件, 看用户的组 ID.
再查看 / etc/group 文件, 查找与组 ID 相同的行, 则代表用户在这个组.
组密码文件 / etc/gshadow
组密码文件 / etc/gshadow
第一个字段: 组名
第二个字段: 组密码
这个组密码是干嘛的?
只有 root 用户才能把一个用户加到其他用户组, 如果 root 用户太忙了, 我们可以给组选一个管理员, 也就是说我们给每个小组选一个组长, 给这个组长设一个密码, 他就可以把其他用户添加到自己组里来,
但这样做降低了系统的安全性, 不推荐这样做.
第三个密码: 组管理用户名
第四个字段: 组中附加用户
来源: https://www.cnblogs.com/-wenli/p/10359544.html