![/etc/passwd 文件已损坏,我无法更改它,也无法以 root 身份登录](https://linux22.com/image/853717/%2Fetc%2Fpasswd%20%E6%96%87%E4%BB%B6%E5%B7%B2%E6%8D%9F%E5%9D%8F%EF%BC%8C%E6%88%91%E6%97%A0%E6%B3%95%E6%9B%B4%E6%94%B9%E5%AE%83%EF%BC%8C%E4%B9%9F%E6%97%A0%E6%B3%95%E4%BB%A5%20root%20%E8%BA%AB%E4%BB%BD%E7%99%BB%E5%BD%95.png)
我尝试更改 ubuntu server 12.04 中的文件 /etc/passwd,并尝试更改 root 用户名。我只更改了 root 用户名的一部分,如下所示:
main:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
[ Read 53 lines (Warning: No write permission) ]
上面写着 main 的行需要写 root。我无法更改此文件,因为没有其他用户具有 sudo 访问权限。这是另一家公司托管的服务器,所以我无法访问恢复模式或实时启动盘。谢谢,Bryce Pruett
答案1
如果您无法访问此类无法物理访问的安装,那么您就完全受制于您的主机、他们的功能集以及他们愿意为您竭尽全力的程度。
如果您有虚拟控制台访问权限(或者您的主机有 - 询问他们),他们可能能够以 root 身份直接登录或通过恢复模式登录。一些主机(例如 Linode)有此功能,但有些主机需要真人在其终端。
或者您可以请求他们进行本地修复,他们会为您安装文件系统并进行修复。我不知道他们是否愿意这样做,更不用说要花多少钱了。
如果这不起作用,您可以要求他们进行磁盘转储。您向他们发送一个磁盘、一个映像,然后将其发回,您修复文件...然后将其发回,他们会从中恢复。这不是主机与客户之间的标准安排。预计要支付 4 个方向的邮费,并至少支付约 100 美元的费用。
对于某些主机来说,这仍然是一个遥远的希望。
基本上,这个过程将告诉你你的主机到底有多好。祝你好运。