mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Option to restore default SElinux context for a home dir
This commit is contained in:
@@ -4,7 +4,7 @@ user_files=Copy files into new home directories from,9,40,3
|
||||
home_base=Automatic home directory base,3,Not set
|
||||
real_base=Real home directory base,3,Same as above
|
||||
home_style=Automatic home directory style,4,0-home/username,1-home/u/username,2-home/u/us/username,3-home/u/s/username,4-Just base directory,5-home/primary_group/username
|
||||
selinux_con=SElinux context for new home directories,3,None
|
||||
selinux_con=SElinux context for new home directories,10,-None,*-System default
|
||||
|
||||
line2=New user options,11
|
||||
base_uid=Lowest UID for new users,0,5
|
||||
|
||||
@@ -2632,8 +2632,16 @@ $home ||= $user->{'home'};
|
||||
oct($config{'homedir_perms'}), $home) ||
|
||||
&error(&text('usave_echmod', $!));
|
||||
if ($config{'selinux_con'} && &is_selinux_enabled() && &has_command("chcon")) {
|
||||
&system_logged("chcon ".quotemeta($config{'selinux_con'}).
|
||||
" ".quotemeta($home)." >/dev/null 2>&1");
|
||||
if ($config{'selinux_con'} eq "*") {
|
||||
# Restore default context
|
||||
&system_logged("restorecon -r ".
|
||||
quotemeta($home)." >/dev/null 2>&1");
|
||||
}
|
||||
else {
|
||||
# Use specific context
|
||||
&system_logged("chcon ".quotemeta($config{'selinux_con'}).
|
||||
" ".quotemeta($home)." >/dev/null 2>&1");
|
||||
}
|
||||
}
|
||||
&unlock_file($home);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user