ssh_chroot_jail
Ansible роль ssh_chroot_jail
Простое управление SSH chroot jail.
GitHub | Версия | Проблемы | Запросы на слияние | Скачивания |
---|---|---|---|---|
Пример Плейбука
Этот пример взят из molecule/default/converge.yml
и тестируется при каждом пуше, запросе на слияние и релизе.
---
- name: Свести воедино
hosts: all
become: true
vars:
ssh_chroot_l2chroot_path: /usr/bin/l2chroot
ssh_chroot_jail_users:
- name: foo
home: /home/foo
shell: /bin/bash
roles:
- role: buluma.ssh_chroot_jail
Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml
:
---
- name: Подготовка
hosts: all
become: yes
gather_facts: no
roles:
- role: buluma.bootstrap
Также смотрите полное объяснение и пример о том, как использовать эти роли.
Переменные роли
Значения по умолчанию для переменных указаны в defaults/main.yml
:
---
ssh_chroot_jail_path: /var/jail
ssh_chroot_jail_group_name: ssh_jailed
ssh_chroot_jail_users: []
ssh_chroot_jail_dirs:
- bin
- dev
- etc
- lib
- lib64
- usr/bin
- usr/lib
- usr/lib64
- home
# может включать тип: c, b, p
# c = символьное устройство (буферизованное) [по умолчанию]
# b = блочное устройство (буферизованное)
# p = FIFO устройство
# все остальное может привести к ошибкам с mknod или systemd-tmpfiles
ssh_chroot_jail_devs:
- {dev: 'null', major: '1', minor: '3'}
- {dev: 'random', major: '5', minor: '0'}
- {dev: 'urandom', major: '1', minor: '5'}
- {dev: 'zero', major: '1', minor: '8'}
ssh_chroot_tmpfiles_conf_path: /etc/tmpfiles.d/ssh-chroot.conf
ssh_chroot_bins:
- /bin/cp
- /bin/sh
- /bin/bash
- /bin/ls
- /bin/rm
- /bin/cat
- /bin/grep
- /bin/sed
- /bin/chmod
- /bin/chown
- /bin/ed
- /bin/nano
- /usr/bin/tail
- /usr/bin/head
- /usr/bin/awk
- /usr/bin/wc
- /usr/bin/sort
- /usr/bin/uniq
- /usr/bin/cut
- /usr/bin/scp
- /usr/bin/tee
- /usr/bin/touch
- /usr/bin/vim
- /usr/bin/vi
- /usr/bin/dircolors
- /usr/bin/tput
- /usr/bin/free
- /usr/bin/top
- /usr/bin/find
- bin: /usr/bin/which
l2chroot: false
- /usr/bin/id
- /usr/bin/whoami
- /usr/bin/groups
# Также можно установить режим, например, для установки setuid или других разрешений.
# - bin: /bin/ping
# mode: 4755
ssh_chroot_l2chroot_template: l2chroot.j2
ssh_chroot_l2chroot_path: /usr/local/bin/l2chroot
ssh_chroot_copy_extra_items:
- /etc/hosts
- /etc/passwd
- /etc/group
- /etc/ld.so.cache
- /etc/ld.so.conf
- /etc/nsswitch.conf
ssh_chroot_sshd_chroot_jail_config: |
Match group {{ ssh_chroot_jail_group_name }}
ChrootDirectory {{ ssh_chroot_jail_path }}
X11Forwarding no
AllowTcpForwarding no
ssh_chroot_jail_dirs_recurse: true
Требования
- Пакеты pip, перечисленные в requirements.txt.
Состояние используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
Требование | GitHub | Версия |
---|---|---|
buluma.bootstrap |
Контекст
Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль была протестирована на следующих контейнерных образах:
контейнер | теги |
---|---|
Debian | все |
Ubuntu | все |
Kali | все |
Минимальная версия Ansible, необходимая для работы, составляет 2.12, тесты проводились на:
- Предыдущей версии.
- Текущей версии.
- Разработческой версии.
Если вы обнаружите проблемы, пожалуйста, зарегистрируйте их на GitHub
История изменений
Лицензия
Информация о авторе
ansible-galaxy install buluma/ansible-role-ssh_chroot_jail