Я использую Cloud9 для разработки Rails, и он использует среду Ubuntu. В документации об использовании базы данных PostgreSQL говорится:
Подключиться к услуге:
$ sudo sudo -u postgres psql
Что означает вводить sudo дважды?
Я использую Cloud9 для разработки Rails, и он использует среду Ubuntu. В документации об использовании базы данных PostgreSQL говорится:
Подключиться к услуге:
$ sudo sudo -u postgres psql
Что означает вводить sudo дважды?
sudo
команду от имени пользователя root, но не от имениpsql
командыpostgres
.user ALL=(ALL) NOPASSWD: ALL
Ответы:
sudo -u postgres позволяет вам олицетворять пользователя postgres при запуске команды. У вашего пользователя, вероятно, нет такой привилегии, но у пользователя root есть.
Таким образом, первый sudo дает вам права root, а второй sudo позволяет вам (как root) выполнить sudo -u для postgres, что позволяет запускать команду от имени пользователя postgres.
источник
sudo
.Вероятно, они только что предоставили права sudo вашей учетной записи корневой учетной записи, и поэтому они думают, что им это нужно
sudo
передать пользователю postgres, чтобы туда попасть.Учитывая, как много людей правят свои правила, вы можете запустить
sudo -l
как обычный пользователь, чтобы узнать, дали ли они вам доступ ко всем пользователям или по какой-то причине заблокировали вас как root. Я готов быть первым, и в этом случае вы можете оставить первыйsudo
.источник