mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Copy users config files from skeleton dir
Every time user is added or modified, make sure all default config files are copied over from /etc/skel to user's home. It will make sure users will always get the last version of these files
This commit is contained in:
parent
3ee1e659a6
commit
13a70e7d4e
@ -548,9 +548,11 @@ function local_user_set(& $user) {
|
||||
pclose($fd);
|
||||
$userattrs = explode(":", trim($pwread));
|
||||
|
||||
$skel_dir = '/etc/skel';
|
||||
|
||||
/* determine add or mod */
|
||||
if (($userattrs[0] != $user['name']) || (!strncmp($pwread, "pw:", 3))) {
|
||||
$user_op = "useradd -m -k /etc/skel -o";
|
||||
$user_op = "useradd -m -k {$skel_dir} -o";
|
||||
} else {
|
||||
$user_op = "usermod";
|
||||
}
|
||||
@ -579,6 +581,14 @@ function local_user_set(& $user) {
|
||||
@chown($user_home, $user_name);
|
||||
@chgrp($user_home, $user_group);
|
||||
|
||||
/* Make sure all users have last version of config files */
|
||||
foreach (glob("{$skel_dir}/dot.*") as $dot_file) {
|
||||
$target = $user_home . '/' . substr(basename($dot_file), 3);
|
||||
@copy($dot_file, $target);
|
||||
@chown($target, $user_name);
|
||||
@chgrp($target, $user_group);
|
||||
}
|
||||
|
||||
/* write out ssh authorized key file */
|
||||
if ($user['authorizedkeys']) {
|
||||
if (!is_dir("{$user_home}/.ssh")) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user