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

a POSIX ACL encapsulation

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.

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 64 of file kacl.cpp.

◆ KACL() [2/4]

KACL::KACL ( const KACL rhs)

Copy ctor.

Definition at line 87 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 70 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 82 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 573 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 441 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 631 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 267 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 129 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 118 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 302 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 537 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 347 of file kacl.cpp.

◆ othersPermissions()

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

Definition at line 248 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 210 of file kacl.cpp.

◆ owningGroupPermissions()

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

Definition at line 229 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 610 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 596 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 523 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 330 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 562 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 430 of file kacl.cpp.

◆ setOthersPermissions()

bool KACL::setOthersPermissions ( unsigned short  v)

Set the permissions entry for others.

Returns
success or failure

Definition at line 257 of file kacl.cpp.

◆ setOwnerPermissions()

bool KACL::setOwnerPermissions ( unsigned short  v)

Set the owner's permissions entry.

Returns
success or failure

Definition at line 219 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 238 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-2023 The KDE developers.
Generated on Tue Oct 3 2023 03:50:17 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.