(1).密码文件

[root@xuexi ~]# head -3 /etc/shadow
root:$6$kcgcu794R0VP3fDL$aYN8XUbtWvZ4QQtT2xVW.N2CgE3YLPdtnprAAtKZUgNdq8itUJEN6NoYQDarLUevcDCWrxMVId8b18ujwST1b0::0:99999:7:::
bin:*:17632:0:99999:7:::
daemon:*:17632:0:99999:7:::

  内容格式如下,用冒号隔开,可以用man 5 shadow查看帮助:

name

登录名称,必须是有效用户名

password

已加密密码,分为三个部分用$分隔,第一部分表示用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希

哈希算法:1表示MD5;6表示SHA-512;5表示SHA-256

注意:在密码前一个感叹号(!)代表该用户被锁定,可以在机器上转到改用户,但无法远程

注意:密码是两个感叹号(!),表示没有设置密码

lastchanage

最近一次更改密码的日期,以距离1970/1/1的天数表示

min-age

密码更改后多少天内不能再次更改。0表示可以随时更改

max-age

密码过期时间,必须在期限内修改密码

warning

警告期,警告用户再过多少天密码将过期。0表示不提供警告

inactive

宽限期,密码过期多少天仍然可以使用

expire

帐号过期时间,以距离1970/1/1的天数表示。0或空字符表示永不过期

blank

预留字段

  注意1:两个不同的用户使用相同的密码,加密过后哈希值不同,因为salt不同。

实例展示:

[root@xuexi ~]# useradd t1
[root@xuexi ~]# useradd t2
[root@xuexi ~]# passwd t1    //交互式修改密码
更改用户 t1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@xuexi ~]# echo 123456 | passwd --stdin t2    //非交互式修改密码
更改用户 t2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@xuexi ~]# tail -2 /etc/shadow
t1:$6$wS6JOIbp$gqRhtxnFFpB5W6yptxXVEOlvqaRFtgEBBTqJoiWTrml2Uz73/hGgePtJF8E8B0ppsXMalSBMTJgRUoMBIGPjJ.:17902:0:99999:7:::
t2:$6$mZnceAg8$t8l5AEXGs7iUhl98Zxx5hlKVn1qhOzlKsOMbgMuSTrp7HRsyRPgi12Dk5jRdQL/F3zPxMK7XhcdaU.MkgcRE91:17902:0:99999:7:::

注意2:两段加密互换等于互换密码,不影响登录。

注意3:salt是passwd命令自动生成的。

(2).配置文件/etc/login.defs

egrep是grep的高级用法等同于grep -e,-v选项表示取反值,"^$|^#"中^表示以什么开头,$表示空行,完整意思表示以空行或#开头。

[root@xuexi ~]# egrep -v "^$|^#" /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

详细说明:

CREATE_HOME(boolean) 指示是否应该为新用户默认创建主目录。此设置并不应用到系统用户,并且可以使用命令行覆盖。

GID_MAX(number),GID_MIN(number) useradd,groupadd或newusers创建的常规组的组ID范围。GID_MIN默认值1000(CentOS6为500),GID_MAX默认值60000。

MAIL_DIR(string)邮箱目录。修改或删除用户账户时需要处理邮箱,如果没有指定,将使用编译时指定的默认值。

MAIL_FILE(string) 定义用户邮箱文件的位置(相对于主目录)。

注意:MAIL_DIR和MAIL_FILE变量由useradd,usermod和userdel用于创建、移动或删除用户邮箱。如果MAIL_CHECK_ENAB设置为yes,它们也被用于定义MAIL环境变量。

MAX_MEMBERS_PER_GROUP(number) 每个组条目的最大成员数。达到最大值时,在/etc/group开始一个新条目(行)(使用同样的名称,同样的密码,同样的GID)。默认值是0,意味着组中的成员数没有限制。此功能(分割组)允许限制组文件中的行长度。这对于确保NIS组的行比长于1024字符。如果要强制这个限制,可以使用25。

注意:分割组可能不受所有工具的支持(甚至在Shadow工具集中)。如果没有必要你不应该使用这个变量。

PASS_MAX_DAYS(number) 一个密码可以使用的最大天数。如果密码比这个旧,将会强迫更改密码。如果不指定,就假定为-1,这会禁用此限制。

PASS_MIN_DAYS(number) 两次更改密码时间最小间隔。将会拒绝任何早于此的更改密码的尝试。如果不指定就假定为-1,将会禁用此限制。

PASS_WARN_AGE(number) 密码过期之前鬼畜警告的天数。0表示在过期当天警告,负值表示不警告。如果没有指定,不会给出警告。

SYS_GID_MAX(number),SYS_GID_MIN(number) useradd、groupadd或newusers创建的系统组的组ID范围。SYS_GID_MIN默认101(CentOS6为201),SYS_GID_MAX默认GID_MIN-1。

SYS_UID_MAX(number),SYS_UID_MIN(number) useradd或newusers创建的系统用户的用户ID的范围。SYS_UID_MIN默认101(CentOS6为201),SYS_UID_MAX默认UID_MIN-1。

UID_MAX(number),UID_MIN(number) useradd或newusers创建的普通用户的用户ID的范围。UID_MIN默认1000(CentOS6为500),UID_MAX默认60000。

UMASK(number) 文件模式创建掩码初始化为此值。如果没有指定,掩码初始化为022。Useradd和newusers使用此掩码设置它们创建的用户主目录的模式。也被login用于指定用户的初始umask。注意,此掩码可以被用户的GECOS行覆盖(当设置了QUOTAS_ENAB时),也可以被带K指示符的limits(5)定义的限制值覆盖。

USERGROUPS_ENAB(boolean) 如果uid和gid相同,用户名和主用户名也相同,使非root组的组掩码位和属主位相同(如:022->002,077->007)。如果设置为yes,组中也没有成员了,userdel将移除此用户组,useradd创建用户时,也会创建一个同名的默认组。

(3).扩展命令chage

chage [选项] 登录名

1)选项

-m 密码更改后多少天内不能再次更改。0表示可以随时更改
-M 密码过期时间,必须在期限内修改密码
-W 警告期,警告用户再过多少天密码将过期。0表示不提供警告
-E 帐号过期时间,以距离1970/1/1的天数表示。0或空字符表示永不过期
-d最近一次更改密码的日期,以距离1970/1/1的天数表示。为0表示强制在下次登录时更新密码
-I宽限期,密码过期多少天仍然可以使用
-l 显示用户当前设置信息

2)实例

强制用户下次修改密码

[root@xuexi ~]# chage -d 0 t1
[root@xuexi ~]# ssh t1@192.168.0.10
The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established.
ECDSA key fingerprint is SHA256:r8TKDXZGzdWkjGnXtfb/YGwCTYViIh9PvJxjrkA4hXU.
ECDSA key fingerprint is MD5:99:ea:1a:2c:c3:81:de:6c:95:b2:86:c1:d0:7e:60:96.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.10' (ECDSA) to the list of known hosts.
t1@192.168.0.10's password:
You are required to change your password immediately (root enforced)
Last login: Sun Jan 6 18:42:35 2019 from 192.168.0.99
WARNING: Your password has expired.
You must change your password now and login again!
更改用户 t1 的密码 。
为 t1 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:

  

Linux用户密码文件/etc/shadow相关的更多相关文章

  1. Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件

    前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...

  2. Linux用户和文件权限管理

    本文为原创文章,转载请标明出处 目录 用户管理 系统用户文件 添加用户 useradd 设置用户密码 passwd 删除用户 userdel 用户管理 usermod 用户组管理 系统用户组文件 添加 ...

  3. Linux用户密码策略

    使用Linux快三年了,从未想过Linux用户密码策略,从未把一本Linux的书从头看到尾(上学时的教材除外),故不知书上有无介绍,直到最近参加公司的信息安全稽核会议后才开始考虑Linux用户密码策略 ...

  4. linux 用户配制文件 用户增加及删除 以及用户属于的更改

    1.用户密码文件 /etc/passwd root  :   x   :    0    :       0    :          root      :     /root    :    / ...

  5. 修改linux用户密码

    对于初学者来说,如何修改linux用户密码也不是件容易的事,其实非常简单,下面举例说明: 如果是以root身份登录,修改root密码.只要输入 passwd 就会出现: New password:  ...

  6. Linux用户及文件权限管理

    Linux用户及文件权限管理

  7. Linux 用户和文件

    Linux系统中用户的扩展研究 进程 用户和文件 Linux中的用户及用户组 linux中只有两个等级:root和非root, 一个用户至少属于一个用户组 一个用户可以属于多个用户组 用户本身的区别主 ...

  8. Linux 用户和文件权限管理

    Linux —— 用户权限管理 权限: 为什么需要权限管理?    1.计算机资源有限,我们需要合理的分配计算机资源.    2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重 ...

  9. Linux——用户及文件权限管理

    2019-07-31 用户管理 查看用户 who am i:打开当前伪终端的用户的用户名 pts/0 后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入 who am i , ...

随机推荐

  1. svn全备加强版

    svn版本库备份 官方建议使用如下方法备份(全备) svnadmin hotcopy path/to/repository path/to/backup 链接:https://tortoisesvn. ...

  2. Canvas 基本绘图方法总结

    一.基本内容  1.简单来说,HTML5提供的新元素<canvas>  2.Canvas在HTML页面提供画布的功能,在画布中绘制各种图形  3.Canvas绘制的图形与HTML页面无关, ...

  3. Jmeter-12-如何使用Plugin Manager

    1. 搜索 Jmeter plugin 并找到plugin manager 下载jar文件 2. 放到jmeter/lib/ext下面, 重启jmeter 3. 找到选项-> Plugin ma ...

  4. bufferd对象详解

    使用buffer类处理二进制数据 在客户端javascript脚本代码中,对于二进制数据并没有提供一个很好的支持.然后在nodejs中需要处理像TCP流或文件流时,必须要处理二进制数据.因此在node ...

  5. python 实现二叉树相关算法

    一.构建与遍历二叉树 基本性质 1)在二叉树的第i层上最多有2i-1 个节点 .(i>=1)2)二叉树中如果深度为k,那么最多有2k-1个节点.(k>=1)3)在完全二叉树中,具有n个节点 ...

  6. 常见网络命令之Ping命令

    前言:计算机网络老师要求我们自己总结一下常见的网络命,然后上课可以上去讲一下这些命令使用,像我这么听话的好学生,肯定是照老师要求,认真的总结了一下,总结的过程中,我发现网上已经有的资源讲的都不是很详细 ...

  7. Vue组件-组件的属性

    在html中使用元素,会有一些属性,如class,id,还可以绑定事件,自定义组件也是可以的.当在一个组件中,使用了其他自定义组件时,就会利用子组件的属性和事件来和父组件进行数据交流. 比如,子组件需 ...

  8. hadoop环境搭建编译

    安装: JDK1.7+ maven 3.0 or later findbugs 1.3.9 protocolBuffer 2.5.0 cmake 2.6 zlib-devel openssl-deve ...

  9. c++ ui 库

    Dulib 比较流行的direct ui 界面框架 UIStone 据说金山词霸用着,查询资料甚少 DirectUI qq使用了据说,多学习学习吧 基于directUI的dulib不错 c盘没空间,运 ...

  10. yml格式

    是什么? yml文件扩展名是YAML的缩写,YAML于2001年出现,是一种数据描述语言,和xml类似 为什么用它? 我们在做javaweb项目的时候最常见的就是.xml配置文件和properitie ...