Merge pull request #210 from t8m/shell-check
Make the check for non-executable shell only a warning.
This commit is contained in:
commit
dfceca8427
@ -1328,15 +1328,22 @@ static void process_flags (int argc, char **argv)
|
|||||||
if ( ( !VALID (optarg) )
|
if ( ( !VALID (optarg) )
|
||||||
|| ( ('\0' != optarg[0])
|
|| ( ('\0' != optarg[0])
|
||||||
&& ('/' != optarg[0])
|
&& ('/' != optarg[0])
|
||||||
&& ('*' != optarg[0]) )
|
&& ('*' != optarg[0]) )) {
|
||||||
|| (stat(optarg, &st) != 0)
|
|
||||||
|| (S_ISDIR(st.st_mode))
|
|
||||||
|| (access(optarg, X_OK) != 0)) {
|
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: invalid shell '%s'\n"),
|
_("%s: invalid shell '%s'\n"),
|
||||||
Prog, optarg);
|
Prog, optarg);
|
||||||
exit (E_BAD_ARG);
|
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 non-executable shell '%s'\n"),
|
||||||
|
Prog, optarg);
|
||||||
|
}
|
||||||
user_shell = optarg;
|
user_shell = optarg;
|
||||||
def_shell = optarg;
|
def_shell = optarg;
|
||||||
sflg = true;
|
sflg = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user