There's now basic support for this (in 1.97~beta1), but it probably needs to be glued into grub-mkconfig somehow as well. Still, this may be enough for some people.
2009-08-25 Vladimir Serbinenko <email address hidden>
Authentication support.
* commands/password.c: New file.
* conf/common.rmk (pkglib_MODULES): Add password.mod. (password_mod_SOURCES): New variable. (password_mod_CFLAGS): Likewise. (password_mod_LDFLAGS): Likewise. (normal_mod_SOURCES): Add normal/auth.c.
* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and normal/auth.c.
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
* include/grub/auth.h: New file.
* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_ACCESS_DENIED.
* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
'users'.
* include/grub/normal.h (grub_cmdline_get): New argument 'history'.
* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
users updated.
* normal/auth.c: New file.
* normal/main.c (grub_normal_add_menu_entry): Handle --users option. (grub_cmdline_run): Don't allow to go to command line without authentication.
* normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
* normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
menuentry without superuser rights.
* normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
user isn't a superuser.
There's now basic support for this (in 1.97~beta1), but it probably needs to be glued into grub-mkconfig somehow as well. Still, this may be enough for some people.
2009-08-25 Vladimir Serbinenko <email address hidden>
* commands/ password. c: New file.
(password_ mod_SOURCES) : New variable.
(password_ mod_CFLAGS) : Likewise.
(password_ mod_LDFLAGS) : Likewise.
(normal_ mod_SOURCES) : Add normal/auth.c. coreboot. rmk (grub_emu_SOURCES): Add commands/password.c and
normal/ auth.c. ieee1275. rmk (grub_emu_SOURCES): Likewise. ieee1275. rmk (grub_emu_SOURCES): Likewise. ieee1275. rmk (grub_emu_SOURCES): Likewise. grub/auth. h: New file.
GRUB_ERR_ ACCESS_ DENIED. grub/normal. h (grub_cmdline_get): New argument 'history'. add_menu_ entry): Handle --users option.
(grub_ cmdline_ run): Don't allow to go to command line without
authentication . execute_ entry): Handle restricted entries. entry_run) : Don't allow editing menu_viewer. c (grub_menu_ viewer_ show_menu) : Don't exit if
* conf/common.rmk (pkglib_MODULES): Add password.mod.
* conf/i386-
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-
* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
* conf/powerpc-
* conf/sparc64-
* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
* include/
* include/grub/err.h (grub_err_t): New enum value
* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
'users'.
* include/
* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
users updated.
* normal/auth.c: New file.
* normal/main.c (grub_normal_
* normal/menu.c (grub_menu_
* normal/menu_entry.c (grub_menu_
menuentry without superuser rights.
* normal/
user isn't a superuser.