Используя cygwin и rsync — “файл паролей не должен быть другим - доступный”

У меня есть стандартная функция, в которой я использую bash для этой самой цели:

# Check if we're root and re-execute if we're not.
rootcheck () {
    if [ $(id -u) != "0" ]
    then
        sudo "$0" "$@"  # Modified as suggested below.
        exit $?
    fi
}

Существуют, вероятно, более изящные пути (я записал это Давным-давно!), но это хорошо работает для меня.

Для использования этой функции последовательно в сценарии необходимо передать его аргументы, полученные сценарием первоначально.

Использование: rootcheck "${@}" (rootcheck один не передаст аргументов функции rootcheck),

2
04.02.2013, 16:21
3 ответа

Я смог устранить эту проблему путем изменения password-file строка к следующему:

–password-file=/cygdrive/c/cygwin/secret

1
27.01.2020, 22:23

Удостоверьтесь, что сделали следующее:

1) Режим изменения файла паролей к-rw-------, например, имея файл паролей C:/Custom/syncjob/pwfile в Windows, с помощью Cygwin, переходит к местоположению файла паролей:

CD/cygdrive/c/Custom/syncjob

и затем

chmod 600./pwfile

2) Также измените владение файла паролей пользователю, который выполняет rsync задание, например, 'Dave':

показанный Dave./pw

3) Это могло бы помочь относиться к файлу паролей как - файл пароля =/cygdrive/c/... как Nate записал.

Я не думаю, что необходимо изменить rsync конфигурацию.

Известное обходное решение для Windows должно добавить

<pwfile

в конец команды rsync.

Удачи.

0
27.01.2020, 22:23

Ни одному из вышеупомянутого не помогают. Наконец я нашел, что окончания строки pwfile должны читать следующим образом:

$ od -c pwfile
0000000   s   e   c   r   e   t   s  \n     (Unix)
NOT
0000000   s   e   c   r   e   t   s  \r  \n (Windows)
0
27.01.2020, 22:23

Теги

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