Вам необходимо использовать 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, которое может немного помочь .
Посмотрите на второе поле/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.
Вы не должны давать пользователю postgres пароль. Это считается недостатком безопасности, поскольку теперь кто-то может войти в систему как этот пользователь и делать все, что захочет. Вместо этого вы должны дать себе разрешение sudo для этого пользователя и использовать конструкции, подобные приведенным ниже.
sudo -u postgres psql...