2015-02-25

lshell вместо chroot или вместе со chroot часть 1


Есть в принципе 2 варианта заsecurityтся что касается ssh доступа к серверу
первый заключается в установке шела для ограничения прав пользователя
Но он позволяет шарится по каталогам через sftp если sftp опция включена

И так, только для ssh входа что бы потом попасть в свой контейнер можно настроить один lshell. Сделать это можно так:

sudo apt-get install lshell
sudo adduser --uid 3001 --home /home/chroot/idima --shell /usr/bin/lshell idima


Затем правим конфиг и разрешаем/запрещаем пользователю, что надо

grep -v \# /etc/lshell.conf
[global]
logpath         : /var/log/lshell/
loglevel        : 2
[default]
allowed         : ['ls','ssh','cd','ll']
forbidden       : [';', '&', '|','`','>','<', '$(', '${']
warning_counter : 2
aliases         : {'ll':'ls -lah', 'vim':'rvim'}
intro           : "== Мой персональный интро ==\nWelcome to lshell\nВводим '?' или 'help' для вывода команд которые мона делать"
prompt          : "%u@%h"
sftp            : 0
strict          : 1

[idima]
allowed : ['ssh','tar']
forbidden : [';', '&','`','$(', '${']

Я слегка дополнил разрешения что бы пользователь мог заходить в контейнеры

Вкрадце о директивах
allowed - разрешены
warning_counter - количество запрещенных действий, перед тем как пользователя выкинет из терминала (должен быть включен strict)
timer - тайм-аут до выкидывания из терминала
path - куда ещё можно ходить помимо хомки
allowed_cmd_path - где разрешено запускать исполняемые файлы
scp - запретить/разрешить scp
sftp - запретить/разрешить sftp (Писал о нюансах в начале статьи)
overssh - Список разрешенных команд, для отправки их через ssh


При необходимости можно подмапить каталоги для доступа пользователя
mount /var/www /home/idima/www -o bind

Продолжение

Комментариев нет:

Отправить комментарий