Я хотел бы создать учетную запись пользователя на Windows Server, которая может читать любые биты C:\
он должен иметь возможность выполнять программы, но не иметь доступа для чтения D:\
кроме D:\Special
.
Кажется, что единственный разумный способ добиться первого - сделать этого пользователя частью Users
группа. К сожалению, это также дает пользователю доступ для чтения ко всем D:\
. Если я добавлю правило запрета для D:\
Однако это правило распространяется и на D:\Special
, и кажется, что это невозможно изменить по дизайну.
Есть ли способ сделать то, что я хочу, а именно "обычный" Users
доступ к C:\
, но на D:\
нет доступа кроме доступа для чтения к D:\Special
?
Ваш контент на D: \ не должен быть доступен «Пользователям», поскольку вновь созданный пользователь помещается в эту группу по умолчанию. Просто удалите записи «Пользователи» и «Все» из D: \ и всех подкаталогов - сделайте не используйте ACE типа «запретить», поскольку они фактически будут запрещать доступ всем, кто является членом «Users», даже если пользователю в противном случае был бы предоставлен доступ другими определенными ACE.
Есть ли способ сделать то, что я хочу, а именно "обычный" доступ пользователей к C: \, а к D: \ нет доступа, кроме доступа для чтения к D: \ Special?
Это зависит от ваших требований. Технически пользователю не требуются какие-либо разрешения, предоставленные родительскому каталогу для доступа к подкаталогу. Но если вам нужно, чтобы пользователь мог выполнять навигацию по щелчку мыши через проводник Windows, очевидно, будет проблемой, если родительский каталог не может быть указан. Ваши варианты здесь:
D:\special
и удалите доступ для D: \, затем создайте там ярлык, сопоставление или символическую ссылку, чтобы пользователю не приходилось перемещаться по D: \ для доступа special
D:\special
и предоставить разрешение «Список содержимого папки» только соответствующему пользователю / группе без наследства. Таким образом, пользователь сможет перечислить весь каталог, но не сможет открывать файлы или подкаталоги.Если имена файлов или каталогов в D: \ не раскрывают что-то конфиденциальное, следует предпочесть второй подход, поскольку он более «органичен» и лучше соответствует ожиданиям пользователя и программиста приложения.
Изменить: поскольку TomTom выражает некоторые опасения по поводу того, является ли метод №1 действительно собираюсь работать, вот короткая демонстрация экрана из моей системы Windows (извините, вывод на немецком языке, но, тем не менее, идея должна быть очевидна)
C:\Users\denis>mkdir server
C:\Users\denis>mkdir server\fault
C:\Users\denis>echo "test" > server\fault\text.txt
C:\Users\denis>cacls server /d denis
Sind Sie sicher (J/N)?j
Bearbeitetes Verzeichnis: C:\Users\denis\server
C:\Users\denis>dir server
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: C4CB-6B0E
Verzeichnis von C:\Users\denis\server
Datei nicht gefunden
C:\Users\denis>dir server\fault
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: C4CB-6B0E
Verzeichnis von C:\Users\denis\server\fault
17.12.2011 21:08 <DIR> .
17.12.2011 21:08 <DIR> ..
17.12.2011 21:08 9 text.txt
1 Datei(en), 9 Bytes
2 Verzeichnis(se), 14.307.930.112 Bytes frei
C:\Users\denis>type server\fault\text.txt
"test"
Есть ли способ сделать то, что я хочу, а именно доступ «обычных» пользователей к C: \, а к D: \ нет доступа, кроме доступа для чтения к D: \ Special?
Нет, потому что для доступа к D: \ Special необходим доступ к D: \. Тот, кто придумал эту идею, перед планированием оставил свой здравый смысл за дверью.
Это просто невозможно и не имеет ничего общего с окнами - это то же самое в любой иерархической файловой системе. Папка в другой папке недоступна без доступа к корневой папке.