blob: 351b7d9211da6f819431e66c8bc2b801193aaaf1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
diff -Naur a/src/backend/libpq/be-secure.c b/src/backend/libpq/be-secure.c
--- a/src/backend/libpq/be-secure.c 2011-01-27 21:24:47.000000000 -0500
+++ b/src/backend/libpq/be-secure.c 2011-03-20 16:53:00.877881541 -0400
@@ -753,8 +753,8 @@
* directory permission check in postmaster.c)
*/
#if !defined(WIN32) && !defined(__CYGWIN__)
- if (!S_ISREG(buf.st_mode) || (buf.st_mode & (S_IRWXG | S_IRWXO)) ||
- buf.st_uid != geteuid())
+ if (!S_ISREG(buf.st_mode) || (buf.st_mode & (S_IWGRP | S_IRWXO)) ||
+ (buf.st_uid != geteuid()) && buf.st_uid != 0)
ereport(FATAL,
(errcode(ERRCODE_CONFIG_FILE_ERROR),
errmsg("unsafe permissions on private key file \"%s\"",
|