Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rYSON-00G5cv-NG for pgsql-hackers@arkaria.postgresql.org; Fri, 09 Feb 2024 15:02:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rYSOM-009HPQ-PZ for pgsql-hackers@arkaria.postgresql.org; Fri, 09 Feb 2024 15:02:14 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rYSOM-009HPI-AF for pgsql-hackers@lists.postgresql.org; Fri, 09 Feb 2024 15:02:14 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rYSOJ-006JkU-O4 for pgsql-hackers@postgresql.org; Fri, 09 Feb 2024 15:02:13 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-560e9c7a094so1434249a12.0 for ; Fri, 09 Feb 2024 07:02:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20230601.gappssmtp.com; s=20230601; t=1707490930; x=1708095730; darn=postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=tpGgJD9q4s24jfuTCVLdo0JXn0N3YiD/0+D/EonVzNk=; b=NAjQapGLlm1dXCv+C5qHfPLfpfhsFRR44JejpA3fayOcxutBuLNNOqqM43PBmRm/15 mvOmENFB0mHxZq9izfGLNl20tmnWH77V52uMXWdZ08k0iliXO0m3c0/rRZLrhNioC+dB NP7SKgN3MhfxP2/550A1sw1d0+8MPL+KM44TTzuRGzOLOvwe8n+x8GriIsIGS0hs4khF IXZFWz90p+WqfdBPMeZRcYeia9d7cHf1x8Y8kajXUFQVk8dXAaVhxLQDVXPLCp+Z5Y9A VYdUUps16CRivBz1FJKx+MMMjT6mjcTZ6K7TTdo+pkodBgsNcdpjvJWiOrdnIMXd9cyz Z5mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707490930; x=1708095730; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=tpGgJD9q4s24jfuTCVLdo0JXn0N3YiD/0+D/EonVzNk=; b=NoFbTSZ/Y1TK62J9oxVZFM9/mMBSg7BxUJlF1srUwshWW4GBbYuHWHqM4E+7Na7CIe VozGk20xx17nNTKQczDsp7mx3wUeJtcLqhSJPz53jmlJM95/nkz7x9j8EMVMPZFWdaEP D84r16+LO8vvTAKr5hHv8FMLBlGF8/pyiGRX+QVOUSxGDwJYl+E9T6yJTZnmGOO2PS9g 69VZopWufogbOLhFuTd/IVIw/VNNm+Ap2T9ieSBjElE+XtVjkV1CE9IXA2QLEFRSPqDe DXJztrq1iSg0UOAHgQ/9ALNht8FVcaiZZ8jmp8inWPQ94khM7G85MJnefIfEJEYzc6C7 pOGQ== X-Gm-Message-State: AOJu0YzwFFB0K+F7+X1Kv42DIjH/xzTTQ84rAUMT9xqkdJDf4cK8tQuF 5KNbaxyIb96yhr6Oen4m0zNY+x30bJlpfUQCNVzgOS91uRhUwNMIw/zuM6SavZrPrEUUtHpLEgk Eo2bTxPZ7hRHlWW6FFmqRKTY6Mu9pV2OTlOpxhqEI9lObVrsFiVQcUA== X-Google-Smtp-Source: AGHT+IGA0zBtKlc7M/z+dS2M2TSTEXN1yuhcyTSBD75X02XXwBuXkfX+QtlCSzRgBmLyhzXGzw/joolZM/2iN+VJQbc= X-Received: by 2002:a17:906:d299:b0:a3c:11a0:b4e8 with SMTP id ay25-20020a170906d29900b00a3c11a0b4e8mr123063ejb.24.1707490929897; Fri, 09 Feb 2024 07:02:09 -0800 (PST) MIME-Version: 1.0 From: Pavlo Golub Date: Fri, 9 Feb 2024 16:01:58 +0100 Message-ID: Subject: [PATCH] allow pg_current_logfile() execution under pg_monitor role To: pgsql-hackers Content-Type: multipart/mixed; boundary="00000000000055b5290610f43650" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000055b5290610f43650 Content-Type: multipart/alternative; boundary="00000000000055b5270610f4364e" --00000000000055b5270610f4364e Content-Type: text/plain; charset="UTF-8" Hello, The patch attached fixes an oversight/inconsistency of disallowing the pg_monitor system role to execute pg_current_logfile([text]). pgwatch3=# create user joe; CREATE ROLE pgwatch3=# set role joe; SET pgwatch3=> select pg_current_logfile(); ERROR: permission denied for function pg_current_logfile pgwatch3=> reset role; RESET pgwatch3=# grant pg_monitor to joe; GRANT ROLE pgwatch3=# set role joe; SET pgwatch3=> select pg_current_logfile(); ERROR: permission denied for function pg_current_logfile pgwatch3=> select * FROM pg_ls_logdir(); name | size | modification ----------------------------------+----------+------------------------ postgresql-2024-02-08_130906.log | 652 | 2024-02-08 13:10:04+01 (5 rows) Best regards, Pavlo Golub --00000000000055b5270610f4364e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

The patch attached fi= xes an oversight/inconsistency of disallowing the pg_monitor system role to= execute pg_current_logfile([text]).

pgwatch3=3D# create user joe;<= br>CREATE ROLE
pgwatch3=3D# set role joe;
SET
pgwatch3=3D> sele= ct pg_current_logfile();
ERROR: =C2=A0permission denied for function pg_= current_logfile
pgwatch3=3D> reset role;
RESET
pgwatch3=3D# gra= nt pg_monitor to joe;
GRANT ROLE
pgwatch3=3D# set role joe;
SETpgwatch3=3D> select pg_current_logfile();
ERROR: =C2=A0permission de= nied for function pg_current_logfile
pgwatch3=3D> select * FROM pg_ls= _logdir();
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0name = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A0 size =C2=A0 | =C2= =A0 =C2=A0 =C2=A0modification
----------------------------------+-------= ---+------------------------
=C2=A0postgresql-2024-02-08_130906.log | = =C2=A0 =C2=A0 =C2=A0652 | 2024-02-08 13:10:04+01
(5 rows)

=
Best regards,
Pavlo Golub
--00000000000055b5270610f4364e-- --00000000000055b5290610f43650 Content-Type: application/octet-stream; name="0001-allow-pg_current_logfile-execution-under-pg_monitor-.patch" Content-Disposition: attachment; filename="0001-allow-pg_current_logfile-execution-under-pg_monitor-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lservwky0 RnJvbSA5MTQyY2ZkMmM5YzdhMjFhN2I3M2E0Yzg1ZmY2NjJkYWRlM2M0MWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXZsbyBHb2x1YiA8cGF2bG8uZ29sdWJAZ21haWwuY29tPgpE YXRlOiBGcmksIDkgRmViIDIwMjQgMTU6NDI6NDMgKzAxMDAKU3ViamVjdDogW1BBVENIXSBhbGxv dyBwZ19jdXJyZW50X2xvZ2ZpbGUoKSBleGVjdXRpb24gdW5kZXIgcGdfbW9uaXRvciByb2xlCgot LS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX2Z1bmN0aW9ucy5zcWwgfCA0ICsrKysKIDEg ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV9mdW5jdGlvbnMuc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f ZnVuY3Rpb25zLnNxbAppbmRleCAzNDZjZmI5OGEwLi4zN2I4OTc3NjcwIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV9mdW5jdGlvbnMuc3FsCisrKyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvc3lzdGVtX2Z1bmN0aW9ucy5zcWwKQEAgLTc2MSw2ICs3NjEsMTAgQEAgUkVWT0tF IEVYRUNVVEUgT04gRlVOQ1RJT04gcGdfbHNfcmVwbHNsb3RkaXIodGV4dCkgRlJPTSBQVUJMSUM7 CiAtLSBXZSBhbHNvIHNldCB1cCBzb21lIHRoaW5ncyBhcyBhY2Nlc3NpYmxlIHRvIHN0YW5kYXJk IHJvbGVzLgogLS0KIAorR1JBTlQgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19jdXJyZW50X2xvZ2Zp bGUoKSBUTyBwZ19tb25pdG9yOworCitHUkFOVCBFWEVDVVRFIE9OIEZVTkNUSU9OIHBnX2N1cnJl bnRfbG9nZmlsZSh0ZXh0KSBUTyBwZ19tb25pdG9yOworCiBHUkFOVCBFWEVDVVRFIE9OIEZVTkNU SU9OIHBnX2xzX2xvZ2RpcigpIFRPIHBnX21vbml0b3I7CiAKIEdSQU5UIEVYRUNVVEUgT04gRlVO Q1RJT04gcGdfbHNfd2FsZGlyKCkgVE8gcGdfbW9uaXRvcjsKLS0gCjIuMzQuMQoK --00000000000055b5290610f43650--