Fixing permissions a better way, thx crazy4chrissi, fixes #532
Signed-off-by: Florian Aders (EleRas) <eleras@froxlor.org>
This commit is contained in:
@@ -97,7 +97,8 @@ if($userinfo['change_serversettings'] == '1')
|
|||||||
'<BIND_CONFIG_PATH>' => makeCorrectDir(Settings::Get('system.bindconf_directory')),
|
'<BIND_CONFIG_PATH>' => makeCorrectDir(Settings::Get('system.bindconf_directory')),
|
||||||
'<WEBSERVER_RELOAD_CMD>' => Settings::Get('system.apachereload_command'),
|
'<WEBSERVER_RELOAD_CMD>' => Settings::Get('system.apachereload_command'),
|
||||||
'<CUSTOMER_LOGS>' => makeCorrectDir(Settings::Get('system.logfiles_directory')),
|
'<CUSTOMER_LOGS>' => makeCorrectDir(Settings::Get('system.logfiles_directory')),
|
||||||
'<FPM_IPCDIR>' => makeCorrectDir(Settings::Get('phpfpm.fastcgi_ipcdir'))
|
'<FPM_IPCDIR>' => makeCorrectDir(Settings::Get('phpfpm.fastcgi_ipcdir')),
|
||||||
|
'<WEBSERVER_GROUP>' => Settings::Get('system.httpgroup')
|
||||||
);
|
);
|
||||||
$files = '';
|
$files = '';
|
||||||
$configpage = '';
|
$configpage = '';
|
||||||
|
|||||||
@@ -132,8 +132,8 @@ while ($row = $result_tasks_stmt->fetch(PDO::FETCH_ASSOC)) {
|
|||||||
$userhomedir = (substr($userhomedir, 0, -1) == '/') ? substr($userhomedir, 0, -1) : $userhomedir;
|
$userhomedir = (substr($userhomedir, 0, -1) == '/') ? substr($userhomedir, 0, -1) : $userhomedir;
|
||||||
$usermaildir = (substr($usermaildir, 0, -1) == '/') ? substr($usermaildir, 0, -1) : $usermaildir;
|
$usermaildir = (substr($usermaildir, 0, -1) == '/') ? substr($usermaildir, 0, -1) : $usermaildir;
|
||||||
|
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Running: chown -R ' . (int)$row['data']['uid'] . ':' . Settings::Get('system.httpuser') . ' ' . escapeshellarg($userhomedir));
|
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Running: chown -R ' . (int)$row['data']['uid'] . ':' . (int)$row['data']['gid'] . ' ' . escapeshellarg($userhomedir));
|
||||||
safe_exec('chown -R ' . (int)$row['data']['uid'] . ':' . Settings::Get('system.httpuser') . ' ' . escapeshellarg($userhomedir));
|
safe_exec('chown -R ' . (int)$row['data']['uid'] . ':' . (int)$row['data']['gid'] . ' ' . escapeshellarg($userhomedir));
|
||||||
// don't allow others to access the directory (webserver will be the group)
|
// don't allow others to access the directory (webserver will be the group)
|
||||||
safe_exec('chmod 0750 ' . escapeshellarg($userhomedir));
|
safe_exec('chmod 0750 ' . escapeshellarg($userhomedir));
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Running: chown -R ' . (int)Settings::Get('system.vmail_uid') . ':' . (int)Settings::Get('system.vmail_gid') . ' ' . escapeshellarg($usermaildir));
|
$cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Running: chown -R ' . (int)Settings::Get('system.vmail_uid') . ':' . (int)Settings::Get('system.vmail_gid') . ' ' . escapeshellarg($usermaildir));
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ getgrent SELECT groupname,'x',gid \
|
|||||||
FROM ftp_groups
|
FROM ftp_groups
|
||||||
memsbygid SELECT username \
|
memsbygid SELECT username \
|
||||||
FROM ftp_users \
|
FROM ftp_users \
|
||||||
WHERE gid='%1$u'
|
WHERE gid='%1$u' UNION SELECT '<WEBSERVER_GROUP>'
|
||||||
gidsbymem SELECT gid \
|
gidsbymem SELECT gid \
|
||||||
FROM ftp_users \
|
FROM ftp_users \
|
||||||
WHERE username='%1$s'
|
WHERE username='%1$s' UNION SELECT gid FROM ftp_users WHERE '<WEBSERVER_GROUP>'='%1$s'
|
||||||
|
|
||||||
host <SQL_HOST>
|
host <SQL_HOST>
|
||||||
database <SQL_DB>
|
database <SQL_DB>
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ getspent SELECT username, password, '12345', '0', '99999', '7', '', '', '' FROM
|
|||||||
getgrnam SELECT groupname, '', gid FROM ftp_groups WHERE groupname='%1$s' LIMIT 1
|
getgrnam SELECT groupname, '', gid FROM ftp_groups WHERE groupname='%1$s' LIMIT 1
|
||||||
getgrgid SELECT groupname, '', gid FROM ftp_groups WHERE gid='%1$u' LIMIT 1
|
getgrgid SELECT groupname, '', gid FROM ftp_groups WHERE gid='%1$u' LIMIT 1
|
||||||
getgrent SELECT groupname, '', gid FROM ftp_groups
|
getgrent SELECT groupname, '', gid FROM ftp_groups
|
||||||
memsbygid SELECT username FROM ftp_users WHERE gid='%1$u'
|
memsbygid SELECT username FROM ftp_users WHERE gid='%1$u' UNION SELECT '<WEBSERVER_GROUP>'
|
||||||
gidsbymem SELECT gid FROM ftp_users WHERE username='%1$s'
|
gidsbymem SELECT gid FROM ftp_users WHERE username='%1$s' UNION SELECT gid FROM ftp_users WHERE '<WEBSERVER_GROUP>'='%1$s'
|
||||||
|
|
||||||
host <SQL_HOST>
|
host <SQL_HOST>
|
||||||
database <SQL_DB>
|
database <SQL_DB>
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ getgrent SELECT groupname,'x',gid \
|
|||||||
FROM ftp_groups
|
FROM ftp_groups
|
||||||
memsbygid SELECT username \
|
memsbygid SELECT username \
|
||||||
FROM ftp_users \
|
FROM ftp_users \
|
||||||
WHERE gid='%1$u'
|
WHERE gid='%1$u' UNION SELECT '<WEBSERVER_GROUP>'
|
||||||
gidsbymem SELECT gid \
|
gidsbymem SELECT gid \
|
||||||
FROM ftp_users \
|
FROM ftp_users \
|
||||||
WHERE username='%1$s'
|
WHERE username='%1$s' UNION SELECT gid FROM ftp_users WHERE '<WEBSERVER_GROUP>'='%1$s'
|
||||||
|
|
||||||
host <SQL_HOST>
|
host <SQL_HOST>
|
||||||
database <SQL_DB>
|
database <SQL_DB>
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ getgrent SELECT groupname,'x',gid \
|
|||||||
FROM ftp_groups
|
FROM ftp_groups
|
||||||
memsbygid SELECT username \
|
memsbygid SELECT username \
|
||||||
FROM ftp_users \
|
FROM ftp_users \
|
||||||
WHERE gid='%1$u'
|
WHERE gid='%1$u' UNION SELECT '<WEBSERVER_GROUP>'
|
||||||
gidsbymem SELECT gid \
|
gidsbymem SELECT gid \
|
||||||
FROM ftp_users \
|
FROM ftp_users \
|
||||||
WHERE username='%1$s'
|
WHERE username='%1$s' UNION SELECT gid FROM ftp_users WHERE '<WEBSERVER_GROUP>'='%1$s'
|
||||||
|
|
||||||
host <SQL_HOST>
|
host <SQL_HOST>
|
||||||
database <SQL_DB>
|
database <SQL_DB>
|
||||||
|
|||||||
Reference in New Issue
Block a user