Skip to main content

Python 3.5 Python 3.6 Python 3.7 Coverage

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.

Release files for veil-aio-au 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for veil-aio-au 0.1.4
File Size Uploaded
veil-aio-au-0.1.4.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for veil-aio-au 0.1.4
File Interpreter ABI Platform
veil_aio_au-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / veil-aio-au-0.1.4.tar.gz

Download URL veil-aio-au-0.1.4.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
29d982b011bb5192ea900212d8ce445bb7388d77b54e80f299d2670eaf91672f
BLAKE2b-256 checksum
How to use checksums
4fd06c0f21aa7892c8789595d5fb9d398e6ab61388f690098b1e658ea60e667b
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / veil_aio_au-0.1.4-py3-none-any.whl

Download URL veil_aio_au-0.1.4-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d88a97561ad3fb53ea8585d76588b2783d2808889d3eae5020c5b30fd5af4afe
BLAKE2b-256 checksum
How to use checksums
fc6f6045f1e932f9aa1bd14a7f9b2f283dadc96835583bf9a4da0f6d1081887b
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page