Skip to main content

VeiL asyncio linux authentication utils.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

veil-aio-au-0.1.4.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veil_aio_au-0.1.4-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

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

Hashes for veil-aio-au-0.1.4.tar.gz
Algorithm Hash digest
SHA256 29d982b011bb5192ea900212d8ce445bb7388d77b54e80f299d2670eaf91672f
MD5 61bbd39c6e849e5524b8c611ed2efae6
BLAKE2b-256 4fd06c0f21aa7892c8789595d5fb9d398e6ab61388f690098b1e658ea60e667b

See more details on using hashes here.

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

Hashes for veil_aio_au-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d88a97561ad3fb53ea8585d76588b2783d2808889d3eae5020c5b30fd5af4afe
MD5 fd4f9f19d139851aa9f365ff11cd6d98
BLAKE2b-256 fc6f6045f1e932f9aa1bd14a7f9b2f283dadc96835583bf9a4da0f6d1081887b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page