以下是我所做的:
将最后一行的用户名更改
tiny
为abc
tiny@tty7:~$ sudo vim /etc/passwd
- 将此:更改
tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
为此:
abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
tiny@tty7:~$ sudo vim /etc/shadow
表明:
[sudo] passwork for abc:
我没有改密码但是无法登录root!
我输入Ctrl+ Alt+F1但
tty1
没有微小的或者美国广播公司无法使用我的密码登录
我尝试看一下ls ~ -la
,它显示如下:
drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .
我如何登录 root?为什么提示中的用户名tiny@tty7
仍然很小,而在 sudo 中却显示 abc 的密码?
答案1
您绝对不能手动编辑密码文件,因为这样会把事情搞乱。
更改用户名的正确方法是:
usermod -l newUsername oldUsername
然后更改主文件夹:
usermod -d /home/newHomeDir -m newUsername
要更改密码您应该使用:
sudo passwd yourusername
我建议你恢复你的 passwd 文件,或者如果你不能用 root 登录而无法编辑它 - 那么用 live cd 启动并恢复文件。然后使用正确的方法。
答案2
编辑后卡住的原因是/etc/shadow
文件包含 的密码条目,tiny
但没有 的条目abc
,而/etc/passwd
文件包含 的条目abc
,而不包含 的条目tiny
。sudo
查看时,它根据abc
您正在运行的进程的 UID 正确识别了您(根据密码文件),但是当它试图将您输入的密码与 中存储的加密(散列)密码进行比较时/etc/shadow
,它找不到 的条目abc
,因此它必须报告失败。
作为沙迪在他的回答,不要手动编辑密码或影子文件。如果必须违反规则,请在一次调用中编辑两者vim
,并且不要退出,vim
直到您使用另一个终端窗口证明更改足够合理,可以正常工作,并且在开始破解文件之前保存文件的备份副本,并重新考虑您最初违反规则的原因,因为这可能不是一个好主意。
答案3
使用:vipw
我一直在 FreeBSD 上使用它,刚刚确认你也可以在 Ubuntu 上使用它。请阅读此页面:vipw 的 Ubuntu 手册页
答案4
手动更改用户名(但不是 uid)的步骤:
- 检查你的头部,如果失败则继续第二步。
- 编辑影子文件,使用新用户名复制用户行。
- 编辑组、sudoers、允许新的用户名权限、保留旧的
- 将主目录符号链接到新名称
- 编辑 passwd 文件更改用户名和主目录
- 编辑 shadow、sudoers、groups 以删除我们在第三步中保留的旧条目
- 编辑别名以及对旧用户名的其他引用。
- 注销,切换到文本控制台(如果用户主目录中正在运行任何程序,包括窗口管理器,则下一步将不起作用)
- cd 到你的主目录上方的目录。
- 删除符号链接,并重命名主目录。
- 正常注销并登录。
更改他人的用户名要简单得多,尽管仍然不简单。