Назад | Перейти на главную страницу

Ошибка разрешений при попытке сбросить Redis в общую папку Vagrant

Я продолжаю получать ошибку разрешений при попытке сбросить файл Redis .rdb в мою бродячую общую папку. Сохранения работают нормально при переходе в расположение по умолчанию / var / lib / redis.

Несколько вещей, которые я пробовал (предлагалось на различных форумах / обсуждениях):

1) добавляем в /etc/init.d/redis-server следующее:

USER=vagrant
GROUP=vagrant

2) Изменение флага umask на 022 в /etc/init.d/redis-server

3) Открытие разрешений для самой бродячей общей папки.

Я почти уверен, что это просто выходит из моей головы и что я делаю что-то не так. Но потратил на это 2 или 3 часа и начинаю терять волосы;)

На сервере Ubuntu 13.04 (Raring-Ringtail) вам необходимо изменить файл /etc/init.d/redis-server. Найдите следующие два раздела, которые нужно изменить:

...

start)
  echo -n "Starting $DESC: "
  mkdir -p $RUNDIR
  touch $PIDFILE
  chown redis:redis $RUNDIR $PIDFILE  # <---- Old Line
  chown vagrant:vagrant $RUNDIR $PIDFILE # <---- New Line

...

  # <-- Old Line
  if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS
  # <-- New Line
  if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid vagrant:vagrant --exec $DAEMON -- $DAEMON_ARGS

...

В основном вы ищете экземпляры текстовых строк redis: redis (владелец / группа) и заменяете их эквивалентными строками vagrant: vagrant.

Если вы запускали redis-сервер хотя бы один раз под пользователем redid по умолчанию, вам также придется сменить владельца каталога журнала на пользователя-бродягу, иначе сервер redis не перезапустится.

chown -R vagrant:vagrant /var/log/redis

После перезапуска сервера redid вы сможете создать дамп в папку / vagrant, выполнив:

redis-cli save

Вы используете здесь виртуальный бокс в качестве провайдера или что-то еще. если виртуальный бокс, какова среда хоста?

Это может помочь показать нам сообщение об ошибке, которое вы получаете, или (лучше) точку в выводе strace, где происходит сбой. Мне интересно, что именно за неудавшаяся операция. Открываете файл? Получение блокировки?