- to keep compatibility with 11.3, execute the command despite an unprivileged user tries to disable logging (bnc#698549) OBS-URL: https://build.opensuse.org/request/show/73444 OBS-URL: https://build.opensuse.org/package/show/Base:System/cronie?expand=0&rev=82
54 lines
1.9 KiB
Diff
54 lines
1.9 KiB
Diff
Index: cronie-1.4.7/man/crontab.5
|
|
===================================================================
|
|
--- cronie-1.4.7.orig/man/crontab.5
|
|
+++ cronie-1.4.7/man/crontab.5
|
|
@@ -203,6 +203,9 @@ fields. Use the first three letters of
|
|
day or month (case does not matter). Ranges or
|
|
lists of names are not allowed.
|
|
.PP
|
|
+If the uid of the owner is 0 (root), he can put a "-" as first character of a crontab entry.
|
|
+This will prevent cron from writing a syslog message about this command getting executed.
|
|
+.PP
|
|
The "sixth" field (the rest of the line) specifies the command to be
|
|
run.
|
|
The entire command portion of the line, up to a newline or a "%"
|
|
Index: cronie-1.4.7/src/entry.c
|
|
===================================================================
|
|
--- cronie-1.4.7.orig/src/entry.c
|
|
+++ cronie-1.4.7/src/entry.c
|
|
@@ -105,13 +105,18 @@ entry *load_entry(FILE * file, void (*er
|
|
if (ch == '-') {
|
|
/* if we are editing system crontab or user uid is 0 (root)
|
|
* we are allowed to disable logging
|
|
+ * Otherwise log the attempt, but still execute the command.
|
|
*/
|
|
if (pw == NULL || pw->pw_uid == 0)
|
|
e->flags |= DONT_LOG;
|
|
else {
|
|
- log_it("CRON", getpid(), "ERROR", "Only privileged user can disable logging", 0);
|
|
- ecode = e_option;
|
|
- goto eof;
|
|
+ log_it("CRON", getpid(), "ERROR",
|
|
+ "Only privileged user can disable logging. "
|
|
+ "In future versions, user lines starting with a dash "
|
|
+ "will be treated as invalid and won't get executed.", 0);
|
|
+ /* throw an error when editing a crontab */
|
|
+ if (error_func)
|
|
+ (*error_func) (ecodes[(int) e_minute]);
|
|
}
|
|
ch = get_char(file);
|
|
if (ch == EOF)
|
|
@@ -371,9 +376,9 @@ entry *load_entry(FILE * file, void (*er
|
|
|
|
Debug(DPARS, ("load_entry()...returning successfully\n"))
|
|
|
|
- /* success, fini, return pointer to the entry we just created...
|
|
- */
|
|
- return (e);
|
|
+ /* success, fini, return pointer to the entry we just created...
|
|
+ */
|
|
+ return (e);
|
|
|
|
eof:
|
|
if (e->envp)
|