Почему я не могу `su postgres`?

Вам необходимо использовать RewriteCond с % {REMOTE_ADDR} , возможно, несколько, если у вас включен IPv6 или нет. Это базовая конфигурация:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

Вот руководство по использованию RewriteCond, которое может немного помочь .

-1
04.05.2018, 20:20
2 ответа

Посмотрите на второе поле/etc/shadow:

postgres:*:17478:0:99999:7:::

Обычно у него был бы зашифрованный пароль, но здесь он имеет только одну звездочку. Это означает, что учетная запись заблокирована -, для нее неприемлем пароль. Это состояние будет иметь любая новая учетная запись, пока ей не будет назначен пароль.

Для перехода к учетной записи пользователя, которая в настоящее время заблокирована, вам потребуется метод перехода, который не запрашивает пароль целевой учетной записи. Для suэто означало бы, что вы должны сначала полностью стать пользователем root.

Можно настроить sudo, чтобы разрешить вам доступ к учетной записи postgres, даже если она заблокирована для аутентификации по паролю.Строка /etc/sudoersбудет примерно такой:

Tim     ALL=(postgres) ALL

Командная строка sudo, эквивалентная su postgres, будет sudo -u postgres -s. Обратите внимание :в этом методе некоторые настройки среды из вашей исходной учетной записи могут все еще использоваться в вашем сеансе как пользователь postgres. Вы можете хотеть или не хотеть, чтобы :это было действительно полезно, если у вас есть два или более администратора базы данных с разными личными предпочтениями для их оболочки/среды, и оба sudoиспользуют учетную запись postgres.

Если вы хотите, чтобы среда была такой же, как если бы пользователь postgresвошёл в систему напрямую, вы также можете использоватьsudo -u postgres -i(эквивалентsu - postgres).

Но если вы хотите, чтобы su postgresработал, вам просто нужно установить пароль для пользователя postgres. Этого можно добиться, запустив passwd postgresот имени пользователя root.

4
28.01.2020, 05:07

Вы не должны давать пользователю postgres пароль. Это считается недостатком безопасности, поскольку теперь кто-то может войти в систему как этот пользователь и делать все, что захочет. Вместо этого вы должны дать себе разрешение sudo для этого пользователя и использовать конструкции, подобные приведенным ниже.

sudo -u postgres psql...
1
28.01.2020, 05:07

Теги

Похожие вопросы