Unlike OpenBSD's, our setusercontext() will intentionally ignore the user's
own umask setting (from ~/.login.conf) unless running with the user's UID. Therefore, we need to call it again with LOGIN_SETUMASK after changing UID. PR: bin/176740 Submitted by: John Marshall <john.marshall@riverwillow.com.au> MFC after: 1 week
This commit is contained in:
parent
ca9feb490c
commit
2ec88e9d1b
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=248231
@ -1533,6 +1533,12 @@ do_setusercontext(struct passwd *pw)
|
|||||||
perror("unable to set user context (setuser)");
|
perror("unable to set user context (setuser)");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* FreeBSD's setusercontext() will not apply the user's
|
||||||
|
* own umask setting unless running with the user's UID.
|
||||||
|
*/
|
||||||
|
setusercontext(lc, pw, pw->pw_uid, LOGIN_SETUMASK);
|
||||||
#else
|
#else
|
||||||
/* Permanently switch to the desired uid. */
|
/* Permanently switch to the desired uid. */
|
||||||
permanently_set_uid(pw);
|
permanently_set_uid(pw);
|
||||||
|
Loading…
Reference in New Issue
Block a user