WinDoctor
How Pull Requests destroy developer efficiency [video]
How would one implement this?
"SQL APIs" use prepared statements. Meaning you have a string for SQL and some dynamic variables that inject into that string via $1, $2 etc.
BUT now if developer makes that string dynamic via a variable, then you have SQL injection again.
E.g. you can do manual selects from internal tables to see the same content as `\dt` command for example.
There you do need user with LOGIN, valid password & SSL.
Doing ALTER DEFAULT PRIVILEGES could be another future footgun of it's own.
If roles have INHERIT, then doing the following works, no?
* Role A creates table * GRANT A TO B; * ROLE B can read from table just like A can.
Also if Role A creates new table, Role B can read that too no?
All roles function like you would expect groups to function
A role that is not allowed to login is a `group`.
While the CREATE USER and CREATE GROUP commands still exist, they are simply aliases for CREATE ROLE.
It's just named such that when a ROLE allows `login` it's considered a user
What makes it complex is that there are 3 layers of objects (Database, Schema, Tables) and also implicit grants given to DB object owners
To be able to select from a table you need:
* CONNECT on the Database
* USAGE on the Schema (Given implicitly to schema owner)
* SELECT on the Table (Given implicitly to table owner)
To see these privileges we need to understand acl entries of this format
`grantee=privilege-abbreviation[]/grantor:`
* Use \l+ to see privileges of Database
* Use \dn+ to see privileges of Schemas
* Use \dp+ to see privileges of Tables
Privileges are seen [here](https://www.postgresql.org/docs/current/ddl-priv.html)
e.g. in the following example user has been given all permissions by postgres role
`user=arwdDxt/postgres`
If the “grantee” column is empty for a given object, it means the object has default owner privileges (all privileges) or it can mean privileges to PUBLIC role (every role that exists)
`=r/postgres`
Also it's confusing when Public schema is used. You have CREATE permission on schema so the tables are created with the same user you select data with and you have owner permissions out of the box.
What do you mean by this? Any references I could read?
How many blog visitors can fit in an AWS free-tier EC2?
It's a gamble for sure.
Understanding why Russia is authoritarian and invaded Ukraine
What do you mean by hand-tuned Postgres & hand-tuned ZFS. What did you change and why?
Thank you for the feedback!
Usually bastions are just allowing one SSH server on your VPC/network and every SSH connection going through it.
I still actually haven't found similar projects to mine.
Can you propose an alternative / more accurate name?
e.g. you can't curl google.com
I've used this code in CTF competitions and Blue Team exercises where some machines behind a VPN don't have outgoing network access.
(Sometimes it's just simpler to organize this way, sometimes it's deliberate for security purposes.)