网站首页 > 技术文章 正文
关于/etc/shadow文件
/etc/shadow是本机用户密码文件,用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。
/etc/shadow 文件只有 root用户拥有读权限,其他用户没有任何权限,保证了用户密码的安全性。
# cat /etc/shadow
root:$6$OMZpXWUh$DX5iJZdiN9WE3bJob/z/D8UeNeAEHs.59gSaaqmtT6H6lGZakG8jXAcF7AvlNPs0uHAq/ZoJeuBVJUifq1m2G.:18410:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
shutdown:*:15980:0:99999:7:::
halt:*:15980:0:99999:7:::
mail:*:15980:0:99999:7:::
uucp:*:15980:0:99999:7:::
operator:*:15980:0:99999:7:::
games:*:15980:0:99999:7:::
gopher:*:15980:0:99999:7:::
ftp:*:15980:0:99999:7:::
nobody:*:15980:0:99999:7:::
vcsa:!!:16626::::::
saslauth:!!:16626::::::
postfix:!!:16626::::::
sshd:!!:16626::::::
ntp:!!:17268::::::
文件中每行代表一个用户,同样使用 ":" 作为分隔符,每行用户信息被划分为 9 个字段。如下:
用户名、加密的密码、上次更改密码的日期(从1970-1-1开始)、最短密码期限(按天计算,0 = 无最短期限)、最长密码期限(按天计算)、密码警告期限(按天计算,0 = 未指定警告)、密码非活动期限(按天计算)、账号到期时间(从1970-1-1开始)、保留域
一般情况是这样的
root:$6$OMZpXWUh$DX5iJZdiN9WE3bJob/z/D8UeNeAEHs.59gSaaqmtT6H6lGZakG8jXAcF7AvlNPs0uHAq/ZoJeuBVJUifq1m2G.:18410:0:99999:7:::
用户名、加密的密码、上次更改密码的日期(从1970-1-1开始)、最短密码期限(按天计算,0 = 无最短期限)、最长密码期限(按天计算)、密码警告期限(按天计算,0=未指定警告)
在文件中,我们会看到第三列上次更改密码的日期(从1970-1-1开始)
Linux 计算日期的时间是从1970年1月1日作为1不断累加得到的时间,到1971年1月1日,则为366天。这里显示18410天,此root账号在1970年1月1日之后的第18410天修改的root用户密码。
具体可以通过以下命令查看
# date -d "1970-01-01 18410 days"
Thu May 28 00:00:00 CST 2020
# date -u -d "1970-01-01 $((18410 * 86400 )) seconds" #一天是86400秒(60*60*24)
Thu May 28 00:00:00 UTC 2020
# date -u -d "1970-01-01 UTC $((18410 * 86400 )) seconds"
Thu May 28 00:00:00 UTC 2020
总结:
1、在忘记密码的时候,可以吧这里的密码强行清空,然后保存退出,从新设置密码即可。
2、公司密码更改历史,哪天修改的,这里一目了然,所以在有外部审计的时候,要注意。
猜你喜欢
- 2024-11-04 /etc/passwd格式说明(etcpasswd 详解)
- 2024-11-04 centos7关闭防火墙firewalld 绝对不能在服务器上执行命令
- 2024-11-04 Linux系统搭建NFS网络文件系统,实现文件共享
- 2024-11-04 Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
- 2024-11-04 「神马课堂」Linux操作系统中主DNS服务器的配置(基于CentOS 7)
- 2024-11-04 Linux命令笔记-01(linux命令教程)
- 2024-11-04 Linux更改ssh端口的详细教程(提升系统安全)
- 2024-11-04 如何加固Linux系统?8种操作示例(linux主机加固)
- 2024-11-04 如何解决 Open /etc/postfix/main.cf: Permission denied ?
- 2024-11-04 Linux服务管理之Systemd配置详解,呕心沥血,匠心之作
- 最近发表
-
- 使用Knative部署基于Spring Native的微服务
- 阿里p7大佬首次分享Spring Cloud学习笔记,带你从0搭建微服务
- ElasticSearch进阶篇之搞定在SpringBoot项目中的实战应用
- SpringCloud微服务架构实战:类目管理微服务开发
- SpringBoot+SpringCloud题目整理
- 《github精选系列》——SpringBoot 全家桶
- Springboot2.0学习2 超详细创建restful服务步骤
- SpringCloud系列:多模块聚合工程基本环境搭建「1」
- Spring Cloud Consul快速入门Demo
- Spring Cloud Contract快速入门Demo
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)