忘记root口令的处理方法
最近在拜读《Unix & Linux 大学教程》这本书,这本书写得不错。关于Unix和Linux比较介绍比较深入根源,内容也比较详细,很值得去拜读。
在书中的附录中有一介绍忘记root口令的处理方法,我感觉很不错想分享给大家,希望能给大家带来帮助。
当使用自己的Unix或Linux系统时,您自己就是系统管理员,这意味着如果出现问题的话,没有其他人帮助您。如果忘记了root的口令该怎么办呢?
下面给出几种曲型Linux系统中的解决方法,适用于大部分的现代版的Linux。
一. 如果您有sudo的权限,那么您可以使用下述命令快速地改变root口令:
sudo passwd root
二. 如果没有sudo权限,或者如果您系统被配置成不允许sudo改变root口令,那么您将发现改变root口令需要一些更精巧的措施。
通常的策略就是通过一个Linux光盘启动系统,接管计算机的管理。然后挂载硬盘上的主(根)文件系统,一旦完成这一步,就可以使用该挂载点作为
文件系统的根,然后使用标准的passwd程序更改root口令。
1.从Live CD引导Linux。
2.按<Ctrl-Alt-F1>组合键,进入命令行。
3.改变到超级用户:
sudo su
4.启动分区表编辑器:
parted (如果系统没有parted,则需要使用另一种分区编辑器,例如fdisk、cfdisk或sfdisk。)
5.在parted中,显示主硬盘的分区信息:
print
6.记下包含Linux系统的硬盘的设备名称,例如/dev/hda或/dev/sda。
7.记下主Linux分区号,例如:分区号2。
如果不能确定哪个是根分区,可以查看ext3、ext2 reiserfs或xfs类型的文件系统。如果这样的分区不止一个,则记下所有的号码。
8.停止parted程序。
quit 现在应该会返回到shell提示。
9.为硬盘上的文件系统创建一个挂载点(在这个例子中,称之为harley):
mkdir /mnt/harley
10.通过使用由parted程序所获得的设备名和分区号,挂载硬盘上的根文件系统。例如,如果设备名是/dev/hda,分区号是2,则使用的命令为:
mount /dev/hda2 /mnt/harley
如果在第7步中,发现不止一个可能的分区,则选择其中一个分区。如果选择的分区号不正确,再尝试另一个。
11.确认已经挂载了根分区。为测试这一点,可以查看影子文件(/etc/shadow)是否在这个分区中,影子文件中包含有所需要的口令:
ls /mnt/harley/etc/shadow
如果没有口令文件,则挂载的不是根分区。返回到第(10)步,试着挂载另一个分区。继续这两步,直至成功挂载了根分区。
12.改变硬盘系统上的root口令。
有许多方法可以完成这一步。最简单的方法就是使用新挂载点作为文件系统的根运行passwd命令。这只需一条简单命令:
chroot /mnt/charley passwd
这个chroot(change root,改变佷)命令意味着:“临时将文件树的根改变为/mnt/harley,然后执行命令passwd。”
因为已经位于超级用户模式,所以使用passwd命令将改变root口令。而且因为文件系统的根已经临时改变为/mntharley,所以使用的口令文件是
位于硬盘上的口令文件(/mnt/harley/etc/shadow)。
通过这种方式,就能够改变硬盘上系统的root口令。
13.移除CD,从硬盘重新启动系统,测试并确保口令已经被正确改变。
忘记root口令的处理方法的更多相关文章
- openSUSE Linux 忘记root密码的解决方法
openSUSE Linux 忘记root密码的解决方法 : 对于大部分linux发行版本,忘记root密码的时候,是可以通过单用户模式来重设密码的. 如在redhat/fedora 下,可以通过在启 ...
- mysql忘记root密码的解决方法
Windows下mysql忘记root密码的解决方法 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql 或者在windows任 ...
- CentOS7忘记root密码的修改方法
参考文献: [1]CentOS 6 & 7 忘记root密码的修改方法_Linux教程_Linux公社-Linux系统门户网站
- Linux 忘记root登录密码解决方法
很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 3 ...
- 【转】mysql忘记root密码的解决方法
本文收集于本人的笔记本,由于找不到原文出处.在此省略,如哪位知道可以联系我加上. 方法一:在windows下:1.打开命令行(DOS)窗口,停止mysql服务: net stop mysql 2.在D ...
- Linux忘记root登录密码解决方法
有时候由于长时间米有登录linux系统,等需要用的时候突然忘记root密码,怎么办?下面简单介绍解决方法. redhat 和 centos 6.5 可以,7.0以上未测 在系统重启后,不停地按”e”键 ...
- 解读linux中用户密码规则及忘记root口令的破解(思路)
linux当中,用户名和密码表对应关系放在/etc/passwd中,如: root:x:0:0:root:/root:/bin/bash 格式代表意义分别为 用户名:密码:用户id:组id:用户描述 ...
- Centos7 禁止firewalld并使用iptables 作默认防火墙以及忘记root密码的处理方法
一.停止并禁用firewalld [root@test ~]# systemctl stop firewalld [root@test ~]# systemctl disable firewalld ...
- MySQL忘记root密码的找回方法
(1)登录到数据库所在服务器,手工kill掉MySQL进程: kill ' cat /mysql-data-directory/hostname.pid' 其中,/mysql-data-dir ...
随机推荐
- centos firefox中文乱码问题
下载两个rpm包 fonts-chinese-3.02-9.6.e15.noarch.rpm fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm 然后安装rmp rpm ...
- hdoj 1008 Elevator
Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- [iOS基础控件 - 6.7.1] 微博展示 代码
Controller: // // ViewController.m // Weibo // // Created by hellovoidworld on 14/12/4. // Copyrig ...
- [Objective-c 基础 - 2.6] @property和@synthesize
Xcode编译器的特性,自动生成getter和setter A.@property 自动生成某个成员变量的getter和setter的声明 变量的命名要求:以下划线开头 Student.h @in ...
- for循环中使用了return
for循环中使用了return,导致没有循环完毕就结束了整个方法的执行.
- http 需要掌握的知识点(一)
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.HTTP 也属于 TCP/IP 协议族的子集,想要学习 HTTP ,先需要了解 ...
- cocos2d-x NotificationCenter
转自:http://www.xinze.me/cocos2d-x-ccnotificationcenter/ 在前端开发中,JS和as3中都有很好的监听机制, 我们使用Event的addEventLi ...
- Linux下嗅探密码拿下服务器(转自MSX)
目标:www.xxx.com 0x01 主站踩点 下载 (57.45 KB) 前天 14:28 主站dedecms 目前公布的0day没有一个能用的,并且后台不是默认的,google hack无果. ...
- centos 改动字符集为GB2312的方法
这几天总是被一个问题困扰着,那就是base64的加密,在centos server上无法解密.经过重复測试才发现,原来是由于centos 系统没有GB2312库导致的. 加密端是在ASP.NET中处理 ...
- nginx+tomcat动静分离的核心配置
#所有jsp的页面均交由tomcat或resin处理 location ~ .(jsp|jspx|do)?$ { proxy_set_header Host $host; proxy_set_head ...