2

Я копирую простой текстовый файл в гостевую систему Linux на VirtualBox через общие папки, но после копирования виртуальная машина, кажется, думает, что файл является двоичным (он отображается зеленым цветом в ls):

Есть ли способ, которым я могу преобразовать это обратно?

Дистрибутив Linux - SANS SIFT, который, я считаю, работает поверх Ubuntu 14.

3 ответа3

5

Это происходит со мной постоянно, обычно, когда я копирую текстовый файл, сгенерированный в Windows, на свой сервер Linux через сетевой ресурс, управляемый samba на стороне сервера. Хастур прав в комментариях, и Джо Сьюэлл в своем ответе тоже: просто установлен флаг разрешений «исполняемый файл». Мое решение:

chmod u-x,go+r filename

Это делает его неисполнимым для моего пользователя, и читаемым для «группы» и для «других». Часть ,go+r является необязательной, если вам нужен только один доступ к файлу.

РЕДАКТИРОВАТЬ: должно быть возможно изменить поведение samba по умолчанию для этих разрешений. Я не удосужился попытаться выяснить это, но быстрый поиск в Google обнаружил этот пост об ошибке на сервере, который описывает первое, что я бы попробовал:

Обычно я использую встроенную функциональность SAMBA для управления разрешениями и группами на общих ресурсах. Например..

force user=user1
force group=sharedgroup
create mask=775

Вы должны указать эти настройки под общим ресурсом. Обязательно перезагрузите SAMBA после изменения конфигурации, что можно сделать с помощью сценария инициализации.

Основываясь на комментариях к этому вопросу / ответу, существует ряд тонких и специфических настроек, которые должны быть правильно установлены. Боюсь, я не могу помочь в этом отношении.

2

Если вы установили LS_COLORS со значениями по умолчанию (или, по крайней мере, со значениями по умолчанию, которые я видел в RHEL), зеленый цвет имени файла не означает, что он двоичный, только один или несколько исполняемых битов установлены. ls -l должен предоставить вам информацию, необходимую для подтверждения этого. Помните , что в Linux, сценарии оболочки представляют собой текстовые файлы , которые должны быть исполняемым для того , чтобы работать (ну, если вы source их).

0

Я думаю, что вы видите разные атрибуты: исполняемый один x , возможно, теперь у вас есть -rwxrw-r-- . Чтобы быть уверенным, попробуйте из вашей гостевой системы ls -l yourfile и вы увидите, какой атрибут видит ваш файл.

Если это проблема исполняемого набора атрибутов (x) с помощью chmod u-x вы можете решить эту проблему.
Посмотрите на ответ Брайана, чтобы исправить проблему с этими атрибутами чтения и для группы.

Это зависит от того, как вы монтируете общую папку, с какими атрибутами, и, к сожалению, вам придется исправить это снова, в следующий раз.

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

В гостевой системе Linux используйте следующую команду:

mount -t vboxsf [-o OPTIONS] sharename mountpoint

Чтобы смонтировать общую папку во время загрузки, добавьте следующую запись в /etc/fstab:

sharename   mountpoint   vboxsf   defaults  0   0

Рекомендации и примечания:

  • man mount и man fstab для всех опций о том, как монтировать раздел с помощью командной строки и во время загрузки.
  • Virtualbox общей папки по эксплуатации.
  • Старый пост на форуме virtualbox

  • Если вы хотите увидеть, является ли это двоичным файлом, проверьте его с type yourfile , всегда из вашей гостевой системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .