KACL

Search for usage in LXR

#include <KACL>

Public Member Functions

 KACL ()
 
 KACL (const KACL &rhs)
 
 KACL (const QString &aclString)
 
 KACL (mode_t basicPermissions)
 
ACLGroupPermissionsList allGroupPermissions () const
 
ACLUserPermissionsList allUserPermissions () const
 
QString asString () const
 
mode_t basePermissions () const
 
bool isExtended () const
 
bool isValid () const
 
unsigned short maskPermissions (bool &exists) const
 
unsigned short namedGroupPermissions (const QString &name, bool *exists) const
 
unsigned short namedUserPermissions (const QString &name, bool *exists) const
 
bool operator!= (const KACL &rhs) const
 
KACLoperator= (const KACL &rhs)
 
bool operator== (const KACL &rhs) const
 
unsigned short othersPermissions () const
 
unsigned short ownerPermissions () const
 
unsigned short owningGroupPermissions () const
 
bool setACL (const QString &aclStr)
 
bool setAllGroupPermissions (const ACLGroupPermissionsList &)
 
bool setAllUserPermissions (const ACLUserPermissionsList &list)
 
bool setMaskPermissions (unsigned short)
 
bool setNamedGroupPermissions (const QString &name, unsigned short)
 
bool setNamedUserPermissions (const QString &name, unsigned short)
 
bool setOthersPermissions (unsigned short)
 
bool setOwnerPermissions (unsigned short)
 
bool setOwningGroupPermissions (unsigned short)
 

Protected Member Functions

virtual void virtual_hook (int id, void *data)
 

Detailed Description

The KACL class encapsulates a POSIX Access Control List.

It follows the little standard that couldn't, 1003.1e/1003.2c, which died in draft status.

a POSIX ACL encapsulation

Author
Till Adam adam@.nosp@m.kde..nosp@m.org

Definition at line 37 of file kacl.h.

Constructor & Destructor Documentation

◆ KACL() [1/4]

KACL::KACL ( const QString & aclString)

Creates a new KACL from aclString.

If the string is a valid acl string, isValid() will afterwards return true.

Definition at line 62 of file kacl.cpp.

◆ KACL() [2/4]

KACL::KACL ( const KACL & rhs)

Copy ctor.

Definition at line 85 of file kacl.cpp.

◆ KACL() [3/4]

KACL::KACL ( mode_t basicPermissions)

Creates a new KACL from the basic permissions passed in basicPermissions.

isValid() will return true, afterwards.

Definition at line 68 of file kacl.cpp.

◆ KACL() [4/4]

KACL::KACL ( )

Creates an empty KACL.

Until a valid acl string is set via setACL, isValid() will return false.

Definition at line 80 of file kacl.cpp.

Member Function Documentation

◆ allGroupPermissions()

ACLGroupPermissionsList KACL::allGroupPermissions ( ) const

Returns the list of all group permission entries.

Each entry consists of a name/permissions pair. This is a QPair, therefore access is provided via the .first and .next members.

Returns
the list of all group permission entries.

Definition at line 571 of file kacl.cpp.

◆ allUserPermissions()

ACLUserPermissionsList KACL::allUserPermissions ( ) const

Returns the list of all group permission entries.

Each entry consists of a name/permissions pair. This is a QPair, therefore access is provided via the .first and .next members.

Returns
the list of all group permission entries.

Definition at line 439 of file kacl.cpp.

◆ asString()

QString KACL::asString ( ) const

Return a string representation of the ACL.

Returns
a string version of the ACL in the format compatible with libacl and POSIX 1003.1e. Implementations conforming to that standard should be able to take such strings as input.

Definition at line 629 of file kacl.cpp.

◆ basePermissions()

mode_t KACL::basePermissions ( ) const
Returns
the basic (owner/group/others) part of the ACL as a mode_t

Definition at line 265 of file kacl.cpp.

◆ isExtended()

bool KACL::isExtended ( ) const

The interface to the extended ACL.

This is a mask, permissions for n named users and permissions for m named groups. Return whether the ACL contains extended entries or can be expressed using only basic file permissions.

Returns
whether the ACL contains extended entries

Definition at line 127 of file kacl.cpp.

◆ isValid()

bool KACL::isValid ( ) const

Returns whether the KACL object represents a valid acl.

Returns
whether the KACL object represents a valid acl.

Definition at line 116 of file kacl.cpp.

◆ maskPermissions()

unsigned short KACL::maskPermissions ( bool & exists) const

Return the entry for the permissions mask if there is one and sets exists to true.

If there is no such entry, exists is set to false.

Returns
the permissions mask entry

Definition at line 300 of file kacl.cpp.

◆ namedGroupPermissions()

unsigned short KACL::namedGroupPermissions ( const QString & name,
bool * exists ) const

Access to the permissions entry for a named group, if such an entry exists.

If exists is non-null, the boolean variable it points to is set to true if a matching entry exists and to false otherwise.

Returns
the permissions for a group with the name in name

Definition at line 535 of file kacl.cpp.

◆ namedUserPermissions()

unsigned short KACL::namedUserPermissions ( const QString & name,
bool * exists ) const

Access to the permissions entry for a named user, if such an entry exists.

If exists is non-null, the boolean variable it points to is set to true if a matching entry exists and to false otherwise.

Returns
the permissions for a user entry with the name in name

Definition at line 345 of file kacl.cpp.

◆ operator!=()

bool KACL::operator!= ( const KACL & rhs) const

Definition at line 111 of file kacl.cpp.

◆ operator=()

KACL & KACL::operator= ( const KACL & rhs)

Definition at line 93 of file kacl.cpp.

◆ operator==()

bool KACL::operator== ( const KACL & rhs) const

Definition at line 101 of file kacl.cpp.

◆ othersPermissions()

unsigned short KACL::othersPermissions ( ) const
Returns
the permissions entry for others

Definition at line 246 of file kacl.cpp.

◆ ownerPermissions()

unsigned short KACL::ownerPermissions ( ) const

The standard (non-extended) part of an ACL.

These map directly to standard unix file permissions. Setting them will never make a valid ACL invalid.

Returns
the owner's permissions entry

Definition at line 208 of file kacl.cpp.

◆ owningGroupPermissions()

unsigned short KACL::owningGroupPermissions ( ) const
Returns
the owning group's permissions entry

Definition at line 227 of file kacl.cpp.

◆ setACL()

bool KACL::setACL ( const QString & aclStr)

Sets the whole list from a string.

If the string in aclStr represents a valid ACL, it will be set, otherwise the ACL remains unchanged.

Returns
whether setting the ACL was successful.

Definition at line 608 of file kacl.cpp.

◆ setAllGroupPermissions()

bool KACL::setAllGroupPermissions ( const ACLGroupPermissionsList & groups)

Replace the list of all user permissions with list.

If one of the entries in the list does not exists, or setting of the ACL entry fails for any reason, the ACL will be left unchanged.

Returns
success or failure

Definition at line 594 of file kacl.cpp.

◆ setAllUserPermissions()

bool KACL::setAllUserPermissions ( const ACLUserPermissionsList & list)

Replace the list of all user permissions with list.

If one of the entries in the list does not exists, or setting of the ACL entry fails for any reason, the ACL will be left unchanged.

Returns
success or failure

Definition at line 521 of file kacl.cpp.

◆ setMaskPermissions()

bool KACL::setMaskPermissions ( unsigned short v)

Set the permissions mask for the ACL.

Permissions set for individual entries will be masked with this, such that their effective permissions are the result of the logical and of their entry and the mask.

Returns
success or failure

Definition at line 328 of file kacl.cpp.

◆ setNamedGroupPermissions()

bool KACL::setNamedGroupPermissions ( const QString & name,
unsigned short permissions )

Set the permissions for a group with the name name.

Will fail if the group doesn't exist, in which case the ACL be unchanged.

Returns
success or failure.

Definition at line 560 of file kacl.cpp.

◆ setNamedUserPermissions()

bool KACL::setNamedUserPermissions ( const QString & name,
unsigned short permissions )

Set the permissions for a user with the name name.

Will fail if the user doesn't exist, in which case the ACL will be unchanged.

Returns
success or failure.

Definition at line 428 of file kacl.cpp.

◆ setOthersPermissions()

bool KACL::setOthersPermissions ( unsigned short v)

Set the permissions entry for others.

Returns
success or failure

Definition at line 255 of file kacl.cpp.

◆ setOwnerPermissions()

bool KACL::setOwnerPermissions ( unsigned short v)

Set the owner's permissions entry.

Returns
success or failure

Definition at line 217 of file kacl.cpp.

◆ setOwningGroupPermissions()

bool KACL::setOwningGroupPermissions ( unsigned short v)

Set the owning group's permissions entry.

Returns
success or failure

Definition at line 236 of file kacl.cpp.

◆ virtual_hook()

void KACL::virtual_hook ( int id,
void * data )
protectedvirtual

Definition at line 674 of file kacl.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Oct 11 2024 12:11:14 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.