|
Grub2中的用户分为三组:superuser/ user/ guest
Grub2的加密方式有两种:明文加密(password)和hash加密(password_pbkdf2),hash加密中的密文是通过grub-password_pbkdf2命令产生的。
Grub2在没有加密的情况下是以超级用户的身份登入的,我们可以运行任何一个menuentry,编辑它们,或者进入Grub2的command line。
加密的设置最终会保存在/boot/grub/grub.cfg里面:下面是一个简单的示例:
- set superusers="root" # 设置超级用户
- # 设定超级用户的密码,使用hash加密
- password_pbkdf2 root grub.pbkdf2.sha512.10000.09A4435C717D598EF90D709C6B0317F5AECC962E1CD278EEB9F4ECA22C0C966BE7A97C9465762AC1EF14E0CDD4FF51B538965509A144CDB3E8935C42D41C2190.85F2912A32A6A98F794CB50C91DD8E78F5A5BAC5B37A78A169CD3947EEC59FCA3CA06C2C99EBF152470518F1E89F4C7085F8C562A8967A84B76A34993312B0CE
- # 设定一般用户user1,密码是insecure。
- password user1 insecure
- # 定义了一般用户user2,使用hash加密
- password_pbkdf2 user2 grub.pbkdf2.sha512.10000.044D54C9CD971F157D3534ADF7C2F39646B13EEF086F63AF22E654A1D090652931166B6E75A61F81AD2A216EBDCAD06FA7830E34B4E753FFC61DB4B5417766C3.9E4EE0513E8DBD3813A436C71F17B9EB0EF776346BF13EB8A2341FECF9175E38E63C96D11C7623E8D0C33838DB312A696CA43494F6E1AA4891B8E6F67C8382F2
复制代码 同时要修改menuentry:
- # 所有用户都能运行
- menuentry "Debian 6.0" {
- set root=(hd0,1)
- linux /vmlinuz
- initrd /initrd.img
- }
-
- # 只有superuser可以运行
- menuentry "Debian 6.0 (recovery mode)" --users "" {
- set root=(hd0,1)
- linux /vmlinuz single
- initrd /initrd.img
- }
-
- # user1及superuser可以运行
- menuentry "Widnwos xp" --users user1 {
- set root=(hd0,2)
- chainloader +1
- }
- # user2及superuser可以运行
- menuentry "Ubuntu 10.04 LiveCD" --users user2 {
- insmod loopback
- set root=(hd0,3)
- loopback loop /ubuntu.iso
- linux (loop)/casper/vmlinuz root=casper iso-scan/filename=/ubuntu.iso noeject splash
- initrd (loop)/casper/initrd.lz
- }
复制代码
这只是个示例,就直接修改了grub.cfg,但作为日常使用,最好在/etc/grub.d里面修改设定,在/etc/grub.d/40_custom中加入用户及其密码,在10_linux中定义用户权限以引导Linux,在30_os_prober中定义用户以运行windows系统,最后别忘了update-grub |
|