[Chapter 19] 19.6 Win32::FileSecurity
Author: Ellen Siever, Stephen Spainhour & Nathan Patwardhan
Date: 1999-07-02T01:59:22Z

#

| Chapter 19 Win32 Modules and Extensions |

## 19.6 Win32::FileSecurity

The Win32::FileSecurity module allows you to work with NT File System (NTFS) file permissions. File permissions are stored as Discretionary Access Control Lists (DACLs) for each file or directory. These lists contain a bitmask specifying the permission rights for users on the file or directory. This module implements a DACL as a permissions hash in which each key is a username and the value is the bitmask for the permissions.

The FileSecurity module exports the following constants to describe user permissions:

>     ACCESS_SYSTEM_SECURITY     READ or R
>     CHANGE or C                SPECIFIC_RIGHTS_ALL
>     DELETE                     STANDARD_RIGHTS_ALL
>     FULL or F                  STANDARD_RIGHTS_EXECUTE
>     GENERIC_ALL                STANDARD_RIGHTS_READ
>     GENERIC_EXECUTE            STANDARD_RIGHTS_REQUIRED
>     GENERIC_READ               STANDARD_RIGHTS_WRITE
>     GENERIC_WRITE              SYNCHRONIZE
>     MAXIMUM_ALLOWED            WRITE_DAC
>     READ_CONTROL               WRITE_OWNER

Using the `constant` function on one of these constants gives its value, and bitmasks or multiple permissions settings can be made by supplying a list of these constants to the `MakeMask` function.

The functions exported by the Win32::FileSecurity module are:

- constant
- EnumerateRights
- Get
- MakeMask
- Set

19.5 Win32::File |  | 19.7 Win32::Internet