File.SetPermissions

number File.SetPermissions ( string Filename,
string UserSID = SID_EVERYBODY,
number AccessMode = SET_ACCESS,
number Inheritance = SUB_CONTAINERS_AND_OBJECTS_INHERIT )
Примеры

Описание

Устанавливает разрешения файла или папки.

Параметры

Filename

(строка) Полный путь к файлу или папке, чьи разрешения будут устанавливаться.

UserSID

(строка) Идентификатор безопасности SID пользователя или группы, чьи разрешения будут изменены. Можно использовать любое допустимое строковое значение или выбрать из следующих встроенных SID констант:

Совет: Также можно использовать действие System.GetUserSID для получения значения SID от имени пользователя на локальном компьютере.

Примечание переводчика: (SID) (англ. Security Identifier) идентификатор безопасности — структура данных переменной длины, которая идентифицирует учетную запись пользователя, группы, домена или компьютера (в Windows на базе технологии NT (NT4, 2000, XP, 2003, Vista)). SID ставится в соответствие каждой учетной записи в момент её создания. Система оперирует с SID'ами учетных записей, а не их именами. В контроле доступа пользователей к защищаемым объектам (файлам, ключам реестра и т.п.) участвуют также только SID'ы.

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
SID_NULL "S-1-0"НУЛЕВЫЕ права.
SID_NOBODY"S-1-0-0"Никто.
SID_EVERYBODY"S-1-1-0"Любой, группа которая содержит всех пользователей за исключением анонимных на всех системах начиная от Windows XP SP2 и более поздних.
SID_CREATOR_AUTHORITY"S-1-3"Идентификатор прав представляющий права создателя.
SID_CREATOR_OWNER"S-1-3-0"Текущий владелец файлового объекта.
SID_NETWORK"S-1-5-2"Группа содержащая всех пользователей, вошедших в систему с использованием сетевого соединения.
SID_AUTHENTICATED_USERS"S-1-5-11"Группа содержащая всех пользователей, прошедших проверку при входе в систему.
SID_ADMINISTRATORS"S-1-5-32-544"Встроенная группа Администраторы.
SID_USERS"S-1-5-32-545"Встроенная группа Пользователи.
SID_GUESTS"S-1-5-32-546"Встроенная группа Гости.
SID_POWER_USERS"S-1-5-32-547"Встроенная группа Опытные пользователи.
SID_LAUNCH_USER_USER"LaunchUser"Пользователь который запускает установочный файл. Это тот же самый пользователь, чьи данные используются для заполнения начальных пользовательских переменных.

AccessMode

(число) Этот параметр определяет какие разрешения будут применены. Выбор из:

Примечание: Это значение также может быть любым из действующих режимов доступа в перечне ACCESS_MODE: http://msdn.microsoft.com/en-us/library/aa374899(VS.85).aspx

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
NOT_USED_ACCESS0Не используется.
GRANT_ACCESS1Объединяет новые разрешения с уже существующими разрешениями для пользователя или группы.
SET_ACCESS2Устанавливает разрешения для пользователя или группу отменять любую существующую информацию.
DENY_ACCESS3Отклоняет указанные разрешения пользователя, но не переопределяет любые существующие отмененные права.
REVOKE_ACCESS4Удаляет любые существующие привилегии для пользователя или группы.

Permissions

(число) Разрешения, которые будут использоваться действиями. Выберите одно из следующих или укажите своё допустимое значение:

Примечание: Пожалуйста посмотрите: http://msdn.microsoft.com/en-us/library/aa446627(VS.85).aspx для более подробной информации.

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
READ_PERMISSIONS 1179785Разрешения Чтение (Read).
WRITE_PERMISSIONS1179926Разрешения Запись (Write).
EXECUTE_PERMISSIONS538050697Разрешения Чтение (Read) и Выполнение (Execute).
ALL_PERMISSIONS268435456Полное управление разрешениями.
MODIFY_PERMISSIONS1245631Изменение (включая Чтение (Read), Запись (Write), и Выполнение (Execute)) разрешений.
READ_WRITE_PERMISSIONS1180063Разрешения Чтение (Read) и Запись (Write).
READ_WRITE_EXECUTE_PERMISSIONS538050975Разрешения Чтение (Read), Запись (Write), и Выполнение (Execute).

Inheritance

(число) Правила наследования разрешений доступа, которые будут применяться. Выберите или укажите допустимое значение:

Примечание: Пожалуйста посмотрите: http://msdn.microsoft.com/en-us/library/aa446627(VS.85).aspx для более подробной информации.

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
NO_INHERITANCE 0Разрешения не наследуются.
SUB_OBJECTS_ONLY_INHERIT1Наследовать разрешения будут только неконтейнерные объекты.
SUB_CONTAINERS_ONLY_INHERIT2Наследовать разрешения будут только контейнерные объекты.
SUB_CONTAINERS_AND_OBJECTS_INHERIT3Наследовать разрешения будут и объекты, и контейнеры, что содержатся файловыми объектами.
INHERIT_NO_PROPAGATE4Значение определяется корпорацией Microsoft.
INHERIT_ONLY8Значение определяется корпорацией Microsoft.

Возврат

ResultVariable

(число) Если действие успешно, возвращается 0. Если действие неудачно, будет возвращен ненулевой код ошибки, определяемый файлом заголовка WinError.h от Microsoft. Для более подробной информации о возможных кодах ошибки, посмотрите: http://msdn.microsoft.com/en-us/library/ms819772.aspx.
Смотрите также: Связанные действия

Примеры

Пример 1

-- Set the permissions of the file to everyone.
-- Устанавливаем разрешения доступа файла для всех.
strCommonProductFile = Shell.GetFolder(SHF_APPLICATIONDATA_COMMON) .. "\\MyFile.txt";
File.SetPermissions(strCommonProductFile, SID_EVERYBODY, SET_ACCESS, ALL_PERMISSIONS, SUB_CONTAINERS_AND_OBJECTS_INHERIT);
Устанавливаем разрешения файла "MyFile.txt", размещенного в папке общих данных приложений, как разрешение полного доступа для всех.

Пример 2

-- Set the permissions of the product folder in application data common to everyone.
-- Устанавливаем разрешения выходной папки в общих данных приложений для всех.
strCommonProductFolder = Shell.GetFolder(SHF_APPLICATIONDATA_COMMON) .. "\\MyProductFolder";
File.SetPermissions(strCommonProductFolder, SID_EVERYBODY, SET_ACCESS, ALL_PERMISSIONS, SUB_CONTAINERS_AND_OBJECTS_INHERIT);
Устанавливаем разрешения папки "MyProductFolder", размещенной в папке общих данных приложений, как разрешение полного доступа для всех.
Смотрите также: Связанные действия