Ich verwende Cloud9 für die Rails-Entwicklung und es verwendet eine Ubuntu-Umgebung. In der Dokumentation zur Verwendung der PostgreSQL-Datenbank heißt es:
Stellen Sie eine Verbindung zum Dienst her:
$ sudo sudo -u postgres psql
Was bedeutet es, sudo zweimal zu tippen?
sudo
Befehl als root ausführen , nicht jedoch denpsql
Befehl alspostgres
.user ALL=(ALL) NOPASSWD: ALL
Antworten:
Mit sudo -u postgres können Sie sich beim Ausführen des Befehls als postgres-Benutzer ausgeben. Ihr Benutzer hat dieses Privileg wahrscheinlich nicht, aber das von root.
Das erste sudo gibt Ihnen also die Berechtigungen von root und das zweite sudo ermöglicht es Ihnen (als root), sudo -u zu postgres zu machen, sodass der Befehl als postgres-Benutzer ausgeführt werden kann.
quelle
sudo
.Sie haben Ihrem Konto wahrscheinlich nur Sudo-Rechte für das Root-Konto erteilt, und sie glauben, dass sie
sudo
diese dem Postgres-Benutzer übergeben müssen, um dorthin zu gelangen.In Anbetracht der Anzahl der Personen, die ihre Regeln korrigieren, können Sie
sudo -l
als regulärer Benutzer ausgeführt werden, um festzustellen, ob sie Ihnen den Zugriff auf alle Benutzer ermöglicht oder Sie aus irgendeinem Grund für root gesperrt haben. Ich bin bereit zu sein, dass es das erstere ist. In diesem Fall können Sie das erste weglassensudo
.quelle