Назад | Перейти на главную страницу

Папка Windows, смонтированная в Unix, не может касаться чего-либо 'разрешение запрещено'

У меня есть система Windows, работающая с centos внутри виртуального ящика vm.

У меня есть каталог, которым я поделился в Windows и смонтированный из centos в fstab, например:

//<ip address>/head_build  /mnt/company-build  cifs  user,uid=0,gid=0,rw,auto,exec,suid,username=uname,password=pword,iocharset=utf8 0 0

В подпапке у меня есть сценарий. Если я попытаюсь запустить его, я получу ошибку 'bad interpreter', который, как мне кажется, можно исправить с помощью dos2unix.

Однако я не могу ничего сделать с этим сценарием. dos2unix говорит Failed to open output temp file: Permission denied.

chmod и chown также говорят, что в разрешении отказано. lsattr говорит 'Inappropriate ioctl for device while reading flags'.

Редактировать: Я вошел в систему как root на машине centos. Общая папка в Windows предоставила доступ всем, чтобы делать все (пользователь из монтирования также имеет разрешения на папку в Windows).

Изменить 2: Я пробовал добавить file_mode = 777, dir_mode = 777 (как предлагается в комментариях), а также umask = 777 и noperm (думал, что это сделает), но не повезло.

Изменить 3: Пообщавшись с S19N, я согласен, что проблема, похоже, на стороне сервера монтирования, то есть в окнах. Но общая папка имеет все разрешения, о которых я могу думать. Есть ли какой-то секретный соус для получения разрешений на выполнение от монтирования cifs в Windows?

Изменить 4: Вот результат calcs для каталога, которым я поделился в Windows:

c:\company\builds\head>cacls build
c:\company\builds\head\build computer-name\uname:(OI)(CI)F
                            BUILTIN\Administrators:F
                            BUILTIN\Administrators:(OI)(CI)(IO)F
                            NT AUTHORITY\SYSTEM:F
                            NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
                            Everyone:(OI)(CI)F

Казалось бы, это показывает, что эта папка при подключении допускает все разрешения.

Изменить 5: Основываясь на комментарии Джима, я проверил net session, на окне окна, чтобы увидеть, что я был подключен, как от крепления. Когда я попытался запустить команду net session с моей учетной записью uname (той, которую я использую для монтирования), мне было отказано в доступе.

Когда я использовал run as administrator, Я увидел, что обращаюсь к монтированию с учетной записью uname. Я отключил UAC в учетной записи uname (UAC - это система в Windows 7, которая спрашивает вас, хотите ли вы разрешить выполнение определенных действий). Это фактически позволило запустить учетную запись uname net session без ошибок.

Однако учетная запись uname по-прежнему не может ничего делать с монтированием: touch: cannot touch 'test': Permission denied

Изменить 6: Я просто активировал настоящую учетную запись администратора в окне Windows (как описано Вот) и использовал его как пользователя для монтирования. Думал, что сойдет. Тем не менее получить разрешение запрещено изнутри крепления.

По прихоти я также попытался запустить виртуальную машину из учетной записи администратора. Та же проблема.

Спасибо!

Какими кажутся права доступа к файлам (и родительским каталогам) из Linux?

Попробуйте добавить file_mode=777 и dir_mode=777 к вашим параметрам: если сервер не поддерживает расширения CIFS Unix, это отменяет режим файла по умолчанию или режим по умолчанию для каталогов.

Также: вы пробовали bash <script>?