VeiL asyncio linux authentication utils.
Project description
veil-aio-au
Установка
Проект доступен в PyPi, можете воспользоваться поддерживаемым пакетным менеджером, например, pip
pip install veil-aio-au
Использование
Команды для запуска на системе
Настоятельно не рекомендуется использовать напрямую системные команды, т.к. для корректной работы требуется возможность запуска команды с sudo без подтверждения пароля. В качестве примера в разделе bash размещены bash-скрипты с интерфейсами вызова.
Настройки
Учитывая особенности вызова команд, предусмотрена дополнительная валидация аргументов и исполняемых команд. Если пользовательский ввод исключен, можно отключить валидацию аргументов параметром validate.
Перечень аргументов
task_timeout: время ожидания выполнения команд (5 сек по умолчанию)
user_add_cmd: полный путь до команды создания пользователя (например, adduser)
group_add_cmd: полный путь до команды создания группы (например, addgroup)
user_edit_cmd: полный путь до команды редактирования пользователя (например, usermod)
user_set_pass_cmd: полный путь до команды задания пароля (например, chpasswd)
user_check_in_group_cmd: полный путь до команды проверки нахождения в группе (например, id -Gn)
user_remove_group_cmd: полный путь до команды удаления из группы (например, gpasswd -d)
sudo_cmd: полный путь до команды sudo (например, /usr/bin/sudo). Если пустой - команды запускаются без доп.префикса sudo.
kill_cmd: полный путь до команды которой будут завершаться процессы (например, kill). Обязателен в случае заполнения sudo_cmd, может быть пустым.
validate: включить или отключить дополнительную валидацию аргументов (вкл по умолчанию)
show_stdout: выводить stdout для процессов или нет. (выкл по умолчанию)
#### Примеры
```
auth_class = VeilAuthPam(task_timeout=5,
user_add_cmd='bash/adduser_bi.sh',
group_add_cmd='bash/addgroup_bi.sh',
user_edit_cmd='bash/edituser_bi.sh',
user_set_pass_cmd='bash/set_pass_bi.sh',
user_check_in_group_cmd='bash/check_in_group_bi.sh',
user_remove_group_cmd='bash/remove_user_group_bi.sh',
sudo_cmd='/bin/sudo'
)
auth_result = await auth_class.user_authenticate(username='user', password='qqq')
# >>> return code: 7, msg: Authentication failure
create_result = await auth_class.user_create_new(username='user', password='qwe123')
# >>> return code: 0, msg: None
create_result = await auth_class.user_create_new(username='user; /bin/rm -rf /home/devalv/tmp', password='peka')
# >>> return code: 1, msg: Unknown arguments: /bin/rm
check_in_group_result = await auth_class.user_in_group('devalv', 'vdi-web-admin', use_sudo=False)
# >>> True
# Disable as_sudo class attr for user_create_new cmd.
create_result = await auth_class.user_create_new(username='user', password='qwe123', as_sudo=False)
# On default system you`ll need to run cmd with sudo prefix.
# >>> return code: 1, msg: sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
```
### Документация
Готовые примеры можно посмотреть в main.py репозитория, более подробное доступна через help, например,
help(VeilAuthPam.user_authenticate).
### Запуск тестов
### Сборка
rm -rf dist/ build/ && python setup.py sdist bdist_wheel
## Как принять участие в проекте
Сделайте форк, внесите свои изменения в отдельной ветке, внесите свои изменения, запустите тесты и разместите PR/MR.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file veil-aio-au-0.1.4.tar.gz.
File metadata
- Download URL: veil-aio-au-0.1.4.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.5.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29d982b011bb5192ea900212d8ce445bb7388d77b54e80f299d2670eaf91672f
|
|
| MD5 |
61bbd39c6e849e5524b8c611ed2efae6
|
|
| BLAKE2b-256 |
4fd06c0f21aa7892c8789595d5fb9d398e6ab61388f690098b1e658ea60e667b
|
File details
Details for the file veil_aio_au-0.1.4-py3-none-any.whl.
File metadata
- Download URL: veil_aio_au-0.1.4-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.5.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d88a97561ad3fb53ea8585d76588b2783d2808889d3eae5020c5b30fd5af4afe
|
|
| MD5 |
fd4f9f19d139851aa9f365ff11cd6d98
|
|
| BLAKE2b-256 |
fc6f6045f1e932f9aa1bd14a7f9b2f283dadc96835583bf9a4da0f6d1081887b
|