os.access() alternative which can check access for other users
Project description
other_access
other_access
is more flexible implementation of os.access().
While os.access() checks access for current user only, other_access
/ oaccess
can check access for other users/groups. In other words, other_access
will return same result, no matter which user runs it (Supposing current user can os.stat() that file).
For example, root user can use other_access.oaccess(path, os.R_OK, 'www-data')
to ensure files are readable by www-data user.
Limitation
other_access does not supports filesystem ACL.
Install
pip3 install other-access
Usage
other_access(path, mode, uid, gids=None)
- main function. similar to os.access(), but checks for other user (uid
) and list of groups (gids
). User and group id's are integer (not names).
oaccess(path, mode, user, groups)
- wrapper for other_access which takes names for user/groups, converts it to numerical uid/gids and calls other_access(). If groups
is None
, oaccess will use all groups for this user. (specify only main group or empty list to override this)
Examples
Lets use /etc/shadow for example:
-rw-r----- 1 root shadow 1841 Jun 2 04:07 /etc/shadow
import os
from other_access import oaccess
# user root can read and write
assert oaccess('/etc/shadow', os.R_OK | os.W_OK, 'root') == True
# group shadow can read
assert oaccess('/etc/shadow', os.R_OK, 'nobody', ['shadow']) == True
# Other can check existence of file, but cannot read
assert oaccess('/etc/shadow', os.F_OK, 'nobody') == True
assert oaccess('/etc/shadow', os.R_OK, 'nobody') == False
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file other_access-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: other_access-0.0.6-py3-none-any.whl
- Upload date:
- Size: 2.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d584155f7446c22fdab1f85fd001d236df9e87e19d65dde2d97402a91cc8a884 |
|
MD5 | 4e595f6e690ce9aa384fd4144fb74b98 |
|
BLAKE2b-256 | 8af488543e8fc82e73252fbb7d207b5016a64a453060be6df48e93689ebe6d08 |