У меня есть хост Windows 7 с гостем CentOS 6 под VirtualBox.
У меня есть каталог Windows, который используется совместно с гостем Linux с помощью CIFS.
Пока все работало нормально, пока я не понял, что все chmod
операции дают:
chmod: изменение прав доступа `x ': операция не разрешена
Это понятно, но моя проблема в том, что некоторые инструменты, которые я не могу контролировать, пытаются получить chmod
файлы для меня и в результате дают сбой.
Можно ли разрешить, но игнорировать все chmod()
вызовы при монтировании CIFS? Обратите внимание, что эти вызовы выполняются из языка программирования, а не из chmod
утилиты командной строки .
Редактировать: руководство для mount.cifs говорит (подчеркните мое):
Основной протокол CIFS не предоставляет информацию о владельце Unix или режим для файлов и каталогов. Из-за этого файлы и каталоги, как правило, будут принадлежать тем значениям, которые установлены в параметрах uid = или gid =, и для них будут установлены разрешения по умолчанию file_mode и dir_mode для монтирования. Попытка изменить эти значения с помощью chmod / chown вернет успех, но безрезультатно.
Это именно то поведение, за которым я следую, так почему же это не работает для меня?
chmod()
. @ernie Выручает, когда права доступа к файлу (пытаются быть изменены), и не завершается.chmod()
некоторые файлы. Точная ошибка: извлечение из phar "..." завершилось неудачно: невозможно извлечь "package.xml" в "...", установка прав доступа к файлу не удалась .Ответы:
Нашел его:
noperm
параметр mount делает именно это:Обратите внимание, что
mount -a
параметр не применяется, вы должны перезагрузиться, чтобы он заработал.Мне понадобилось много проб и ошибок, чтобы понять это.
Теперь
chmod
работает нормально, команда не выдает никакой ошибки и просто игнорируется.источник
mount -a
размонтировать и перемонтировать?/etc/fstab
Попробуйте добавить опцию exec. Я считаю, что монтирование от имени пользователя без полномочий root отключит exec.
https://unix.stackexchange.com/questions/34822/is-it-possible-to-enable-execution-of-files-from-a-cifs-mount-in-bash
источник
exec
: операция не разрешена .file_mode=0777
или иначе используя опцию . Я бы предложил установить модуль pear в папку в файловой системе Linux, а затем скопировать его.