2014-01-23 3 views
1

Я дал разрешения на выполнение для файла, а затем сжал в zip-файл в ОС Linux. Затем я переместил этот zip-файл в Windows и снова скопировал его на другой Linux-сервер. На этот раз у меня нет разрешения на выполнение.Сохранение разрешений при копировании из Windows в Linux

Я знаю, что мы можем напрямую копировать файлы и папки с помощью команды scp с Linux, но я также должен позволить пользователю скопировать ее из Windows в Linux.

Пожалуйста, дайте мне знать, как я могу сохранить разрешения при копировании из Windows в Linux.

Спасибо.

ответ

0

Вы не можете. Это разные операционные системы.

1

Это зависит от того, какое приложение фактически выполняет копию.

Но есть серьезные различия между идеей разрешения файлов на Linux/UNIX и Windows. Разрешения на файлы UNIX имеют представление о том, что они «исполняемые», что не является чем-то, что существует в Windows. Файлы Windows отмечаются как исполняемые файловым расширением, а не его разрешениями.

Кроме того, права доступа к файлам в UNIX имеют концепцию владельца группы, и я не думаю, что это существует в Windows, поэтому такая вещь может оказаться невозможной в строгом смысле.

Если вы просто хотите, чтобы права на запись/чтение, назначенные владельцу, были сохранены, он снова будет зависеть от приложения, которое вы используете для копирования.

1

Поскольку ваш исполняемый файл внутри zip-архив, на самом деле не имеет значения, в какой файловой системе вы находитесь или в какой операционной системе вы находитесь. Пока zip-архив не тронут.

Однако, насколько я знаю, zip-архивы не могут отслеживать права доступа к файлам. Вы можете узнать больше об этом здесь: Maintain file and folder permissions inside archives

0

Спасибо за все ваши ответы.

Я нашел 2-решения для моей проблемы:

  1. Я копирующие полный почтовый файл на сервер Linux вместо копирования одного файла. Таким образом, он отлично работает.

  2. Использование cygwin помогает мне копировать файл на сервер Linux, сохраняя разрешения на выполнение.

0

В последнее время вы также можете использовать Linux subsystem for Windows и закрепить файл с помощью команды linux shell. Я успешно сделал это недавно, когда копировал исполняемый файл для AWS из github на мою машину Windows, а затем до Amazon.

Смежные вопросы