+static struct def_values def_data_lecture[] = {
+ { "never", never },
+ { "once", once },
+ { "always", always },
+ { NULL, 0 },
+};
+
+static struct def_values def_data_listpw[] = {
+ { "never", never },
+ { "any", any },
+ { "all", all },
+ { "always", always },
+ { NULL, 0 },
+};
+
+static struct def_values def_data_verifypw[] = {
+ { "never", never },
+ { "all", all },
+ { "any", any },
+ { "always", always },
+ { NULL, 0 },
+};
+
struct sudo_defs_types sudo_defs_table[] = {
{
- "syslog_ifac", T_UINT,
- NULL
- }, {
- "syslog_igoodpri", T_UINT,
- NULL
- }, {
- "syslog_ibadpri", T_UINT,
- NULL
- }, {
"syslog", T_LOGFAC|T_BOOL,
- "Syslog facility if syslog is being used for logging: %s"
+ "Syslog facility if syslog is being used for logging: %s",
+ NULL,
}, {
"syslog_goodpri", T_LOGPRI,
- "Syslog priority to use when user authenticates successfully: %s"
+ "Syslog priority to use when user authenticates successfully: %s",
+ NULL,
}, {
"syslog_badpri", T_LOGPRI,
- "Syslog priority to use when user authenticates unsuccessfully: %s"
+ "Syslog priority to use when user authenticates unsuccessfully: %s",
+ NULL,
}, {
"long_otp_prompt", T_FLAG,
- "Put OTP prompt on its own line"
+ "Put OTP prompt on its own line",
+ NULL,
}, {
"ignore_dot", T_FLAG,
- "Ignore '.' in $PATH"
+ "Ignore '.' in $PATH",
+ NULL,
}, {
"mail_always", T_FLAG,
- "Always send mail when sudo is run"
+ "Always send mail when sudo is run",
+ NULL,
}, {
"mail_badpass", T_FLAG,
- "Send mail if user authentication fails"
+ "Send mail if user authentication fails",
+ NULL,
}, {
"mail_no_user", T_FLAG,
- "Send mail if the user is not in sudoers"
+ "Send mail if the user is not in sudoers",
+ NULL,
}, {
"mail_no_host", T_FLAG,
- "Send mail if the user is not in sudoers for this host"
+ "Send mail if the user is not in sudoers for this host",
+ NULL,
}, {
"mail_no_perms", T_FLAG,
- "Send mail if the user is not allowed to run a command"
+ "Send mail if the user is not allowed to run a command",
+ NULL,
}, {
"tty_tickets", T_FLAG,
- "Use a separate timestamp for each user/tty combo"
+ "Use a separate timestamp for each user/tty combo",
+ NULL,
+ }, {
+ "lecture", T_TUPLE|T_BOOL,
+ "Lecture user the first time they run sudo",
+ def_data_lecture,
}, {
- "lecture", T_FLAG,
- "Lecture user the first time they run sudo"
+ "lecture_file", T_STR|T_PATH|T_BOOL,
+ "File containing the sudo lecture: %s",
+ NULL,
}, {
"authenticate", T_FLAG,
- "Require users to authenticate by default"
+ "Require users to authenticate by default",
+ NULL,
}, {
"root_sudo", T_FLAG,
- "Root may run sudo"
+ "Root may run sudo",
+ NULL,
}, {
"log_host", T_FLAG,
- "Log the hostname in the (non-syslog) log file"
+ "Log the hostname in the (non-syslog) log file",
+ NULL,
}, {
"log_year", T_FLAG,
- "Log the year in the (non-syslog) log file"
+ "Log the year in the (non-syslog) log file",
+ NULL,
}, {
"shell_noargs", T_FLAG,
- "If sudo is invoked with no arguments, start a shell"
+ "If sudo is invoked with no arguments, start a shell",
+ NULL,
}, {
"set_home", T_FLAG,
- "Set $HOME to the target user when starting a shell with -s"
+ "Set $HOME to the target user when starting a shell with -s",
+ NULL,
}, {
"always_set_home", T_FLAG,
- "Always set $HOME to the target user's home directory"
+ "Always set $HOME to the target user's home directory",
+ NULL,
}, {
"path_info", T_FLAG,
- "Allow some information gathering to give useful error messages"
+ "Allow some information gathering to give useful error messages",
+ NULL,
}, {
"fqdn", T_FLAG,
- "Require fully-qualified hostnames in the sudoers file"
+ "Require fully-qualified hostnames in the sudoers file",
+ NULL,
}, {
"insults", T_FLAG,
- "Insult the user when they enter an incorrect password"
+ "Insult the user when they enter an incorrect password",
+ NULL,
}, {
"requiretty", T_FLAG,
- "Only allow the user to run sudo if they have a tty"
+ "Only allow the user to run sudo if they have a tty",
+ NULL,
}, {
"env_editor", T_FLAG,
- "Visudo will honor the EDITOR environment variable"
+ "Visudo will honor the EDITOR environment variable",
+ NULL,
}, {
"rootpw", T_FLAG,
- "Prompt for root's password, not the users's"
+ "Prompt for root's password, not the users's",
+ NULL,
}, {
"runaspw", T_FLAG,
- "Prompt for the runas_default user's password, not the users's"
+ "Prompt for the runas_default user's password, not the users's",
+ NULL,
}, {
"targetpw", T_FLAG,
- "Prompt for the target user's password, not the users's"
+ "Prompt for the target user's password, not the users's",
+ NULL,
}, {
"use_loginclass", T_FLAG,
- "Apply defaults in the target user's login class if there is one"
+ "Apply defaults in the target user's login class if there is one",
+ NULL,
}, {
"set_logname", T_FLAG,
- "Set the LOGNAME and USER environment variables"
+ "Set the LOGNAME and USER environment variables",
+ NULL,
}, {
"stay_setuid", T_FLAG,
- "Only set the effective uid to the target user, not the real uid"
- }, {
- "env_reset", T_FLAG,
- "Reset the environment to a default set of variables"
+ "Only set the effective uid to the target user, not the real uid",
+ NULL,
}, {
"preserve_groups", T_FLAG,
- "Don't initialize the group vector to that of the target user"
+ "Don't initialize the group vector to that of the target user",
+ NULL,
}, {
"loglinelen", T_UINT|T_BOOL,
- "Length at which to wrap log file lines (0 for no wrap): %d"
+ "Length at which to wrap log file lines (0 for no wrap): %d",
+ NULL,
}, {
- "timestamp_timeout", T_INT|T_BOOL,
- "Authentication timestamp timeout: %d minutes"
+ "timestamp_timeout", T_FLOAT|T_BOOL,
+ "Authentication timestamp timeout: %.1f minutes",
+ NULL,
}, {
- "passwd_timeout", T_UINT|T_BOOL,
- "Password prompt timeout: %d minutes"
+ "passwd_timeout", T_FLOAT|T_BOOL,
+ "Password prompt timeout: %.1f minutes",
+ NULL,
}, {
"passwd_tries", T_UINT,
- "Number of tries to enter a password: %d"
+ "Number of tries to enter a password: %d",
+ NULL,
}, {
"umask", T_MODE|T_BOOL,
- "Umask to use or 0777 to use user's: 0%o"
+ "Umask to use or 0777 to use user's: 0%o",
+ NULL,
}, {
"logfile", T_STR|T_BOOL|T_PATH,
- "Path to log file: %s"
+ "Path to log file: %s",
+ NULL,
}, {
"mailerpath", T_STR|T_BOOL|T_PATH,
- "Path to mail program: %s"
+ "Path to mail program: %s",
+ NULL,
}, {
"mailerflags", T_STR|T_BOOL,
- "Flags for mail program: %s"
+ "Flags for mail program: %s",
+ NULL,
}, {
"mailto", T_STR|T_BOOL,
- "Address to send mail to: %s"
+ "Address to send mail to: %s",
+ NULL,
+ }, {
+ "mailfrom", T_STR|T_BOOL,
+ "Address to send mail from: %s",
+ NULL,
}, {
"mailsub", T_STR,
- "Subject line for mail messages: %s"
+ "Subject line for mail messages: %s",
+ NULL,
}, {
"badpass_message", T_STR,
- "Incorrect password message: %s"
+ "Incorrect password message: %s",
+ NULL,
}, {
"timestampdir", T_STR|T_PATH,
- "Path to authentication timestamp dir: %s"
+ "Path to authentication timestamp dir: %s",
+ NULL,
+ }, {
+ "timestampowner", T_STR,
+ "Owner of the authentication timestamp dir: %s",
+ NULL,
}, {
"exempt_group", T_STR|T_BOOL,
- "Users in this group are exempt from password and PATH requirements: %s"
+ "Users in this group are exempt from password and PATH requirements: %s",
+ NULL,
}, {
"passprompt", T_STR,
- "Default password prompt: %s"
+ "Default password prompt: %s",
+ NULL,
+ }, {
+ "passprompt_override", T_FLAG,
+ "If set, passprompt will override system prompt in all cases.",
+ NULL,
}, {
"runas_default", T_STR,
- "Default user to run commands as: %s"
+ "Default user to run commands as: %s",
+ NULL,
+ }, {
+ "secure_path", T_STR|T_BOOL,
+ "Value to override user's $PATH with: %s",
+ NULL,
}, {
"editor", T_STR|T_PATH,
- "Path to the editor for use by visudo: %s"
+ "Path to the editor for use by visudo: %s",
+ NULL,
+ }, {
+ "listpw", T_TUPLE|T_BOOL,
+ "When to require a password for 'list' pseudocommand: %s",
+ def_data_listpw,
+ }, {
+ "verifypw", T_TUPLE|T_BOOL,
+ "When to require a password for 'verify' pseudocommand: %s",
+ def_data_verifypw,
+ }, {
+ "noexec", T_FLAG,
+ "Preload the dummy exec functions contained in 'noexec_file'",
+ NULL,
+ }, {
+ "noexec_file", T_STR|T_PATH,
+ "File containing dummy exec functions: %s",
+ NULL,
+ }, {
+ "ignore_local_sudoers", T_FLAG,
+ "If LDAP directory is up, do we ignore local sudoers file",
+ NULL,
+ }, {
+ "closefrom", T_INT,
+ "File descriptors >= %d will be closed before executing a command",
+ NULL,
+ }, {
+ "closefrom_override", T_FLAG,
+ "If set, users may override the value of `closefrom' with the -C option",
+ NULL,
+ }, {
+ "setenv", T_FLAG,
+ "Allow users to set arbitrary environment variables",
+ NULL,
+ }, {
+ "env_reset", T_FLAG,
+ "Reset the environment to a default set of variables",
+ NULL,
}, {
"env_check", T_LIST|T_BOOL,
- "Environment variables to check for sanity:"
+ "Environment variables to check for sanity:",
+ NULL,
}, {
"env_delete", T_LIST|T_BOOL,
- "Environment variables to remove:"
+ "Environment variables to remove:",
+ NULL,
}, {
"env_keep", T_LIST|T_BOOL,
- "Environment variables to preserve:"
+ "Environment variables to preserve:",
+ NULL,
+ }, {
+ "role", T_STR,
+ "SELinux role to use in the new security context: %s",
+ NULL,
+ }, {
+ "type", T_STR,
+ "SELinux type to use in the new security context: %s",
+ NULL,
+ }, {
+ "askpass", T_STR|T_PATH|T_BOOL,
+ "Path to the askpass helper program: %s",
+ NULL,
+ }, {
+ "env_file", T_STR|T_PATH|T_BOOL,
+ "Path to the sudo-specific environment file: %s",
+ NULL,
+ }, {
+ "sudoers_locale", T_STR,
+ "Locale to use while parsing sudoers: %s",
+ NULL,
+ }, {
+ "visiblepw", T_FLAG,
+ "Allow sudo to prompt for a password even if it would be visisble",
+ NULL,
+ }, {
+ "pwfeedback", T_FLAG,
+ "Provide visual feedback at the password prompt when there is user input",
+ NULL,
+ }, {
+ "fast_glob", T_FLAG,
+ "Use faster globbing that is less accurate but does not access the filesystem",
+ NULL,
+ }, {
+ "umask_override", T_FLAG,
+ "The umask specified in sudoers will override the user's, even if it is more permissive",
+ NULL,
+ }, {
+ "log_input", T_FLAG,
+ "Log user's input for the command being run",
+ NULL,
}, {
- "listpw_i", T_UINT,
- NULL
+ "log_output", T_FLAG,
+ "Log the output of the command being run",
+ NULL,
}, {
- "verifypw_i", T_UINT,
- NULL
+ "compress_io", T_FLAG,
+ "Compress I/O logs using zlib",
+ NULL,
}, {
- "listpw", T_PWFLAG,
- "When to require a password for 'list' pseudocommand: %s"
+ "use_pty", T_FLAG,
+ "Always run commands in a pseudo-tty",
+ NULL,
}, {
- "verifypw", T_PWFLAG,
- "When to require a password for 'verify' pseudocommand: %s"
+ "iolog_dir", T_STR|T_PATH,
+ "Directory in which to store input/output logs",
+ NULL,
}, {
NULL, 0, NULL
}