55 lines
1.9 KiB
Plaintext
55 lines
1.9 KiB
Plaintext
TODO list (most will be addressed in the next rewrite)
|
|
|
|
01) Redo parsing to be more like op(8) with true command aliases where
|
|
can specify uid, gid(s) and part/all of the environment.
|
|
|
|
02) Add default options to sudoers file (umask, def uid, def gids, dir, PATH).
|
|
|
|
03) Add a SHELLS reserved word that checks against /etc/shells.
|
|
|
|
04) Make the sudoers file accessible via NIS, Hesiod, and maybe NetInfo.
|
|
|
|
05) Add a -h (?) flag to sudo for a history mechanism.
|
|
|
|
06) Make parse.lex in the same coding style as everything else...
|
|
|
|
07) Add an option to hard-code LD_LIBRARY_PATH?
|
|
|
|
08) Add Prog_Alias facility (Prog_Alias VI = /usr/secure/bin/vi +args).
|
|
|
|
09) Make '!' work in Cmnd_Alias, Host_Alias, User_Alias and runas list.
|
|
|
|
10) check for <net/errno.h> in configure and include it in sudo.c if it exists.
|
|
|
|
11) Add generic STREAMS support for getting interfaces and netmasks.
|
|
|
|
12) Do shadow password detection at runtime like sunos' issecure(3)???
|
|
If so then start using GLOBAL_NO_SPW_ENT again (but rename it).
|
|
|
|
13) Do all the envariable additions in one fell swoop for efficiency and speed.
|
|
|
|
14) Catch/ignore signals in sudo?
|
|
|
|
15) Make -p work with -v and -l in any order.
|
|
|
|
16) Add support for "safe scripts" by checking for shell script
|
|
cookie (first two bytes are "#!") and execing the shell outselves
|
|
after doing the stat to guard against spoofing. This should avoid
|
|
the race condition caused by going through namei() twice...
|
|
|
|
17) Sudo should not allow someone with a nil password to run commands.
|
|
|
|
18) Overhaul testsudoers to use parse.o so we don't reimplement things.
|
|
|
|
19) Make runas_user a struct "runas" with user and group components.
|
|
(make uid and gid too???)
|
|
|
|
20) Add -g group/gid option.
|
|
|
|
21) Make `sudo -l' output prettier.
|
|
|
|
22) Should be able to mix Cmnd_Alias's and command args. Ie:
|
|
pete ALL=PASSWD [A-z]*,!PASSWD root
|
|
where PASSWD was defined to be /usr/bin/passwd.
|
|
This requires the arg parsing to happen in the yacc grammer.
|