passwd shadow文件说明

Linux系列: passwd和shadow文件说明 用户文件 NIO4444:x:1001:1001::/home/NIO4444:/bin/bash 用户名:用户是否需要密码登录(空时无需密码):用户id:组id:用户备注信息:用户home地址:登录成功后执行的Shell 密码文件 用户:密码(!!表示未设置密码) ... 阅读详情
使用者帐号:/etc/passwd, /etc/shadow

  由上面的说明您大概已经知道,嘿嘿!帐号管理最重要的两个档案就是‘ /etc/passwd 与 /etc/shadow ’了!这两个档案可以说是 Linux 里头最重要的档案之一了! 如果没有这两个档案的话,呵呵!您可是无法登入 Linux 的呦!所以,底下我们先针对这两个档案来进行说明。 当然啰,更详细的资料您可以自行 man 5 passwd 及 man 5 shadow 的啦~

  # /etc/passwd
  这个档案的构造是这样的:每一行都代表一个帐号, 有几行就代表有几个帐号在你的系统中!不过需要特别留意的是, 里头很多帐号本来就是系统中必须要的,我们可以简称他为系统帐号, 例如 bin, daemon, adm, nobody 等等,这些帐号是系统正常运作时所需要的,请不要随意的杀掉他呢! 这个档案的内容有点像这样:

  root:x:0:0:root:/root:/bin/bash
  bin:x:1:1:bin:/bin:/sbin/nologin
  daemon:x:2:2:daemon:/sbin:/sbin/nologin
  adm:x:3:4:adm:/var/adm:/sbin/nologin

  我们先来看一下每个 Linux 系统都会有的第一行,就是 root 这个系统管理员那一行好了, 你可以明显的看出来,每一行使用‘:’分隔开,共有七个咚咚,分别是:

  1. 帐号名称:就是帐号名称啦!对应 UID 用的!例如 root 就是预设的系统管理员的帐号名称;

  2. 密码:早期的 Unix 系统的密码是放在这个档案中的, 但是因为这个档案的特性是所有的程序都能够读取,所以,这样一来很容易造成资料的被窃取, 因此后来就将这个栏位的密码资料给他改放到 /etc/shadow 中了,关于 /etc/shadow 这一部份等一下再说。而这里你会看到一个 x ,呵呵!别担心,这表示密码已经被移动到 shadow 这个加密过后的档案啰;

  3. UID:这个就是使用者识别码 (ID) 啰!通常 Linux 对于 UID 有几个限制需要说给您瞭解一下:
  id 范围   该 ID 使用者特性
  0   当 UID 是 0 时,代表这个帐号是‘系统管理员’!所以当你要作另一个系统管理员帐号时, 你可以将该帐号的 UID 改成 0 即可;这也就是说,一部系统上面的系统管理员不见得只有 root 喔! 不过,不很建议有多个帐号的 UID 是 0 啦~
  1~499   保留给系统使用的 ID,其实 1~65534 之间的帐号并没有不同, 也就是除了 0 之外,其他的 UID 并没有不一样,预设 500 以下给系统作为保留帐号只是一个习惯。这样的好处是,以有名的 DNS 伺服器的启动服务‘ named ’为例,这个程式的预设所有人 named 的帐号 UID 是 25 ,当有其他的帐号同样是 25 时,很可能会造成系统的一些小问题!为了杜绝这样的问题,建议保留 500 以前的 UID 给系统吧!
  不过,一般来说, 1~99 会保留给系统预设的帐号,另外 100~499 则保留给一些服务来使用。
  500~65535   给一般使用者用的。事实上,目前的 linux 核心 (2.6.x 版)已经可以支援到 4294967295 (2^32-1) 这么大的 UID 号码喔!

  上面这样说明可以瞭解了吗?是的, UID 为 0 的时候,就是 root 呦!所以请特别留意一下你的 /etc/passwd 档案!

  4. GID:这个与 /etc/group 有关!其实 /etc/group 的观念与 /etc/passwd 差不多,只是他是用来规范 group 的而已!

  5. 使用者资讯说明栏:这个栏位基本上并没有什么重要用途, 只是用来解释这个帐号的意义而已!不过,如果您提供使用 finger 的功能时, 这个栏位可以提供很多的讯息呢!底下的 chfn 可以解释一下啰!

  6. 家目录:这是使用者的家目录,以上面为例, root 的家目录在 /root ,所以当 root 登入之后,就会立刻跑到 /root 里头啦!呵呵! 如果你有个帐号的使用空间特别的大,你想要将该帐号的家目录移动到其他的硬碟去, 没有错!可以在这里进行修改呦!预设的使用者家目录在 /home/yourIDname

  7. Shell:所谓的 shell 是用来沟通人类下达的指令与硬体之间真正动作的界面!我们通常使用 /bin/bash 这个 shell 来进行指令的下达!嘿嘿!发现了吧?我们在 bash 章节里面提到很多次,登入 Linux 时为何预设是 bash 呢?就是这里设定的啦~ 这里比较需要注意的是,有一个 shell 可以用来替代成让帐号无法登入的指令!那就是 /sbin/nologin 这个东西!这也可以用来制作纯 pop 邮件帐号者的资料呢!

  # /etc/shadow
  上面约略提到,由于每个程序都需要取得 uid 与 gid 来判断权限的问题,所以, /etc/passwd 的权限必须要设定成为 -rw-r--r-- 这样的权限,在这样的情况下, 使用者的密码不就任何人都可以看到吗?即使这个档案内的密码栏是加密的, 坏心肠的朋友也可能利用暴力破解法去 try and error 找出您的密码资料......

  因为这样的关系,所以后来发展出将密码移动到 /etc/shadow 这个档案分隔开来的技术, 而且还加入很多的密码限制参数在 /etc/shadow 里头呢!我们先来瞭解一下这个档案的构造吧! 我的 /etc/shadow 档案有点像这样:

  root:$1$i9Ejldjfjio389u9sjl$jljsoi45QE/:12959:0:99999:7:::
  bin:*:12959:0:99999:7:::
  daemon:*:12959:0:99999:7:::
  adm:*:12959:0:99999:7:::

  基本上, shadow 同样以‘:’作为分隔符号,如果数一数,会发现共有九个栏位啊, 这九个栏位的用途是这样的:

  1. 帐号名称:由于密码也需要与帐号对应啊~因此, 这个档案的第一栏就是帐号,必须要与 /etc/passwd 相同才行!

  2. 密码:这个才是真正的密码,而且是 经过编码过的密码啦! 你只会看到有一些特殊符号的字母就是了!需要特别留意的是, 虽然这些加密过的密码很难被解出来,但是‘很难’不等于‘不会’,所以, 这个档案的预设属性是‘-rw-------’或者是‘-r--------’,亦即只有 root 才可以读写就是了!你得随时注意,不要不小心更动了这个档案的属性呢!另外, 如果是在密码栏的第一个字元为‘ * ’或者是‘ ! ’,表示这个帐号并不会被用来登入的意思。 所以万一哪一天你的某个使用者不乖时,可以先在这个档案中,将他的密码栏位的最前面多加一个 * !嘿嘿!他就无法使用该帐号啰!直到他变乖了,再给他启用啊!

  3. 最近更动密码的日期:这个栏位记录了‘更动密码的那一天’的日期, 不过,很奇怪呀!在我的例子中怎么会是 12959 呢?呵呵,这个是因为计算 Linux 日期的时间是以 1970 年 1 月 1 日作为 1 ,而 1971 年 1 月 1 日则为 366 啦! 所以这个日期是累加的呢!得注意一下这个资料呦!那么最近的 2005 年 1 月 1 日就是 12784 啦,瞭解了吗?

  4. 密码不可被更动的天数: 第四个栏位记录了这个帐号的密码需要经过几天才可以被变更!如果是 0 的话, 表示密码随时可以更动的意思。这的限制是为了怕密码被某些人一改再改而设计的!如果设定为 20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码呦!

  5. 密码需要重新变更的天数: 由于害怕密码被某些‘有心人士’窃取而危害到整个系统的安全,所以有了这个栏位的设计。 你必须要在这个时间之内重新设定你的密码,否则这个帐号将会暂时失效。 而如果像上面的 99999 的话,那就表示,呵呵,密码不需要重新输入啦! 不过,如果是为了安全性,最好可以设定一段时间之后,严格要求使用者变更密码呢!

  6. 密码需要变更期限前的警告期限:当帐号的密码失效期限快要到的时候, 就是上面那个‘必须变更密码’的那个时间时, 系统会依据这个栏位的设定,发出‘警告’言论给这个帐号,提醒他‘再过 n 天你的密码就要失效了,请尽快重新设定你的密码呦!’,如上面的例子,则是密码到期之前的 7 天之内,系统会警告该用户。

  7. 密码过期的恕限时间:如果用户过了警告期限没有重新输入密码, 使得密码失效了,也就是说,你在‘必须变更密码的期限前,并没有变更你的密码!’ 那么该组密码就称为‘失效的密码’啰~怎么办?没关系,还有这个栏位的天数设计啊~ 意思就是说,当密码失效后,你还可以用这个密码在 n 天内进行登入的意思。 而如果在这个天数后还是没有变更密码,呵呵!那么您的帐号就失效了!无法登入!

  8. 帐号失效日期:这个日期跟第三个栏位一样,都是使用 1970 年以来的总日数设定。这个栏位表示: 这个帐号在此栏位规定的日期之后,将无法再使用。 这个栏位会被使用通常应该是在‘收费服务’的系统中, 你可以规定一个日期让该帐号不能再使用啦!

  9. 保留:最后一个栏位是保留的,看以后有没有新功能加入。

  举个例子来说好了,假如我的 dmtsai 这个使用者的密码栏如下所示:

  dmtsai:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:

  这表示什么呢?要注意的是, 13025 是 2005/08/30 ,所以, dmtsai 这个使用者他的密码相关意义是:

  * 最近一次更动密码的日期是 2005/08/30 (13025);
  * 能够修改密码的时间是 5 天以后,也就是 2005/09/04 以前 dmtsai 不能修改自己的密码; 如果使用者还是尝试要更动自己的密码,系统就会出现这样的讯息:

  You must wait longer to change your password
  passwd: Authentication token manipulation error

  * 使用者必须要在 2005/09/04 到 2005/10/29 之间的 60 天限制内去修改自己的密码,若 2005/10/29 之后还是没有变更密码时,该帐号就会宣告失效;
  * 如果使用者一直没有更改密码,那么在 2005/10/29 之前的 7 天内,系统会警告 dmtsai 应该修改密码的相关资讯;例如当 dmtsai 登入时,系统会主动提示如下的资讯:

  Warning: your password will expire in 5 days

  * 如果该帐号一直到 2005/10/29 都没有更改密码,由于还有两天的恕限时间,因此, dmtsai 还是可以在 2005/10/31 以前继续登入;
  * 如果使用者在 2005/10/29 以前变更过密码,那么那个 13025 的日期就会跟著改变,因此, 所有的限制日期也会跟著相对变动喔!^_^
  * 无论使用者如何动作,到了 13125 ,大约是 2005/12/8 左右,该帐号就失效了~

  透过这样的说明,您应该会比较容易理解了吧?! ^_^
  Tips:
  常常听到:我的密码忘记或者被更动了?怎么办?

  有的时候会发生这样的情况,就是说,你的 root 密码忘记了!要怎么办?重新安装吗?另外, 有的时候是被入侵了, root 的密码被更动过,该如何是好?

  这个时候就必须要使用到 /etc/shadow 这个资料了!我们刚刚知道密码是存在这个档案中的, 所以只要你能够以各种可行的方法开机进入 Linux ,例如单人维护模式,或者是以 live CD (KNOPPIX) 来进入 Linux 系统。之后,将硬碟顺利挂载,然后进入 /etc/shadow 这个档案中,将 root 的密码这一栏全部清空!然后再登入 Linux 一次,这个时候 root 将不需要密码 (有的时候需要输入空白字元) 就可以登入了!这个时候请赶快以 passwd 设定 root 密码即可。 
EtherCAT应用层协议选型指南:CoE、SoE、EoE、FoE、AoE到底怎么选?看完这篇就懂了 本文深入解析EtherCAT应用层协议(CoE、SoE、EoE、FoE、AoE)的选型策略,从实时性、数据吞吐量和功能完整性三大核心指标出发,提供工业场景下的实战决策框架。通过技术特性对比、混合协议架构设计和常见故障规避指南,帮助工程师优化自动化设备通信性能。 阅读详情

相关推荐

RDMA性能调优实战:如何用ib_*命令榨干你的Mellanox网卡带宽?

本文深入探讨了如何利用ib_*命令工具集对RDMA网络进行深度性能调优,以充分释放Mellanox网卡的带宽潜力。文章从理解Send/Write/Read三种核心通信原语的差异入手,逐步指导读者通过调整消息大小、队列深度、内联数据等关键参数,并结合系统级的NUMA绑定、中断亲和性等优化策略,实现从基准测试到逼近硬件极限的性能提升。

weixin_29306011的博客 88

ERROR: You must wait longer to change your password passwd: Authentication token manipulation error

Linux普通用户在修改密码时,遇到错误提示:   Linux Version:Red Hat EnterpriseLinux Server release 5.7 (Tikanga) 解析:Linux有限制能够再次修改密码的时间的设定,假如这个天数是5天,那么在5天内Linux中的这个用户是不可修改密码的。可以在/etc/shadow文件中修改此设定:第四个字段就是能够再次修改密码

道阻且长,行则将至 1万+

ABAP 7.40+新语法实战:用VALUE和REDUCE五分钟搞定复杂内表统计

本文详细介绍了ABAP 7.40+新语法中的VALUE和REDUCE操作符,如何高效处理复杂内表统计任务。通过实战案例展示,这些新语法能将代码量减少70%以上,显著提升开发效率和可读性,特别适合大数据量下的销售数据分析、分组统计等场景。

weixin_27219587的博客 207

passwd:Authentication token manipulation error

You must wait longer to change your password   passwd:Authentication token manipulation error         上面那个问题就是一个例子,为什么在使用linux想修改密码的时候,会出现上面一段英文呢?     因为Linux有一个密码不可修改的天数,假如这个天数是5天,那么在5天内Linux

家门口的知鸟 2263

VScode+MPLAB AI助手:Microchip MCU开发全流程实战解析

本文详细解析了如何使用VScode搭配MPLAB AI助手进行Microchip MCU开发的完整流程。从环境配置、工程创建到代码生成与调试,全面介绍了AI助手在提升开发效率、优化代码和故障排除方面的实际应用,为嵌入式开发者提供了一套高效的开发解决方案。

hh234的博客 1131

【gcc】跨版本兼容实战:高版本编译程序在低版本glibc环境下的部署方案

本文针对高版本gcc编译的程序在低版本glibc环境下部署的兼容性问题,提供了四种实战解决方案:静态编译的局限性、容器化部署的优雅方案、使用Devtoolset工具链的官方支持,以及最通用灵活的打包依赖SO发布方案。重点剖析了通过设置RPATH和Interpreter或使用patchelf工具,实现程序与自带库的独立部署,有效解决glibc版本鸿沟。

weixin_29237635的博客 362

/etc/passwd & /etc/shadow 详解 zz

<br />由上面的说明您大概已经知道,嘿嘿!帐号管理最重要的两个档案就是‘ /etc/passwd 与 /etc/shadow ’了!这两个档案可以说是 Linux 里头最重要的档案之一了! 如果没有这两个档案的话,呵呵!您可是无法登入 Linux 的呦!所以,底下我们先针对这两个档案来进行说明。 当然啰,更详细的资料您可以自行 man 5 passwd 及 man 5 shadow 的啦~<br /><br />  # /etc/passwd<br />  这个档案的构造是这样的:每一行都代表一个帐号,

梁桥江的专栏 1095

FIddler+Proxifer 实现PC客户端抓包详细教程

FIddler+Proxifer 实现PC客户端抓包详细教程

森明帮大于黑虎帮的博客 1万+

[Linux][问题处理]修改密码报You must wait longer to change your password

You must wait longer to change your password问题处理

wingaso的博客 1476

量化爬虫实战:手把手教你搞定同花顺问财的hexin-v参数(附JS逆向思路与Cookie Hook技巧)

本文详细解析了如何通过JS逆向技术获取同花顺问财平台的`hexin-v`参数,包括Cookie Hook技巧和完整解决方案架构。从环境搭建到参数定位,再到生成逻辑逆向,手把手教你突破数据获取限制,为量化交易提供可靠数据支持。

weixin_42557803的博客 399

“守望先锋”网络同步分析

守望先锋”(Overwatch)是一款由暴雪娱乐开发的团队基础第一人称射击游戏(FPS),于2016年正式发布。游戏以其独特的角色设计、丰富的游戏模式和高度的团队合作性而受到广泛欢迎。类型:第一人称射击(FPS)/多人在线战斗竞技场(MOBA元素)平台玩家人数:每场比赛由两个六人队伍组成,共12名玩家。客户端/服务器模型:在这种模型中,客户端负责处理用户输入和表现逻辑,而服务器则负责游戏的核心逻辑和状态管理。客户端与服务器之间通过网络进行通信,确保游戏状态的一致性。强同步机制。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 432

linux 下关于用户的操作

Linux 的账号与群组 管理员的工作中,相当重要的一环就是『管理账号』啦!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理好一个服务器主机的账号啦! 在管理 Linux 主机的账号时,我们必须先来了解一下 Linux 到底是如何辨别每一个使用者的!   使用者标识符: UID 与 GID 虽然我们登陆 Li

独旅天涯 1628

【RT-DETR改进涨点】ResNet18、34、50、101等多个版本移植到ultralytics仓库(RT-DETR官方一比一移植)

本文是本专栏的第一篇改进,我将RT-DETR官方版本中的ResNet18、ResNet34、ResNet50、ResNet101移植到ultralytics仓库,网上很多改进机制是将基础版本的也就是2015年发布的ResNet移植到ultralytics仓库中,但是其实RT-DETR实验的ResNet和其是有很大区别的在其中有很多细节上的不同(文章中我也会列出举例)

Snu77的博客 7223

etc/passwd和etc/shadow文件格式说明

/etc/passwd 存放账户信息: root:x:0:0:root:/root:/bin/bash jianing:x:1011:100::/home/jianing:/bin/bash username:password:uid:gid:allname:homedir:shell 用户名:密码:用户ID:组ID:用户全名:主目录:登录shell

patkritLee的博客 957

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux的passwd和shadow重要文件说明

l /etc/passwd # vim /etc/passwd root:x:0:0:root:/root:/bin/bash ....省略 说明: 每一行都代表一个账号。有很多账号是系统中必须要的,简称系统账号,例如bin,nobody 等。每一行使用:分隔开,共有七段,分别是: 1, 账号名称。对应 UID 用的! 2, 密码:早期的Unix 系统的密码是放在这个文件中,但因为这

flymachine的专栏 1296

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Linux /etc/passwd /etc/group /etc/shadow 文件的格式说明

/etc/passwd 存放账户信息: root:x:0:0:root:/root:/bin/bash jianing:x:1011:100::/home/jianing:/bin/bash username:password:uid:gid:allname:homedir:shell 用户名:密码:用户ID:组ID:用户全名:主目录:登录shell

字节卷动 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

linux /etc/passwd,/etc/shadow 用户文件的说明

linux操作系统的用户文件的说明 [b]/etc/passwd[/b] 该目录存储的是操作系统用户信息,该文件为所有用户可见。 给linux系统添加一个帐号: useradd -g mysql -d /home/test -m test(:新建一个用户test, 属于mysql组,开始目录是/home/test) 然后进入 /etc/passwd,可以看到如下信息,在最后一...

lifeneedyou的专栏 241

linux 用户管理之 passwd和shadow 文件的区别 -- 详细说明

              使用linux系统的人 应该都知道 linux是一个多用户,多任务的网络操作系统。那么系统如何来同时管理很多个用户呢。 这里出现新的概念就是uid和gid. 也就是用户id和组id 的文件来管理用户和用户组,这样做也是为了方便系统对于文件和用户权限的配置,防止因为误操作造成不可挽回的损失。             在linux 系统中的用户名是为了管理员方便阅读,对...

星月情缘的博客 9954

linux /etc/passwd,/etc/shadow用户文件的说明

linux操作系统的用户文件的说明  /etc/passwd    该目录存储的是操作系统用户信息,该文件为所有用户可见。  给linux系统添加一个帐号:    useradd -g mysql -d /home/test -m test(:新建一个用户test, 属于mysql组,开始目录是/home/test)    然后进入 /etc/passwd,可以看到如下信息,在最后一行可

xautjzd小天地 3259

linux中/etc/passwd和/etc/shadow文件说明

/etc/passwd是用来存储登陆用户信息: [root@localhost test]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin linux所有用户的信息都在/etc/passwd中,占一行,共7段. 依次对应: 用户名:密码:uid:gid:描述信息...

weixin_33941350的博客 319

Linux /etc/passwd /etc/group /etc/shadow 文件的格式说明

/etc/passwd 存放账户信息: root:x:0:0:root:/root:/bin/bash jianing:x:1011:100::/home/jianing:/bin/bash username:password:uid:gid:allname:homedir:shell...

weixin_34355881的博客 101
上一篇: ubuntu12.4以root账户登录
下一篇: linux中fork()函数详解
hackaday
博客等级 码龄15年 5粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值