Скрипт rsync работает на CentOS 7, тот же скрипт не работает на RHEL 7

В отличие от обычных хэшей, хэши паролей должны использовать «соль» и должны быть медленными (обычно за счет повторения )для предотвращения получения хэша злоумышленником (es )от простого восстановления пароля (s ). См. canonical на security.SX и многие связанные с ним.

Оригинальный крипт 1970-х годов (3 ), теперь для ясности называемый DEScrypt,(слегка )соленый:

salt is a two-character string chosen from the set [a-zA-Z0-9./]. This string is used to perturb the algorithm in one of 4096 different ways.

Несколько более новая схема MD5crypt переработана и переработана, но не соответствует современным стандартам. Обе эти и некоторые из лучших схем, которые заменили их в Unix (es ), подробно описаны в https://en.wikipedia.org/wiki/Crypt_%28C%29.

0
06.05.2020, 13:17
1 ответ

Я посоветовал вам включить отчет об ошибках в файл журнала /tmp/errors, добавив новую команду во вторую строку. Немного расширив это, мы получаем эту модификацию, которая фиксирует ожидаемый вывод и непредвиденные ошибки в один файл,/tmp/output:

#!/bin/sh -ex
exec >/tmp/output 2>&1

#source folder
portal=/mnt/<server_IP>/portal/wso2telcohub-3.0.2/repository/deployment/server/synapse-configs/default/
...

В производственной среде можно записать в более определенный файл журнала или даже использовать системный журнал(man loggerдля получения подробной информации ).

Флаг оболочки -eвызывает его выход, как только он выполняет команду, которая возвращает не -статус успеха (не -нулевой код выхода ). Журнал ошибок будет фиксировать выходные данные, сгенерированные в результате любой ошибки, сразу после выхода из оболочки. Флаг -xпозволяет отслеживать -также в файле журнала.

В комментарии вы определили, что«внутри /varнет каталога rsync для RHEL 7 ».

Итак, причина, по которой ваш сценарий не работает на RHEL 7, заключается в том, что вы не создали этот каталог, который требуется сценарию. Сценарий пытается записать в /var/rsync/.rsync.lock, но не может этого сделать, поскольку родительский каталог не существует.

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

1
28.04.2021, 23:16

Теги

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