набор разрешений в папке UNIX неправильно передается в общий ресурс NFS

у нас есть общий ресурс NFS, где папка в unix монтируется на сервер Windows NFS. даже после установки разрешения на 775 на unix-машине для какой-то папки. То же самое не отражается, когда файлы создаются в этой папке каким-либо процессом Java.

Итак, у нас есть папка типа /nobackup/stream на машине unix, смонтированной на сервере nfs.

разрешение на машине unix ls -ald /nobackup/stream rwxrwxr-x группа владельцев

у нас есть процесс автоматизации записи журналов результатов и подкаталогов в потоковую папку по какой-то странной причине файлы создаются с разрешения

rwxr-xr-x группа владельцев

т.е. доступа на запись в группу нет.

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

Первоначально подозреваемым был umask

поэтому мы устанавливаем umask на 0002 в процессе perl, который запускает автоматизацию, которая не помогла

Files.mkdir используется для записи файла

здесь разрешение posix правильное, umask правильный, но новые файлы не создаются с правильным разрешением

также обратите внимание, что автоматизация работает под оболочкой cygwin, если это вызывает проблемы

Как я могу убедиться, что права доступа к файлам всегда установлены правильно


person Rahul Kumar    schedule 13.12.2017    source источник


Ответы (1)


Проблема в том, что автоматика работает в cygwin. Эти файлы по-прежнему записываются клиентом Windows NFS, который понятия не имеет, как интерпретировать разрешения, установленные в cygwin.

Вам необходимо установить разрешения по умолчанию в клиенте Windows NFS. Вы можете сделать это из командной строки с помощью nfsadmin. Что-то типа:

nfsadmin client [ComputerName] fileaccess=664

Источник: https://technet.microsoft.com/en-us/library/cc754304(v=ws.11).aspx

person Mike Andrews    schedule 20.12.2017