A package to show and set windows files permissions
Project description
Pyicacls
A package for simple Windows ACL management, much like the windows icacls binary. This package can run both on UNIX machines and Windows machines.
How to use?
For regular IT purposes you can use the script attached in the example folder.
python examples/icacls.py -h
usage: icacls.py [-h] --ip IP --user USER [--password PASSWORD] [--domain DOMAIN] [--share SHARE] --file-path FILE_PATH [--target-user TARGET_USER]
[--permissions PERMISSIONS]
optional arguments:
-h, --help show this help message and exit
--ip IP ip of the target pc
--user USER user name to authenticate with
--password PASSWORD password to authenticate with (empty for interactive typing)
--domain DOMAIN domain of the user (empty for local workgroup)
--share SHARE share name to connect to
--file-path FILE_PATH
file path to view / change permissions
--target-user TARGET_USER
target user to change his permission
--permissions PERMISSIONS
permissions to change in the format of <permission char>,<permission char>. example: R,W
For creating automated scripts and other advanced tasks you can use the PermissionsGetter and PermissionsSetter.
To view permissions
from pyicacls.getter import PermissionsGetter
s = PermissionsGetter('127.0.0.1', 'MyPc', 'MyUsername', 'MyPassword', 'MyDomain')
s.get_permissions('share', 'file.txt')
Example output:
Owner: Home
Group: Domain Users
Dacl's: Guest:(R):(W)(X)
Administrator:(R)(D):(W)(X)
Martin:(I):(R)(w)(D):(F)
Everyone:(I):(R)(w)(D):(F)
To set permissions
from pyicacls.setter import PermissionsSetter
s = PermissionsSetter('127.0.0.1', 'MyPc', 'MyUsername', 'MyPassword', 'MyDomain')
s.set_permissions('share', 'file.txt', 'Guest', 'R,W')
The output for this operation will be bool - whether the operation succeeded or not.
To remove permissions
Simply pass None
for the permissions
parameter of the set_permissions
function.
s.set_permissions('share', 'file.txt', 'Guest', None)
This will remove all permissions of the user Guest
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyicacls-1.1.2.tar.gz
.
File metadata
- Download URL: pyicacls-1.1.2.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1ee0593eb39ba6322c29ed26f5b23aa69902db1152a6f11c8ea8db866d9d194 |
|
MD5 | 15b8aee7d24a29b1d65182fea0bffd69 |
|
BLAKE2b-256 | 0a9d0211e01e0636e9196d9d1c9ae428abc904e9056b1be4ee9b446ee70ced50 |
File details
Details for the file pyicacls-1.1.2-py3-none-any.whl
.
File metadata
- Download URL: pyicacls-1.1.2-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f5277ca84b44681e0f1bbe172a5fc510974aa2ccb87efab9f11dcfed962e542 |
|
MD5 | 28fc508f28afdf0825e9ee4cbef24c21 |
|
BLAKE2b-256 | 4e04f959b91f108311cd22c6ae98e002352ab2f02eba9f43e0a8d2139cbde2f1 |