Los usuarios de PostgreSQL autentican entre pares en sockets de Unix de forma predeterminada, donde el usuario de Unix debe ser el mismo que el usuario de PostgreSQL. Entonces, la gente usa con frecuencia su
o se sudo
convierte en postgres
superusuario.
A menudo veo personas que usan construcciones como:
sudo su - postgres
más bien que
sudo -u postgres -i
y me pregunto por qué Del mismo modo, he visto:
sudo su - postgres -c psql
en lugar de
sudo -u postgres psql
Sin el líder, sudo
las su
versiones tendrían sentido si estuvieras en una plataforma antigua sin ella sudo
. Pero, ¿por qué usaría UNIX o Linux menos que prehispánico sudo su
?
postgresql
shell
sudo
su
Craig Ringer
fuente
fuente
Respuestas:
Olvidar
sudo su
El uso no tiene ningún beneficio
sudo su
, es un hábito anacrónico de cuando la gente estaba acostumbrada a usarsu
. La gente comenzó a virarsudo
cuando las distribuciones de Linux dejaron de establecer una contraseña de root e hicieronsudo
la única forma de acceder a la cuenta de root. En lugar de cambiar sus hábitos, simplemente lo usabansudo su
. (Fui uno de ellos hasta hace relativamente poco cuando el uso de cajas consudoers
configuraciones me obligó a cambiar mi hábito).Utilizar
sudo -u
Para un shell de inicio de sesión,
sudo -u postgres -i
es preferiblesudo su - postgres
. No requiere que el usuario tenga acceso de root/etc/sudoers
, solo necesita el derecho de convertirse en usuariopostgres
. También le permite aplicar mejores controles de acceso.Para ejecutar comandos
es superior a la alternativa:
en el sentido de que no tiene que escapar las comillas y otros metacaracteres de shell, así como las otras ventajas de seguridad de no necesitar root. Probablemente aterrizarás accidentalmente escribiendo:
a veces, que no funcionará correctamente.
Finalmente, es mucho más fácil establecer variables de entorno mediante
sudo
, por ejemplo,que a través de
su
. (Aquí, laPATH
configuración es necesaria para queinitdb
pueda encontrar elpostgres
ejecutable correcto ).Asi que. Olvida que el
su
comando existe. Ya no lo necesitas. Para romper el hábito, alias a algo que imprima un error. (Sin embargo, algunos scripts de configuración de paquetes y de inicio todavía se usan,su
por lo que no puede eliminarlos).Ver también:
fuente