make the invalid shell check into warning
This commit is contained in:
parent
88156a4067
commit
fd2aa2917b
30
shadow-4.8-invalid-shell-check.patch
Normal file
30
shadow-4.8-invalid-shell-check.patch
Normal file
@ -0,0 +1,30 @@
|
||||
diff -up shadow-4.8/src/useradd.c.invalid-shell shadow-4.8/src/useradd.c
|
||||
--- shadow-4.8/src/useradd.c.invalid-shell 2020-01-16 08:47:13.841921106 +0100
|
||||
+++ shadow-4.8/src/useradd.c 2020-01-16 08:57:26.338421901 +0100
|
||||
@@ -1277,15 +1277,22 @@ static void process_flags (int argc, cha
|
||||
if ( ( !VALID (optarg) )
|
||||
|| ( ('\0' != optarg[0])
|
||||
&& ('/' != optarg[0])
|
||||
- && ('*' != optarg[0]) )
|
||||
- || (stat(optarg, &st) != 0)
|
||||
- || (S_ISDIR(st.st_mode))
|
||||
- || (access(optarg, X_OK) != 0)) {
|
||||
+ && ('*' != optarg[0]) )) {
|
||||
fprintf (stderr,
|
||||
_("%s: invalid shell '%s'\n"),
|
||||
Prog, optarg);
|
||||
exit (E_BAD_ARG);
|
||||
}
|
||||
+ if ( '\0' != optarg[0]
|
||||
+ && '*' != optarg[0]
|
||||
+ && strcmp(optarg, "/sbin/nologin") != 0
|
||||
+ && ( stat(optarg, &st) != 0
|
||||
+ || S_ISDIR(st.st_mode)
|
||||
+ || access(optarg, X_OK) != 0)) {
|
||||
+ fprintf (stderr,
|
||||
+ _("%s: Warning: missing or not executable shell '%s'\n"),
|
||||
+ Prog, optarg);
|
||||
+ }
|
||||
user_shell = optarg;
|
||||
def_shell = optarg;
|
||||
sflg = true;
|
Loading…
Reference in New Issue
Block a user