Linux 服务器忘记用户名密码的找回办法总结

今天遇到的问题,服务器版本是 ubuntu9.04  我发神经去改了 /etc/passwd 文件里的用户UID

一改了以后,sudo就出错了:

sudo: uid 1000 does not exist in the passwd file!
who are you?

结果啥事也不能做,别的用户又没有sudo的权限。试过PHP木马,找过这个系统版本的BUG下载 full-nelson.c 并编译想提权至ROOT都未成功。

操作步骤如下:

1.  按电源键关机,等待正常关机后重新开机。
2.  开机时按ESC键,在引导菜单中光标移至第二项【ubuntu 9.04 , kernel 2.6.28-11 server (recovery mode) 】回车。
3.  在recovery menu 中,选择最后一项【root Drop to root shell prompt】后回车。
4.  执行命令

 代码如下 复制代码

mount -o remount,rw /
sed -i "s#1876#1000#g" /etc/passwd 

(这命令是把UID改回来,如果要改密码这里的命令就是 passwd 您的用户名 然后输入新密码,要是你连自己用户名都不记得,可以ls /home 看看)
5. 最后按Ctrl+Alt+Del 三键重启服务器。

我在操作到第3步时遇到错误

Give root password for maintenance (or type Control-D to continue)

解 决办法是第2步时按 e 键进入编辑模式,选择kernel 那行再次按e 键,将ro single替换为rw single init=/bin/bash后回车确认,按 b 键引导boot。这样就不会报Give root password for maintenance错误了。

机器是用 lilo 来引导的话,这么改

 代码如下 复制代码

boot: linux init=/bin/bash

解决方法二

以grub 系统引导管理器,单用户登录方法;

在grub 启动后,移动键盘到Linux的启动项;按e键;然后再移动键盘到类似下面的一行,也就是kernel的那行:

 代码如下 复制代码
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet

把光标移动这行后,再按一下e键,进入编辑这行;在行尾条一个空格 ,然后输入 linux single,也就是类似如下的:

 代码如下 复制代码
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet linux single

结束编辑,按回车返回;

接着我们要启动系统,按一下b键启动;

当进入单用户模式运行后,系统提示我们输入root密码;输入正确后会进入系统;您可以用df -h 来查看文件系统挂载位置等,也可以用fdisk -l 来查看分区等;但对文件系统的写操作,可能还要看下面的;

单用户进入系统后,可能系统是只读的;要运行下面的命令;

 代码如下 复制代码

#mount -o remount,rw /

解决方法三

 lilo引导

1. 在出现 lilo: 提示时键入 linux single

 代码如下 复制代码

  Boot: linux single

2. 回车可直接进入linux单用户模式3. vi /etc/passwd

删除root项中的密码

(这里也可以直接使用passwd命令重新设置root的密码)

4. reboot重启,root密码为空

最后总结一下使用root用户时最给他做个备份用户,权限与root相当,这样密码可分别设置保存,下面介绍一下linux创建用户简单介绍

linux下创建用户
1、添加ftp用户

 代码如下 复制代码
useradd ftpname -d /home/ftp
passwd ftppwd

以下操作都以root权限进行:
service vsftpd start 启动Linux自带的FTP服务
2. 添加普通用户

 代码如下 复制代码
 useradd nagios –d /usr/local/nagios
chown nagios.nagios /usr/local/nagios

将用户切换到nagios 用户,添加nagios的访问用户:

 代码如下 复制代码
su nagios
htpasswd –c /usr/local/nagios/etc/htpasswd.users nagiosadmin

系统会提示输入两次密码,例如两次输入nagios。
注: 这是第一次创建用户,需要“-c”选项,表示创建一个存放用户名和密码的文件,当再次添加用户或修改密码时不用“-c”选项。

时间: 2024-11-10 10:29:31

Linux 服务器忘记用户名密码的找回办法总结的相关文章

linux服务器忘记mysql密码的解决方法

1.ssh登陆到linux服务器,向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在mysql的数据库所在的目录中.(命令输入部分用红色标注)  代码如下 复制代码 #killall -TERM mysqld 2.使用`--skip-grant-tables' 参数来启动 mysqld(/www/wdlinux/mysql/bin/为wdcp系统的mysql路径,非此系统的,请变更mysql的路径).  代码如下 复制代

百度糯米忘记登录密码了找回办法

 第一步:我们在​手机中打开百度糯米然后,在登录界面我们找到"忘记密码",打开进入. 第二步:然后进入到​百度糯米安全中心会提示我们要求我们输入账户名和验证码,"下一步" 如下图所示. 第三步:验证身份,选择验证方式(验证方式根据登录环境而定,分为身验证密保找回,获取验证码,点击"确定":和短信找回,发送短信,点击"我已发送")(如果绑定的手机已停用,请点击蓝色字体"人工申诉"查看) 第四步:然后我们输入新

Linux下忘记mysql密码该如何修改mysql密码_Linux

初始密码为空,使用空密码登陆mysql执行下列语句 mysql>use mysql; mysql> UPDATE user SET password=PASSWORD("root") WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql> quit; 修改/opt/lampp/phpmyadmin/config.inc.php 找到如下代码: $cfg['Servers'][$i]['auth_type'] = 'c

Mysql5.6 忘记root密码的解决办法_Mysql

查看当前安装的mysql版本: root@oraserver139 ~]# rpm -qa | grep MySQL MySQL-server-5.6.15-1.el6.x86_64 MySQL-client-5.6.15-1.el6.x86_64 MySQL-shared-compat-5.6.15-1.el6.x86_64 MySQL-devel-5.6.15-1.el6.x86_64 perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 1.首先net stop my

python实现linux服务器批量修改密码并生成execl_python

批量修改linux服务器密码,同时生成execl表格 复制代码 代码如下: #!/usr/bin/env python#coding:utf8#随机生成自定义长度密码from random import choiceimport string,pickle def GenPassword(length=8,chars=string.ascii_letters+string.digits):    return ''.join([choice(chars) for i in range(lengt

忘记Mysql密码的解决办法小结_Mysql

方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password oldpass "newpass" 方法3: 用UPDA

MySQL5.1忘记root密码的解决办法(亲测)_Mysql

网上搜了很多方法,杂,重复度高.但随便选一个却不奏效.这里简单贴一个亲测的. 相关阅读:忘记mysql数据库root用户密码重置方法[图文] 参考后,我用的方法: #win cmd下net stop MySQL停止MySQL服务(可能服务名称不一样) >net stop MySQL #MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器: #safe_mysqld –skip-grant-tables& >mysqld –skip-grant-tables

windows下mysql忘记root密码的解决办法

  今天早上 一朋友说自己的mysql 忘记root密码了 让我帮忙给看看,因为没有接触过mysql 所以从网上找了一下信息 经我亲身实践 已经成功!mysql版本是5.1 以下是从网上找的信息: 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令: net stop mysql 打开第一个cmd1窗口,切换到mysql的bin目录,运行命令: mysqld --defaults-file="C:Program FilesMySQLMySQL Serve

linux中忘记mysql密码找回方法

0. Environment Ubuntu 12.04 x64 server MySQL 5.5.29 1. Steps 1.1 Modify your MySQL's "my.cnf" file, and add a line in "[mysqld]" session: skip-grant-tables 1.2 Restart MySQL 1.3 Log in MySQL without password $ bin/mysql -u root -p pres