forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitf1358ca
committed
Adjust interaction of CREATEROLE with role properties.
Previously, a CREATEROLE user without SUPERUSER could not alterREPLICATION users in any way, and could not set the BYPASSRLSattribute. However, they could manipulate the CREATEDB propertyeven if they themselves did not possess it.With this change, a CREATEROLE user without SUPERUSER can set orclear the REPLICATION, BYPASSRLS, or CREATEDB property on a newrole or a role that they have rights to manage if and only ifthat property is set for their own role.This implements the standard idea that you can't give permissionsyou don't have (but you can give the ones you do have). We mightin the future want to provide more powerful ways to constrainwhat a CREATEROLE user can do - for example, to limit whetherCONNECTION LIMIT can be set or the values to which it can be set -but that is left as future work.Patch by me, reviewed by Nathan Bossart, Tushar Ahuja, and NehaSharma.Discussion:http://postgr.es/m/CA+TgmobX=LHg_J5aT=0pi9gJy=JdtrUVGAu0zhr-i5v5nNbJDg@mail.gmail.com1 parent6c6d6ba commitf1358ca
File tree
7 files changed
+137
-83
lines changed- doc/src/sgml/ref
- src
- backend/commands
- include/commands
- test/regress
- expected
- sql
7 files changed
+137
-83
lines changedLines changed: 8 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
70 | 70 |
| |
71 | 71 |
| |
72 | 72 |
| |
73 |
| - | |
74 |
| - | |
75 |
| - | |
76 |
| - | |
77 |
| - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
78 | 81 |
| |
79 | 82 |
| |
80 | 83 |
| |
|
Lines changed: 6 additions & 17 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
109 | 109 |
| |
110 | 110 |
| |
111 | 111 |
| |
| 112 | + | |
| 113 | + | |
112 | 114 |
| |
113 | 115 |
| |
114 | 116 |
| |
| |||
188 | 190 |
| |
189 | 191 |
| |
190 | 192 |
| |
191 |
| - | |
192 |
| - | |
| 193 | + | |
| 194 | + | |
193 | 195 |
| |
194 | 196 |
| |
195 | 197 |
| |
| |||
201 | 203 |
| |
202 | 204 |
| |
203 | 205 |
| |
204 |
| - | |
205 |
| - | |
| 206 | + | |
| 207 | + | |
206 | 208 |
| |
207 | 209 |
| |
208 | 210 |
| |
| |||
390 | 392 |
| |
391 | 393 |
| |
392 | 394 |
| |
393 |
| - | |
394 |
| - | |
395 |
| - | |
396 |
| - | |
397 |
| - | |
398 |
| - | |
399 |
| - | |
400 |
| - | |
401 |
| - | |
402 |
| - | |
403 |
| - | |
404 |
| - | |
405 |
| - | |
406 | 395 |
| |
407 | 396 |
| |
408 | 397 |
| |
|
Lines changed: 1 addition & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
121 | 121 |
| |
122 | 122 |
| |
123 | 123 |
| |
124 |
| - | |
125 | 124 |
| |
126 | 125 |
| |
127 | 126 |
| |
| |||
2742 | 2741 |
| |
2743 | 2742 |
| |
2744 | 2743 |
| |
2745 |
| - | |
| 2744 | + | |
2746 | 2745 |
| |
2747 | 2746 |
| |
2748 | 2747 |
| |
|
Lines changed: 38 additions & 44 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
311 | 311 |
| |
312 | 312 |
| |
313 | 313 |
| |
314 |
| - | |
| 314 | + | |
315 | 315 |
| |
316 |
| - | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
317 | 321 |
| |
318 | 322 |
| |
319 | 323 |
| |
320 |
| - | |
321 |
| - | |
322 |
| - | |
323 |
| - | |
| 324 | + | |
324 | 325 |
| |
325 | 326 |
| |
326 |
| - | |
327 |
| - | |
328 |
| - | |
329 |
| - | |
330 |
| - | |
| 327 | + | |
| 328 | + | |
331 | 329 |
| |
332 | 330 |
| |
333 |
| - | |
334 |
| - | |
335 |
| - | |
336 |
| - | |
337 |
| - | |
| 331 | + | |
| 332 | + | |
338 | 333 |
| |
339 | 334 |
| |
340 |
| - | |
| 335 | + | |
341 | 336 |
| |
342 | 337 |
| |
343 | 338 |
| |
| |||
748 | 743 |
| |
749 | 744 |
| |
750 | 745 |
| |
751 |
| - | |
752 |
| - | |
753 |
| - | |
754 |
| - | |
755 |
| - | |
756 |
| - | |
757 |
| - | |
758 |
| - | |
759 |
| - | |
760 |
| - | |
761 |
| - | |
762 |
| - | |
763 |
| - | |
764 |
| - | |
765 |
| - | |
766 |
| - | |
767 |
| - | |
768 |
| - | |
769 |
| - | |
770 |
| - | |
771 |
| - | |
772 |
| - | |
773 |
| - | |
774 |
| - | |
775 |
| - | |
776 |
| - | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
777 | 751 |
| |
778 | 752 |
| |
779 | 753 |
| |
| |||
784 | 758 |
| |
785 | 759 |
| |
786 | 760 |
| |
787 |
| - | |
| 761 | + | |
788 | 762 |
| |
789 | 763 |
| |
790 | 764 |
| |
| |||
795 | 769 |
| |
796 | 770 |
| |
797 | 771 |
| |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
798 | 792 |
| |
799 | 793 |
| |
800 | 794 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
30 | 30 |
| |
31 | 31 |
| |
32 | 32 |
| |
| 33 | + | |
33 | 34 |
| |
34 | 35 |
| |
35 | 36 |
| |
|
Lines changed: 44 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| 5 | + | |
5 | 6 |
| |
6 |
| - | |
7 |
| - | |
| 7 | + | |
| 8 | + | |
8 | 9 |
| |
9 | 10 |
| |
10 | 11 |
| |
11 |
| - | |
| 12 | + | |
12 | 13 |
| |
13 |
| - | |
| 14 | + | |
14 | 15 |
| |
15 |
| - | |
16 |
| - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
17 | 36 |
| |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
18 | 50 |
| |
19 | 51 |
| |
20 | 52 |
| |
| |||
53 | 85 |
| |
54 | 86 |
| |
55 | 87 |
| |
56 |
| - | |
57 |
| - | |
58 |
| - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
59 | 91 |
| |
60 | 92 |
| |
61 | 93 |
| |
| |||
164 | 196 |
| |
165 | 197 |
| |
166 | 198 |
| |
| 199 | + | |
| 200 | + | |
| 201 | + | |
167 | 202 |
| |
168 | 203 |
| |
169 | 204 |
| |
|
Lines changed: 39 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| 5 | + | |
5 | 6 |
| |
6 | 7 |
| |
7 |
| - | |
8 |
| - | |
| 8 | + | |
| 9 | + | |
9 | 10 |
| |
10 | 11 |
| |
11 | 12 |
| |
12 | 13 |
| |
| 14 | + | |
13 | 15 |
| |
14 |
| - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
15 | 31 |
| |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
16 | 46 |
| |
17 | 47 |
| |
18 | 48 |
| |
| |||
56 | 86 |
| |
57 | 87 |
| |
58 | 88 |
| |
59 |
| - | |
60 |
| - | |
61 |
| - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
62 | 92 |
| |
63 | 93 |
| |
64 | 94 |
| |
| |||
150 | 180 |
| |
151 | 181 |
| |
152 | 182 |
| |
| 183 | + | |
| 184 | + | |
| 185 | + | |
153 | 186 |
| |
154 | 187 |
| |
155 | 188 |
| |
|
0 commit comments
Comments
(0)