714429AA09641005C6A176324D16EB7FE63088D393FE1695269E34D20A3F3
EOF
4.重新创建GRUB
配置文件。
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-ba010ae4b2944c52b216ec6259f230c0
Found initrd image: /boot/initramfs-0-rescue-ba010ae4b2944c52b216ec6259f230c0.img
done
5.重启验证。
[root@localhost ~]# reboot
6.验证结果。
(1)使用上下取消读秒,按下e
默认进入3
,可以随意修改引导参数,不需要密码。
(2)加入密码后,需要输入用户名、密码才可以进入3
。
(3)引导参数相关。
弱口令检测
使用弱密码会增加安全风险,而管理员可以使用john the Ripper
这款开源工具,可以分析弱密码,以便采取相应的安全措施。
Demo:
1.安装编译器环境。
[root@localhost ~]# yum install gcc gcc-c++ -y
2.源代码编译安装。
[root@localhost ~]# tar zxvf john-1.8.0.tar.gz -C ~
[root@localhost ~]# ll
total 5328
-rw-------. 1 root root 1241 Aug 16 17:16 anaconda-ks.cfg
drwxr-xr-x. 5 root root 53 Aug 28 15:33 john-1.8.0
-rw-r--r--. 1 root root 5450412 Aug 28 15:31 john-1.8.0.tar.gz
[root@localhost ~]# cd ~/john-1.8.0/src/
[root@localhost src]# ls
AFS_fmt.c BF_fmt.c compiler.c DES_bs.c formats.c john.asm logger.c memory.c os.h ppc64.h signals.c times.h wordlist.h
alpha.h BF_std.c compiler.h DES_bs.h formats.h john.c logger.h memory.h params.c recovery.c signals.h trip_fmt.c x86-64.h
alpha.S BF_std.h config.c DES_fmt.c getopt.c john.com Makefile mips32.h params.h recovery.h single.c tty.c x86-64.S
batch.c BSDI_fmt.c config.h DES_std.c getopt.h john.h Makefile.dep mips64.h pa-risc.h rpp.c single.h tty.h x86-any.h
batch.h c3_fmt.c cracker.c DES_std.h ia64.h list.c math.c misc.c path.c rpp.h sparc32.h unafs.c x86-mmx.h
bench.c charset.c cracker.h detect.c idle.c list.h math.h misc.h path.h rules.c sparc64.h unique.c x86-mmx.S
bench.h charset.h crc32.c dummy.c idle.h LM_fmt.c MD5_fmt.c nonstd.c ppc32alt.h rules.h status.c unshadow.c x86.S
best.c common.c crc32.h external.c inc.c loader.c MD5_std.c options.c ppc32.h sboxes.c status.h vax.h x86-sse.h
best.sh common.h DES_bs_b.c external.h inc.h loader.h MD5_std.h options.h ppc64alt.h sboxes-s.c symlink.c wordlist.c x86-sse.S
[root@localhost src]# make linux-x86-64
ln -sf x86-64.h arch.h
make ../run/john ../run/unshadow ../run/unafs ../run/unique \
JOHN_OBJS="DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o trip_fmt.o dummy.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o unshadow.o unafs.o unique.o c3_fmt.o x86-64.o" \
CFLAGS="-c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -DHAVE_CRYPT" \
LDFLAGS="-s -lcrypt"
make[1]: Entering directory `/root/john-1.8.0/src'
gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -DHAVE_CRYPT -funroll-loops DES_fmt.c
gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -DHAVE_CRYPT -funroll-loops DES_std.c
gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -DHAVE_CRYPT -funroll-loops DES_bs.c
gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer -DHAVE_CRYPT -Os -funroll-loops