KACL Class
a POSIX ACL encapsulation. More...
Header: | #include <KACL> |
CMake: | find_package(KF6 REQUIRED COMPONENTS KIO) target_link_libraries(mytarget PRIVATE KF6::KIOCore) |
Public Functions
KACL() | |
KACL(const QString &aclString) | |
KACL(mode_t basicPermissions) | |
KACL(const KACL &rhs) | |
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 |
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) |
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.
Member Function Documentation
KACL::KACL()
Creates an empty KACL. Until a valid acl string is set via setACL, isValid() will return false.
KACL::KACL(const QString &aclString)
Creates a new KACL from aclString. If the string is a valid acl string, isValid() will afterwards return true.
KACL::KACL(mode_t basicPermissions)
Creates a new KACL from the basic permissions passed in basicPermissions. isValid() will return true, afterwards.
KACL::KACL(const KACL &rhs)
Copy ctor
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.
See also setAllGroupPermissions().
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.
See also setAllUserPermissions().
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.
mode_t KACL::basePermissions() const
Returns the basic (owner/group/others) part of the ACL as a mode_t
bool KACL::isExtended() const
Return whether the ACL contains extended entries or can be expressed using only basic file permissions.
bool KACL::isValid() const
Returns whether the KACL object represents a valid acl.
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
See also setMaskPermissions().
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
See also setNamedGroupPermissions().
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
See also setNamedUserPermissions().
unsigned short KACL::othersPermissions() const
Returns the permissions entry for others
See also setOthersPermissions().
unsigned short KACL::ownerPermissions() const
Returns the owner's permissions entry
See also setOwnerPermissions().
unsigned short KACL::owningGroupPermissions() const
Returns the owning group's permissions entry
See also setOwningGroupPermissions().
bool KACL::setACL(const QString &aclStr)
Sets the whole list from a string. If the string in @p aclStr represents a valid ACL, it will be set, otherwise the ACL remains unchanged. Returns whether setting the ACL was successful.
bool KACL::setAllGroupPermissions(const ACLGroupPermissionsList &)
Replace the list of all user permissions with @p 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
See also allGroupPermissions().
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
See also allUserPermissions().
bool KACL::setMaskPermissions(unsigned short)
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
See also maskPermissions().
bool KACL::setNamedGroupPermissions(const QString &name, unsigned short)
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.
See also namedGroupPermissions().
bool KACL::setNamedUserPermissions(const QString &name, unsigned short)
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.
See also namedUserPermissions().
bool KACL::setOthersPermissions(unsigned short)
Set the permissions entry for others. Returns success or failure
See also othersPermissions().
bool KACL::setOwnerPermissions(unsigned short)
Set the owner's permissions entry. Returns success or failure
See also ownerPermissions().
bool KACL::setOwningGroupPermissions(unsigned short)
Set the owning group's permissions entry. Returns success or failure
See also owningGroupPermissions().