引言:与Linux密码密切相关的两个文件

 

一:关于/etc/passwd:

 

关于/etc/passwd的内容理解

在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割,比如下面是我的系统中的/etc/passwd 的两行;

beinan:x:500:500:beinan sun:/home/beinan:/bin/bash
linuxsir:x:505:502:linuxsir open,linuxsir office,13898667715:/home/linuxsir:/bin/bash
beinan:x:500:500:beinan sun:/home/beinan:/bin/bash
linuxsir:x:501:502::/home/linuxsir:/bin/bash

第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分别是 beinan 和linuxsir;

第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;
  第三字段:UID ;请参看本文的UID的解说;
  第四字段:GID;请参看本文的GID的解说;
  第五字段:用户名全称,这是可选的,可以不设置,在beinan这个用户中,用户的全称是beinan sun ;而linuxsir 这个用户是没有设置全称;
  第六字段:用户的家目录所在位置;beinan 这个用户是/home/beinan ,而linuxsir 这个用户是/home/linuxsir ;
  第七字段:用户所用SHELL 的类型,beinan和linuxsir 都用的是 bash ;所以设置为/bin/bash;

 

关于UID 的理解:

 

UID 是用户的ID 值,在系统中每个用户的UID的值是唯一的,更确切的说每个用户都要对应一个唯一的UID ,系统管理员应该确保这一规则。系统用户的UID的值从0开始,是一个正整数,至于最大值可以在/etc/login.defs 可以查到,一般Linux发行版约定为60000; 在Linux 中,root的UID是0,拥有系统最高权限;

UID 在系统唯一特性,做为系统管理员应该确保这一标准,UID 的唯一性关系到系统的安全,应该值得我们关注!比如我在/etc/passwd 中把beinan的UID 改为0后,你设想会发生什么呢?beinan这个用户会被确认为root用户。beinan这个帐号可以进行所有root的操作;

UID 是确认用户权限的标识,用户登录系统所处的角色是通过UID 来实现的,而非用户名,切记;把几个用户共用一个UID 是危险的,比如我们上面所谈到的,把普通用户的UID 改为0,和root共用一个UID ,这事实上就造成了系统管理权限的混乱。如果我们想用root权限,可以通过su或sudo来实现;切不可随意让一个用户和root分享同一个UID ;

UID是唯一性,只是要求管理员所做的,其实我们修改/etc/passwd 文件,可以修改任何用户的UID的值为0,

一般情况下,每个Linux的发行版都会预留一定的UID和GID给系统虚拟用户占用,虚拟用户一般是系统安装时就有的,是为了完成系统任务所必须的用户,但虚拟用户是不能登录系统的,比如ftp、nobody、adm、rpm、bin、shutdown等;

在Fedora 系统会把前499 个UID和GID 预留出来,我们添加新用户时的UID 从500开始的,GID也是从500开始,至于其它系统,有的系统可能会把前999UID和GID预留出来;以各个系统中/etc/login.defs中的 UID_MIN 的最小值为准; Fedora 系统 login.defs的UID_MIN是500,而UID_MAX 值为60000,也就是说我们通过adduser默认添加的用户的UID的值是500到60000之间;而Slackware 通过adduser不指定UID来添加用户,默认UID 是从1000开始;

 

二:关于/etc/shadow

 

/etc/shadow 概说

/etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由/etc/passwd 而产生的,这两个文件是应该是对应互补的;shadow内容包括用户及被加密的密码以及其它/etc/passwd 不能包括的信息,比如用户的有效期限等;这个文件只有root权限可以读取和操作,权限如下:

 

-r——– 1 root root 1.5K 10月 16 09:49 /etc/shadow

 

/etc/shadow 的权限不能随便改为其它用户可读,这样做是危险的。如果您发现这个文件的权限变成了其它用户组或用户可读了,要进行检查,以防系统安全问题的发生;

如果我们以普通用户查看这个文件时,应该什么也查看不到,提示是权限不够:

[beinan@localhost ~]$ more /etc/shadow
/etc/shadow: 权限不够

 

/etc/shadow 的内容分析

/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割;我们以如下的例子说明;

 

beinan:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::
linuxsir:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:

 

第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;
第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;
第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;
第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;
第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;
第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;
第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;
第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用; www.2cto.com
第九字段:保留字段,目前为空,以备将来Linux发展之用;

Linux密码文件passwd和shadow分析相关推荐

  1. 蓝奏网盘带密码文件分享下载链接分析思路

    蓝奏网盘带密码文件分享下载链接分析思路 先准备准备一个 lanzou链接 链接(自己准备一个该链接只作为演示): https://wwd.lanzouw.com/i3Ya2065bn0b 密码:6ye ...

  2. linux 密码文件 /etc/shadow md5,SHA256,SHA512 破解

    目录 环境 shadow文件解析 John the Ripper 安装John the Ripper 破解 环境 Kali系统 John the Ripper密码破解者 shadow文件解析 文件的格 ...

  3. linux core文件的打开和分析

    1. core文件生成打开方式: ulimit -c unlimited echo "1" > /proc/sys/kernel/core_uses_pid 看下服务器上是否 ...

  4. Linux 密码爆破 shadow 文件解密 破解

    需要用到一个工具:John [跨平台的密码解密工具] 下载地址: http://www.openwall.com/john 在Windows上创建两个文件 passwd 和 shadow 在Linux ...

  5. linux密码验证机制,linux用户认证机制

    本文更正http://blog168.chinaunix.net/space.php?uid=20196318&do=blog&id=28742中出现的几个错误.错误1:对salt的描 ...

  6. 通过命令查看linux 密码,linux查看用户密码(linux查看用户密码命令)

    linux查看用户密码(linux查看用户密码命令) 2020-05-15 13:18:30 共10个回答 1.用户名和密码的存储位置存储帐号的文件:/etc/passwd存储密码的文件:/etc/s ...

  7. linux 账号和密码文件 /etc/passwd和/etc/shadow 简介

    Linux系统中,所有用户(包括系统管理员)的账号和密码都可以在/etc/passwd和/etc/shadow这两个文件中找到,(用户和密码就放在文件中,不怕被其他人看的或者修改吗?/etc/pass ...

  8. Linux用户配置密码,linux用户配置文件passwd和密码配置文件shadow,用户管理,组管理...

    一.linux和windows互传文件 1.安装支持包:lrzszyum -y install   lrzszputty工具 不支持lrzsz 2.rz windows文件fail2ban-0.8.1 ...

  9. linux 设置文件为可修改密码,linux 为用户设定、修改密码 passwd

    passwd 语法结构: 首先,大家一定要知道"男人"说的话是很负责任的,所以有事找"男人".让我们看看"男人"对这个 passwd 怎么说 ...

最新文章

  1. 干掉MessageBox,自定义弹出框JMessbox (WindowsPhone)
  2. IBM SOA解决方案
  3. 我脸都问绿了!二面竟然被问到 MySQL 时间类型 datetime、bigint 及 timestamp 的查询效率。。。
  4. 《JS权威指南学习总结--3.8类型转换》
  5. 浅谈深度学习(Deep Learning)的基本思想和方法
  6. chrome java上传文件_springboot+webuploader 实现大文件切片上传,兼容IE8+,chrome等浏览器,可运行...
  7. window.btoa()方法;使字符编码成base64的形式
  8. SQL Server 2012:SQL Server体系结构
  9. 2021-09-08FTRL 跟随正确的领导者
  10. 边做边记中航信酒店接口开发
  11. 标准情况下绝对湿度与相对湿度excel表
  12. matlab对角和,matlab – 如何在对角线上赋值?
  13. 函数进阶 call apply bind 的区别
  14. jmeter结果树为空_Jmeter查看结果树之查看响应的13种方法[详解]
  15. 【统计学习系列】多元线性回归模型(五)——参数与模型的显著性检验:t检验与F检验
  16. js判断数据是否为空值的方法
  17. 阿里云物联平台产品、设备及物模型添加模拟数据(实操)
  18. 引用量超6000的语义分割经典论文DeepLabv3解读
  19. 杨辉直角(等腰)三角
  20. OPENCV中图像数据结构及其转化

热门文章

  1. 深度:应用安全是信息安全防护的短板
  2. The way to Go(6): Go程序的基本结构和要素
  3. 使用soapUI代替WSDL2JAVA生成cxf HTTPS 客户端调用代码
  4. Android Studio问题集锦
  5. Linux网络属性配置相关命令
  6. cadence16.6 中orcad导出网表时ERROR (ORCAP-5004)(win7 旗舰版32位)
  7. 【ASP.NET】js动态生成的控件,在后台获取不到怎么办?
  8. 42.虚拟内存如何设置:
  9. 让IE8和IE9支持 placeholder
  10. 树状数组与离散化与求第K大模板