На нашем файловом сервере у нас есть каталог, скажем, S:\
, который распределяется как \\server\share
. Этот общий ресурс монтируется (отображается) нашим сервером приложений, как, скажем, M:\ = \\server\share
Мы используем определенного пользователя Windows, batchUser
, для запуска пакетных процессов в качестве сервера приложений. Эти процессы создают \ изменяют \ и т.д. файлы в этом каталоге (или его подкаталогах), и поэтому этот ID пользователя имеет соответствующие права на запись.
На сервере находится дерево каталогов, содержащее, помимо прочего, каталоги S:\rootDir1\subDir
и S:\rootDir2
. Некоторые из наших процессов пишут в этот каталог. Несколько наших процессов должны читать из этого каталога, но любой ценой нужно запретить запись в этот каталог. Кроме того, эти процессы, доступные только для чтения, также должны работать под тем же идентификатором пользователя.
По различным другим причинам процессы только для чтения получают доступ к этому subDir через соединение, которое установлено на файловом сервере. То есть на файловом сервере существует узел S:\rootDir2\subDir => S:\rootDir1\subDir
. Таким образом, на нашем сервере приложений приложения видят две директории, M:\rootDir1\subDir
и M:\rootDir2\subDir
.
Мы должны убедиться, что процессы RO НЕ изменяют и не записывают в M:\rootDir2\subdir
каким-либо образом. Есть ли способ сделать соединение на файловом сервере «доступным только для чтения»?
Одна из проблем заключается в том, что нам нужно сохранить структуру дерева каталогов для процессов RO. То есть процессы RO должны видеть дерево каталогов M:\rootDir2
виде, в котором оно у нас есть, и иметь возможность записи во все другие каталоги этого дерева, за исключением соединения M:\rootDir2\subdir
.
Наконец, это должно быть сделано с соединениями (которые обрабатываются на стороне файлового сервера), а не с символическими ссылками, которые обрабатываются на стороне сервера приложений. (Это является обязательным требованием из-за других проблем, таких как доступ к каталогам через разные интерфейсные карты, т.е. из разных сетей.)