解锁HMC8及HMC9的root用户
某天需要用HMC的root用户干点“坏事”,发现找了一圈都没有正确的HMC v8及v9的root用户破解教程,然后自己研究了一下,发现可以用root用户了。本文测试用的HMC以VMware workstation方式安装,分享的方法在HMC V8R860_SP3(buid 20180802.1)HMC V9R1M930(buid 1904220700)上测试通过。废话不多说,赶快上车吧!
1、 重启HMC,过了BIOS自检后狂按上下方向键,中断grub的自动引导,在这个界面停下来之后,按e键。
2、 把光标移到linux这一行的最后,输入 single ,然后按ctrl+x继续引导。
3、 等一会之后,会到输入root密码的界面,这里面输入 passw0rd ,回车。
4、 编辑sshd_config文件,将PermitRootLogin no这一行的no改成yes。
1 # sed -i ‘s/^PermitRootLogin no/PermitRootLogin yes/g’ /etc/ssh/sshd_config
如果你不想用sed来替换,用vi打开文件替换再保存也是可以的。
5、 将/home/hscroot/.ssh目录的属主临时改为hscroot,然后su - hscroot,注意这里su到hscroot用户可能需要一两分钟才能响应过来,是正常的。
# chown hscroot:hmc /home/hscroot/.ssh/ # su - hscroot
6、 生成hscroot用户的ssh RSA公钥,输入下面的命令,然后回车4次。
# chown hscroot:hmc /home/hscroot/.ssh/ # su - hscroot
执行完之后exit从hscroot用户退回到root用户。
7、 把/home/hscroot/.ssh目录的属主改回root,并将hscroot用户的公钥添加到root用户的authorized_keys2文件中,然后reboot重启。
# chown root:hmc /home/hscroot/.ssh # mkdir /root/.ssh # cat /home/hscroot/.ssh/id_rsa.pub > /root/.ssh/authorized_keys2 # reboot
8、 重启完成出现登录界面之后,在HMC设置里面放行SSH的22端口,开启远程命令执行,使用ssh客户端用hscroot登录到HMC,默认密码是abc123,然后在hscroot用户的shell里面ssh root@localhost,无需密码,直接就能进到root用户的shell了。需要注意的是不能直接用root来ssh,HMC限制了root用户直接ssh登录。
总结一下,HMC8/9已经不能按原来的方法来破解root用户了,类似复制su文件啊之类的都已经失效了。本文实现HMC root权限的方法其实很简单,允许root用户ssh,再把hscroot用户的ssh公钥加入到root用户的免密码登录文件里面,就变相实现了root用户登录,也就达到了我们的目的。
原文地址:https://www.cnblogs.com/iwantcomputer/p/11516617.html
- Java基础12 类型转换与多态
- linux(七)之linux系统中查找文件
- apache配置多站点
- linux(六)之文本操作
- Java基础11 对象引用
- maven 3.3.9 for windows 配置
- JS魔法堂:再次认识Function.prototype.call
- MySQL(六)之MySQL常用操作符
- 无人驾驶的基本算法及简单介绍
- CentOS6.5安装Java 8以及Tomcat8
- Java基础06 组合
- 警告:MySQL-server-5.6.21-1.linux2.6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
- MySQL(五)之DDL(数据定义语言)与六大约束
- Java基础08 继承
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Stack.peek() 与 Stack.pop() 的区别
- 傅里叶变换有什么用?
- 剑指Offer第4题详解(附Java、Python源码)
- 帅地问我:Dubbo服务调用过程
- 用两个栈实现队列详解(附Java、Python源码)——《剑指Offer》
- PS2020制作电子签名
- 原创 | 险些翻车,差一点没做出来的基础算法题
- 原创 | 你追我,如果你追到我……那就算你赢了
- 原创 | 详解gitignore的使用方法,让你尽情使用git add .
- 第31天:面试比 KMP 还容易被问到的匹配算法!
- 原创 | 深度学习开篇,来聊聊感知机的原理
- 算法题:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
- 使用Java和Python解题:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
- R语言中%||%是什么意思?
- 原创 | 你会用缓存吗?详解LRU缓存淘汰算法