Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Celsus

Пользователь


Сообщения: 142
Благодарности: 11

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 0.png
(134.4 Kb, 13 просмотров)
Тип файла: png 1.png
(41.7 Kb, 7 просмотров)
Тип файла: png 2.png
(45.7 Kb, 7 просмотров)
Тип файла: png 3.png
(40.8 Kb, 8 просмотров)

Сделал картинки, чтобы понятнее объяснить причину моего непонимания работы прав доступа в Windows 7.

Обратите внимание на картинку 0 - права не унаследованы от другой папки. В конце я объясню, почему оставил только группу Администраторы.

Примечание: галочки "чтение разрешений" и "смена владельца" я не ставил, чтобы не было путаницы.

Картинка 1
Создан элемент разрешения, в котором 5 галок соответствуют набору "Чтение и выполнение".
Результат. Файл нельзя записать (перезаписать старую версию новой), но множно переименовать и удалить.

Картинка 2
Сделан реверс. Стоявшие галочки "Разрешить" убраны, а там, где не было галочек "Запретить", галочки "Запретить" поставлены (кроме последних двух - чтения разрешений и смены владельца)
Результат. Во вкладке дополнительно "Элемент разрешения" типа "Разрешить" пропал, на его месте появился "элемент разрешения" типа "Запретить". Файл нельзя открыть. Потому что пропали явные разрешения?

Картинка 3
К галочкам с Картинки 2 добавил галочки с Картинки 1.
Результат. Файл снова можно открыть, но нельзя перезаписать. И... его снова можно переименовать и удалить. Почему??? Я не убирал явные запреты на удаление и дозапись, которые на Картинке 2. Каким образом разрешения из Картинки 1 отменяют запрет на переименование и удаление?

Еще один момент, который мне непонятен. Если оставить только запреты из Картинки 2, но добавить группу Пользователи и указать в ней хотя бы 1 ЛЮБОЕ разрешение, файл снова можно будет переименовать и удалить.

Каак сделать так, чтобы файл можно было читать и выполнять, но нельзя было переименовать и удалить. Интересует, как этого добиться не только обычными средствами (вкладкой безопасности), но и с помощью xcacls, subinacl и icacls. С icacls дела не имел, но в xcacls и subinacl можно менять файлы выборочно по типу, например, изменить права доступа для всех файлов с разрешением *.txt в папке или подпапках.

Tima182, На системные папки менять доступ не нужно, иначе перестанет работать система.
Для обычных папок можно использовать xcacls (скопировать файлв в папку Windows/system32) - она нужна для работы из-под командной строки.
Примерно так:
xcacls c:\*.txt /e /t /p "Имя пользователя":доступ
список доступов можно посмотреть, набрав в командной строке xcacls /?

Ключ /t - обрабатываются также подкаталоги и файлы в них
Ключ /e означает, что существующая запись только редактируется - добавляются группы и/или пользователи к уже имеющимся в записи). Если ключа /e нет, то прежние списки пользователей удаляются.
Ключ /p удаляет все "галочки" доступа (разрешений или запретов), ставя только те, что указаны в команде. В этом его отличие от ключа /g, который добавляет "галочки" доступа (разрешений или запретов), которые указаны в команде, к уже имеющимся.
Если в имени пользователя есть пробел, нужно заключить его в двойные кавычки.
*.txt - означает, что обработаются все файлы с таким расширением. Но если нужно обработать только папки с подпапками и файлами в них, то просто указать путь к папке.
Еще раз повторю, что системный диск лучше не трогать вообще.
Если не выходит сменить разрешение, станьте владельцем папки или файла. Поможет subinacl (копировать в windows/system32)
subinacl /file c:\1.txt /perm /grant=Имя_пользователя=права
/perm отменяет все прежние разрешения (чистит список, чтобы создать его по новой)
/file - применяется для файлов и папок. Чтобы узнать, что может subinacl, лучше внимательно посмотреть документацию, хотя могут все равно остаться вопросы.

Чтобы убедиться, что все сделано без ошибок, в файле bat в конце напишите pause, чтобы окошко не закрывалось после выполнения команд.

-------
Cowboy Bebop


Отправлено: 18:33, 02-09-2011 | #235