postgresql/src
Stephen Frost 0fdc8495bf Add default roles for file/program access
This patch adds new default roles named 'pg_read_server_files',
'pg_write_server_files', 'pg_execute_server_program' which
allow an administrator to GRANT to a non-superuser role the ability to
access server-side files or run programs through PostgreSQL (as the user
the database is running as).  Having one of these roles allows a
non-superuser to use server-side COPY to read, write, or with a program,
and to use file_fdw (if installed by a superuser and GRANT'd USAGE on
it) to read from files or run a program.

The existing misc file functions are also changed to allow a user with
the 'pg_read_server_files' default role to read any files on the
filesystem, matching the privileges given to that role through COPY and
file_fdw from above.

Reviewed-By: Michael Paquier
Discussion: https://postgr.es/m/20171231191939.GR2416%40tamriel.snowman.net
2018-04-06 14:47:10 -04:00
..
backend Add default roles for file/program access 2018-04-06 14:47:10 -04:00
bin Fix compiler warning about format truncation 2018-04-06 08:43:50 -04:00
common Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
fe_utils Add \if support to pgbench 2018-03-22 17:42:03 +03:00
include Add default roles for file/program access 2018-04-06 14:47:10 -04:00
interfaces Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
makefiles Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
pl PL/pgSQL: Add support for SET TRANSACTION 2018-04-05 15:30:24 -04:00
port Fix the new ARMv8 CRC code for short and unaligned input. 2018-04-04 14:40:39 +03:00
template Force "restrict" not to be used when compiling with xlc. 2017-10-13 12:15:06 -07:00
test Improve parse representation for MERGE 2018-04-06 09:38:59 +01:00
timezone Update time zone data files to tzdata release 2018c. 2018-01-27 16:42:28 -05:00
tools Install errcodes.txt for use by extensions. 2018-04-05 04:05:40 +01:00
tutorial Update copyright for 2018 2018-01-02 23:30:12 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Basic JIT provider and error handling infrastructure. 2018-03-21 19:28:28 -07:00
Makefile.global.in Use ARMv8 CRC instructions where available. 2018-04-04 12:22:45 +03:00
Makefile.shlib Prevent accidental linking of system-supplied copies of libpq.so etc. 2018-04-03 16:26:05 -04:00
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00