Rudiments
|
Static Public Member Functions | |
static bool | setFilePermissions (const char *filename, mode_t perms) |
static bool | setFilePermissions (int32_t fd, mode_t perms) |
static mode_t | evalPermString (const char *permstring) |
static char * | evalPermOctal (mode_t mode) |
static mode_t | everyoneReadWrite () |
static mode_t | everyoneReadWriteExecute () |
static mode_t | ownerRead () |
static mode_t | ownerWrite () |
static mode_t | ownerExecute () |
static mode_t | ownerReadWrite () |
static mode_t | ownerReadExecute () |
static mode_t | ownerReadWriteExecute () |
static mode_t | groupRead () |
static mode_t | groupWrite () |
static mode_t | groupExecute () |
static mode_t | groupReadWrite () |
static mode_t | groupReadExecute () |
static mode_t | groupReadWriteExecute () |
static mode_t | othersRead () |
static mode_t | othersWrite () |
static mode_t | othersExecute () |
static mode_t | othersReadWrite () |
static mode_t | othersReadExecute () |
static mode_t | othersReadWriteExecute () |
static mode_t | saveInSwapSpace () |
static mode_t | setUserId () |
static mode_t | setGroupId () |
Permissions are access priveleges. Files, directories, semaphores and shared memory segments all have permissions associated with them.
There are 3 types of permissions: read, write and execute.
These permissions can be granted to: 1. The user that owns the object. 2. Other users in the group of the user that owns the object. 3. All other users.
The execute permission has 2 modifications which can be applied to it: 1. Set user id - the program will run as the user that owns it instead of as the user that ran it 1. Set group id - the program will run as the group that owns it instead of as the group of the user that ran it
The "sticky bit" may also be set. When set, the file is saved in the system's swap space. As a side-effect, it cannot be deleted by a user other than the one that created it.
static char* permissions::evalPermOctal | ( | mode_t | mode | ) | [static] |
FIXME: document this
static mode_t permissions::evalPermString | ( | const char * | permstring | ) | [static] |
Return a permission defined in "permstring".
"permstring" should be the same format as displayed by the "ls -l" command.
The first 3 characters set permissions for the owner. The next 3 characters set permissions for the group. The next 3 characters set permissions for all others.
For example: rwxr-xr-x : read/execute for everyone and write for the owner rw-rw-r-- : read for everyone and write for the owner and owner's group rw-r--r-- : read for everyone and write for the owner rwsr-sr-x : read/execute for everyone, write for the owner and run as the user/group that owns the file rw-rw-rwt : read/write for everyone, and save the file in swap space
static mode_t permissions::everyoneReadWrite | ( | ) | [static] |
Returns rw-rw-rw- (666) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::everyoneReadWriteExecute | ( | ) | [static] |
Returns rwxrwxrwx (777) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::groupExecute | ( | ) | [static] |
Returns -----x--- (010) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::groupRead | ( | ) | [static] |
Returns ---r----- (040) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::groupReadExecute | ( | ) | [static] |
Returns ---r-x--- (050) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::groupReadWrite | ( | ) | [static] |
Returns ---rw---- (060) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::groupReadWriteExecute | ( | ) | [static] |
Returns ---rwx--- (070) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::groupWrite | ( | ) | [static] |
Returns ----w---- (020) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::othersExecute | ( | ) | [static] |
Returns --------x (001) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::othersRead | ( | ) | [static] |
Returns ------r-- (004) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::othersReadExecute | ( | ) | [static] |
Returns ------r-x (005) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::othersReadWrite | ( | ) | [static] |
Returns ------rw- (006) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::othersReadWriteExecute | ( | ) | [static] |
Returns ------rwx (007) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::othersWrite | ( | ) | [static] |
Returns -------w- (002) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::ownerExecute | ( | ) | [static] |
Returns --x------ (100) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::ownerRead | ( | ) | [static] |
Returns r-------- (400) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::ownerReadExecute | ( | ) | [static] |
Returns r-x------ (500) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::ownerReadWrite | ( | ) | [static] |
Returns rw------- (600) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::ownerReadWriteExecute | ( | ) | [static] |
Returns rwx------ (700) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::ownerWrite | ( | ) | [static] |
Returns -w------- (200) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::saveInSwapSpace | ( | ) | [static] |
Returns --------t permissions.
May be or'ed together with the result of another method to define a permission.
static bool permissions::setFilePermissions | ( | int32_t | fd, |
mode_t | perms | ||
) | [static] |
Set the permissions on the file associated with file descriptor "fd" to "perms".
Returns true on success and false on failure.
static bool permissions::setFilePermissions | ( | const char * | filename, |
mode_t | perms | ||
) | [static] |
Set the permissions on "filename" to "perms".
Returns true on success and false on failure.
static mode_t permissions::setGroupId | ( | ) | [static] |
Returns -----s--- (g+s) permissions.
May be or'ed together with the result of another method to define a permission.
static mode_t permissions::setUserId | ( | ) | [static] |
Returns --s------ (u+s) permissions.
May be or'ed together with the result of another method to define a permission.