Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: автозапускпри старте postgres, от его пользователя. куда писать комманду?  (Прочитано 1886 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Relaxxx

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Здравствуйте.
В общем, собрал я с исходников субд Postgresql, все нормально собралось. Чтобы запустить его от имени ранее созданного пользователя я использую команду su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres . У меня спрашивает пароль пользователя postgres, после его ввода, он стартует. Теперь мне нужно чтобы постгрес стартовал при страте системе, и чтобы стартовал от имени своего пользователя. Ну и нужно чтобы пароль не спрашивался. если я его установлю с помощью апт-гет, у меня же он стартует автоматом и никаких паролей не спрашивает.

Оффлайн pharameer

  • Участник
  • *
  • Сообщений: 109
  • There is no emotion, there is peace.
    • Просмотр профиля
Не знаю, получится ли запуск от другого пользователя в /etc/rc.local, но попробовать стоит. Если не получится — почитать man sudo, с ним точно можно запускать от другого пользователя и без пароля.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
надо вписать эту команду запуска в /etc/rc.local и поправить /etc/sudoers (командой visudo), чтобы не спрашивала пароля.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн sht0rm

  • Старожил
  • *
  • Сообщений: 3397
    • Просмотр профиля
надо вписать эту команду запуска в /etc/rc.local и поправить /etc/sudoers (командой visudo), чтобы не спрашивала пароля.
/etc/rc.local это запуск от рута, без запроса пароля.
а ему надо от другого юзера запускать.

Relaxxx
Я предполагаю что в конфиге указывается юзер от которого стартует демон.
И разве Postgresql нету в репозиториях? (установка из реп дает свои +)

Оффлайн pharameer

  • Участник
  • *
  • Сообщений: 109
  • There is no emotion, there is peace.
    • Просмотр профиля
 sht0rm

А кто мешает в rc.local исполнять команду через sudo, который настроить так, чтобы для определенного пользователя не спрашивало пароль?

Оффлайн sht0rm

  • Старожил
  • *
  • Сообщений: 3397
    • Просмотр профиля
sht0rm

А кто мешает в rc.local исполнять команду через sudo, который настроить так, чтобы для определенного пользователя не спрашивало пароль?
Super UserDO
причем тут отдельный пользователь?

Оффлайн Relaxxx

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
В общем сделал.
написал скрипт который запускает postgres
#! /bin/sh
pg_ctl start -D /db
а дальше его запускаю от имени пользователя postgres вот таким вот образом
sudo start-stop-daemon --start --chuild postgres --exec /мой_скриптВсе замечательно работает. пароль не спрашивает, можно теперь эту команду свободно запихнуть в /etc/rc.local. Можно уже и запретить входить в систему пользователю postgres
sudo usermod -s /bin/false postgresТеперь остался последний штрих, сделать скрипт в /etc/init.d/ чтобы можно было бы быстро и удобно запускать, останавливать, перегружать пострес.
И остался, собственно, один маленький вопрос:
можно ли записать эту комманду
sudo start-stop-daemon --start --chuild postgres --exec /мой_скриптчтобы вместо файла скрипта указать сам скрипт, пробовал в кавычки ставить, в апострофы. не помогает.
хочется одной строкой записать, что-то типа такого
sudo start-stop-daemon --start --chuild postgres --exec 'pg_ctl start -D /db'

Оффлайн sht0rm

  • Старожил
  • *
  • Сообщений: 3397
    • Просмотр профиля
https://help.ubuntu.com/community/PostgreSQL
зачем пытаться дышать через задницу?

Оффлайн Relaxxx

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
https://help.ubuntu.com/community/PostgreSQL
зачем пытаться дышать через задницу?
запем что в репах нет последней версии и мне нужно собрать postgres с определенными параметрами.

Оффлайн sht0rm

  • Старожил
  • *
  • Сообщений: 3397
    • Просмотр профиля
https://help.ubuntu.com/community/PostgreSQL
зачем пытаться дышать через задницу?
запем что в репах нет последней версии и мне нужно собрать postgres с определенными параметрами.
Воля Ваша. Ubuntu тем и хороша, что большую часть работы напильника уже сделано за Вас.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
sht0rm
А кто мешает в rc.local исполнять команду через sudo, который настроить так, чтобы для определенного пользователя не спрашивало пароль?
Super UserDO
причем тут отдельный пользователь?

$ sudo --help
usage: sudo [-n] -h | -K | -k | -L | -V | -v
usage: sudo -l[l] [-AnS] [-g groupname|#gid] [-U username] [-u username|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHnPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u username|#uid] [-g groupname|#gid] [VAR=value] [-i|-s]
            [<command>]
usage: sudo -e [-AnS] [-C fd] [-g groupname|#gid] [-p prompt] [-u username|#uid] file ...

sudo может подменить владельца процесса на того, кого ей указали. Это не обязательно root.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн sht0rm

  • Старожил
  • *
  • Сообщений: 3397
    • Просмотр профиля
wl, да знаю что может, только зачем такой костыль в систему лепить?

 

Страница сгенерирована за 0.047 секунд. Запросов: 23.