Сохранить разрешение на чтение с помощью команд tar и copy

291
susik

У меня есть 2 сервера в разных доменах. Я использую 3-й сервер для запуска пакетного скрипта. На всех серверах установлен Cygwin, поэтому я также использую команды оболочки Linux. Все серверы могут общаться друг с другом. Цель: скопировать папку с исходного сервера в место назначения. Поскольку в нем миллион файлов, я собираюсь использовать утилиту tar. Я могу запустить скрипт на 3-м сервере и создать файл tar из исходной папки, скопировать его в папку назначения и разархивировать. Это работает нормально ... за исключением того, что папки и файлы на целевом сервере не могут быть открыты, потому что у меня есть ошибка: доступ запрещен. Я вижу, что файлы не имеют разрешения на чтение. Если я запускаю chmod a + r * для файлов, он работает нормально. Примечание: я использую одного и того же пользователя на всех серверах. Как я могу сохранить доступ на чтение к файлам? Я приложу свою партию позже:

SET SRC1=\\source-server\D$  SET CMD1=pushd %SRC1%  SET SRC2=MyTar\  SET SRC3=result.tar  SET CMD2=tar cfpz %SRC2%%SRC3% %SRC2%  SET DST1=\\destination-server\D$  SET CMD3=copy %SRC2%%SRC3% %DST1% /y  SET CMD4=pushd %DST1%  SET CMD5=tar xfpz %SRC3%   %CMD1%  %CMD2%  %CMD3%  %CMD4%  %CMD5% 
0
У трех пользователей одинаковый SID? Вы можете получить его из `mkpasswd | grep your_user | awk 'BEGIN ; '` matzeri 6 лет назад 0
Ну, я проверил, что 2 сервера, то есть тот, на котором находятся исходные файлы, и тот, на котором я запускаю скрипт, имеют одного и того же пользователя с одинаковым SID. Но пользователь на конечном сервере, то есть там, где я открываю tar-файл, вообще не указан в mkpasswd. susik 6 лет назад 0
Я думаю, что я должен добавить пользователя на целевой сервер, так как mkpasswd не перечисляет его. Может ли кто-нибудь дать подсказку, как добавить пользователя в список mkpasswd? Спасибо susik 6 лет назад 0

0 ответов на вопрос

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