- 主题:记一次作死小插曲
前几天在家里给树莓派写镜像,同一个terminal里的另一个tab中正在ssh到另一台机器上干活,在这一背景下,发生了如下几件事情:
1. 输入命令的时候,没有注意切错了tab,导致我本该在本机上打开etcher(一个图形界面的类dd工具),却输入到了远程ssh session中,但是可能是etcher的保护机制,打开失败
2. 我以为是etcher出了问题,然后就以飞快的速度输入了dd if=xxx.img of=/dev/sda。这条命令在本机上是有效的,因为本机上只有ssd,sda对应于插入的tf卡, which正是我要写入的目标。然而这条命令实际上是在远端机器上执行的。
3. 不知道因为什么原因,dd命令运行了不到10秒钟就结束了,也没有报错。但是这条命令本来要运行大概5分钟的。我注意到了这一异常,以为是tf卡有问题,于是又重复运行了几遍dd命令。
4. 几秒钟后我惊觉我的命令输入在了远端的机器上, on which /dev/sda1是我的home分区!!
5. 但是当时对分区的访问并没有出现明显的问题,我侥幸认为系统有某种保护机制。
6. 为了确认这一点,我运行了一下gdisk,该命令报告说gpt分区表corrupted,问我要不要恢复,于是我就确认让它恢复,并正常退出。
7. 由于我平时在三台机器之间是设置了实时同步的(用syncthing),所以并不是很担心。
8. 然后我就重启了远端的机器,果不其然,home分区mount不上了,于是就现场写了一个live cd usb key,把机器启动起来,运行fsck
9. 报了一大堆错误,我就无脑点了修复,经过大概半小时的漫长等待,修复终于结束
10. 我把经过“修复”的home分区给mount进来,进取一看,原来的目录结构和文件名都不见了(法克!),所有的东西都被命名为一串数字,平铺在lost+found里面(顺便我终于知道这个目录是干什么用的了),那我还要这个盘干什么???
11. 于是我就重新mkfs.ext4,fs2tune恢复uuid,重新恢复数据
12. 3个小时候之后,我的远端的机器终于基本恢复如初了
从这件小事中我认识到,手不能太快,真是一个难忘而有意义的下午啊!
--
修改:blitz FROM 159.226.171.*
FROM 159.226.171.*
嵌入式设备,都用单用户系统?
如果是正常多用户系统,我觉得平时不轻易用su,要用sudo,可能在你这个例子里会加道防线。
【 在 blitz 的大作中提到: 】
: 前几天在家里给树莓派写镜像,同一个terminal里的另一个tab中正在ssh到另一台机器上干活,在这一背景下,发生了如下几件事情:
: 1. 输入命令的时候,没有注意切错了tab,导致我本该在本机上打开etcher(一个图形界面的类dd工具),却输入到了远程ssh session中,但是可能是etcher的保护机制,打开失败
: 2. 我以为是etcher出了问题,然后就以飞快的速度输入了dd if=xxx.img of=/dev/sda。这条命令在本机上是有效的,因为本机上只有ssd,sda对应于插入的tf卡, which正是我要写入的目标。然而这条命令实际上是在远端机器上执行的。
: ...................
--来自微水木3.5.10
--
FROM 119.130.153.*
我是在pc上给将要用于启动树莓派的micro SD卡写镜像的时候出的事故。
我用的是sudo,但是输密码也一气呵成,没有给我任何犹豫的空间。
不知道sudo能不能禁止远程干这种危险操作?
【 在 Dazzy (大懒虫,脱焦省却磨皮) 的大作中提到: 】
: 嵌入式设备,都用单用户系统?
: 如果是正常多用户系统,我觉得平时不轻易用su,要用sudo,可能在你这个例子里会加道防线。
: --来自微水木3.5.10
: ...................
--
FROM 159.226.171.*
远程用户不是sudo组即可。要方便还是安全的权衡问题。
不同机器的sudo用户名和密码都不同也可以,一旦到输入sudo密码环节,你就知道目标错了。
如果头脑不清醒,只凭屏幕提示的用户名,就条件反射键入密码,那就没办法了。
【 在 blitz 的大作中提到: 】
: 我是在pc上给将要用于启动树莓派的micro SD卡写镜像的时候出的事故。
:
: 我用的是sudo,但是输密码也一气呵成,没有给我任何犹豫的空间。
: ...................
--来自微水木3.5.10
--
FROM 119.130.153.*
对,我几台机器的密码都不同,就为了防止搞错。
【 在 Dazzy (大懒虫,脱焦省却磨皮) 的大作中提到: 】
: 远程用户不是sudo组即可。要方便还是安全的权衡问题。
: 不同机器的sudo用户名和密码都不同也可以,一旦到输入sudo密码环节,你就知道目标错了。
: 如果头脑不清醒,只凭屏幕提示的用户名,就条件反射键入密码,那就没办法了。
: ...................
--
FROM 123.116.83.*
恭喜人生完整了
【 在 blitz (blitz) 的大作中提到: 】
: 前几天在家里给树莓派写镜像,同一个terminal里的另一个tab中正在ssh到另一台机器上干活,在这一背景下,发生了如下几件事情:
: 1. 输入命令的时候,没有注意切错了tab,导致我本该在本机上打开etcher(一个图形界面的类dd工具),却输入到了远程ssh session中,但是可能是etcher的保护机制,打开失败
: 2. 我以为是etcher出了问题,然后就以飞快的速度输入了dd if=xxx.img of=/dev/sda。这条命令在本机上是有效的,因为本机上只有ssd,sda对应于插入的tf卡, which正是我要写入的目标。然而这条命令实际上是在远端机器上执行的。
: ...................
--
FROM 210.162.8.*
我格式化硬盘的时候都把不用的u盘sd卡拔掉的。。
【 在 blitz (blitz) 的大作中提到: 】
: 前几天在家里给树莓派写镜像,同一个terminal里的另一个tab中正在ssh到另一台机器上干活,在这一背景下,发生了如下几件事情:
: 1. 输入命令的时候,没有注意切错了tab,导致我本该在本机上打开etcher(一个图形界面的类dd工具),却输入到了远程ssh session中,但是可能是etcher的保护机制,打开失败
: 2. 我以为是etcher出了问题,然后就以飞快的速度输入了dd if=xxx.img of=/dev/sda。这条命令在本机上是有效的,因为本机上只有ssd,sda对应于插入的tf卡, which正是我要写入的目标。然而这条命令实际上是在远端机器上执行的。
: ...................
--
FROM 114.87.209.*
我应该研究一下udev规则,别把内置和外置的盘编在一起
【 在 javaboy (喝了咖啡就话多-_-;) 的大作中提到: 】
: 我格式化硬盘的时候都把不用的u盘sd卡拔掉的。。
--
FROM 159.226.171.*
你们真讲究,我树莓派之类的小设备上都是root,ssh秘钥登录
【 在 Dazzy (大懒虫,脱焦省却磨皮) 的大作中提到: 】
: 嵌入式设备,都用单用户系统?
: 如果是正常多用户系统,我觉得平时不轻易用su,要用sudo,可能在你这个例子里会加道防线。
: --来自微水木3.5.10
: ...................
--
FROM 115.171.202.*
当然是看设备重要性,不是事事如此。
我家局域网内那些测试用的vm实例,就没必要讲究。
【 在 cppbuilder 的大作中提到: 】
: 你们真讲究,我树莓派之类的小设备上都是root,ssh秘钥登录
:
: 【 在 Dazzy (大懒虫,脱焦省却磨皮) 的大作中提到: 】
: ...................
--来自微水木3.5.10
--
FROM 119.129.237.*