linux手动修改/etc/shadow和/etc/passwd中的用户密码

前言

最近在玩GameShell这小玩意儿,发现没有root权限。于是想办法获取到。发现官方有提供img镜像下载。

img操作

1:查看img信息:

1
2
3
4
5
6
7
8
9
10
11
12
[ 17:15:11-root@hadoop214:img ]#fdisk -lu clockworkos_v0.1.img

Disk clockworkos_v0.1.img: 7948 MB, 7948206080 bytes, 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9d1726e4

Device Boot Start End Blocks Id System
clockworkos_v0.1.img1 8192 93814 42811+ c W95 FAT32 (LBA)
clockworkos_v0.1.img2 94208 15523839 7714816 83 Linux

可以看到linxu文件从 94208 开始 扇区大小512k
所以
94208*512=48234496
2:挂载img

1
mount -o loop,offset=48234496 clockworkos_v0.1.img /home/gameshell/img/clockpi

密码修改

1.手动修改/etc/shadow中的用户密码
/etc/shadow文件说明:

  • 第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;
  • 第二字段:密码(已被加密),这个字段是非空的;
  • 第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;
  • 第四字段:两次修改口令间隔最少的天数;如果这个字段的值为空,帐号永久可用;
  • 第五字段:两次修改口令间隔最多的天数;如果这个字段的值为空,帐号永久可用;
  • 第六字段:提前多少天警告用户口令将过期;如果这个字段的值为空,帐号永久可用;
  • 第七字段:在口令过期之后多少天禁用此用户;如果这个字段的值为空,帐号永久可用;
  • 第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;
  • 第九字段:保留字段,目前为空,以备将来发展之用;

/etc/shadow中格式如下
#testaccount:$1$acQMceF9$1SaCpG2qiKKA3eGolU4Fp0:13402:0:99999:7:::
彩色段为加密后的密码,$1$表示采用的是md5加密,绿色段是简单的字符串,蓝色段为加密后的密码

只要删除 $1$acQMceF9$1SaCpG2qiKKA3eGolU4Fp0 它后,就删除了密码

2.linux忘记登陆密码修改/etc/passwd也可以

很简单的一个技巧,给大家介绍一下
在这个界面 按任意键
按 e键(编辑命令之前启动)
选择第二项 在按e键(修改选定的命令在启动)
输入single (注意空格)进入单用户模式
选择b 启动
输入 vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
光标移至x下面按delete 键 删除它
输入:x!
输入reboot重启
重启后你会发现 没让你输密码,破译成功

原理解释:
在 /etc/passwd 的文件里 保存着用户的信息文件 root:x:0:0:Administrator:/root:/bin/bash

在这一句中

root就是用户名,

x是密码标志,只是说明密码的存放位置,具体呢是放在/etc/passwd的 至于密码别想了 全 是密文保存,看不懂的

0 用户id号

0 组id号

administrator估计是我在装系统的时候,原来的名字没改(虚拟机默认用户名),是用户说 明的意思,

root 用户的家目录

/bin/bash 记录着用户登陆后所拥有的权限,即所拥有的shell

那么我们把密码标示删掉之后,自然就不会有问你密码的对话框了

当然

GRUB这个引导装载程序是可以设密码的

不过 设密码 我们可以光启 ,用安装光盘进入安全模式,在把密码清除

光启 是可以设BIOS密码的,

BIOS 密码是可以拆机箱 扣电池的

那这么说来 传说中的linux岂不是很不安全,通常所说的安全是基于网络的 ,意思是连接互联网后,对方通过网络途径入侵你的linux计算机是很困难的,这种破译的方法只是以防万一,在万一你忘记密码的时候使用的,至于物理安全,那就看你怎么保护了.

本文转载于:http://blog.chinaunix.net/uid-15797451-id-3041560.html