Это команда lshell, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
lshell - Ограниченная оболочка
СИНТАКСИС
лшелл [ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ]
ОПИСАНИЕ
лшелл предоставляет ограниченную оболочку, настраиваемую для каждого пользователя. Конфигурация сделана довольно
просто используя файл конфигурации. В сочетании с ssh авторизованные_ключи или с / etc / shells
и / И т.д. / пароль , становится очень легко ограничить доступ пользователя к ограниченному набору
команда.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
--config
Укажите файл конфигурации
--бревно
Укажите каталог журнала
-
куда это * любой * параметр файла конфигурации
-час, --Помогите
Показать справочное сообщение
--версия
Показать версию
КОНФИГУРАЦИЯ
Вы можете настроить lshell через его конфигурационный файл:
On Linux -> /etc/lshell.conf
On * BSD -> / usr /{pkg, local} /etc/lshell.conf
лшелл Конфигурация имеет 4 типа секций:
[Глобальный] -> лшелл система конфигурация (только 1)
[дефолт] -> лшелл по умолчанию пользователь конфигурация (только 1)
[фу] -> UNIX username "фу" конкретный конфигурация
[grp: bar] -> UNIX имя группы "бар" конкретный конфигурация
Порядок приоритета при загрузке настроек следующий:
1- Информация о пользователе конфигурация
2- группы конфигурация
3- По умолчанию конфигурация
[Глобальный]
путь к журналу
путь к конфигурации (по умолчанию / var / log / lshell /)
уровень журнала
0, 1, 2, 3 или 4 (0: нет журналов -> 4: регистрирует все)
имя файла журнала
- установлен в системный журнал чтобы войти в системный журнал
- установить имя файла журнала, например% u-% y% m% d (например, foo-20091009.log): %u -> имя пользователя
%d -> день [1..31]
%m -> месяц [1..12]
%y -> год [00..99]
%h -> время [00: 00..23: 59]
имя системного журнала
если вы используете системный журнал, укажите свое имя журнала (по умолчанию: lshell)
include_dir
включить каталог, содержащий несколько файлов конфигурации. Эти файлы могут только
содержат конфигурацию по умолчанию / пользователя / группы. Глобальная конфигурация будет только
загружается из файла конфигурации по умолчанию. Эта переменная будет расширена (например,
/путь/*.conf).
[дефолт] и / или [Имя пользователя] и / или [grp: groupname]
псевдонимы
список псевдонимов команд (аналогично директиве alias в bash)
разрешено
список разрешенных команд или установите значение 'all', чтобы разрешить все команды в PATH пользователя
разрешенный_cmd_path
список путей; все исполняемые файлы внутри этого пути будут разрешены
env_path
обновить переменную окружения $ PATH пользователя (необязательно)
env_vars
установить переменные среды (необязательно)
запрещенный
список запрещенных символов или команд
файл_истории
установить имя файла истории. Можно использовать подстановочный знак:
%u -> имя пользователя (например, '/Главная/% u / .lhistory ')
история_размера
установить максимальный размер (в строках) файла истории
домашний_путь (Устаревшее)
установите домашнюю папку вашего пользователя. Если не указано, домашний каталог установлен на
переменная окружения $ HOME. Эта переменная будет удалена в следующей версии
lshell, используйте инструменты вашей системы, чтобы задать домашний каталог пользователя. А
может использоваться подстановочный знак:
%u -> имя пользователя (например, '/Главная/% u ')
введение установить введение для печати при входе в систему
логин_скрипт
определить сценарий для запуска при входе пользователя в систему
ПАРОЛЬ пароль конкретного пользователя (по умолчанию пусто)
путь список путей для географических ограничений пользователя. Можно использовать подстановочные знаки
(например, '/ var / log / ap *').
подсказка установить формат приглашения пользователя (по умолчанию: имя пользователя)
%u -> имя пользователя
%h -> имя хоста
подсказка_short
установить подсказку сортировки обновление текущего каталога - установить 1 или 0 шлёпать список команд
разрешено выполнять через ssh (например, rsync, rdiff-backup, scp и т. д.)
УПП разрешить или запретить использование соединения scp - установить 1 или 0
scpforce
принудительно пересылать файлы через scp в определенный каталог
scp_download
установите 0, чтобы запретить загрузку scp (по умолчанию 1)
scp_upload
установите 0, чтобы запретить загрузку scp (по умолчанию 1)
SFTP разрешить или запретить использование sftp-соединения - установить 1 или 0.
ВНИМАНИЕ: этот параметр не будет работать, если вы используете службу OpenSSH internal-sftp.
(например, при настройке в chroot)
sudo_commands
список разрешенных команд, которые можно использовать с Sudo(8). Если установлено «все», все
"разрешенные" команды будут доступны через Sudo(8).
Можно использовать флаг -u sudo для запуска команды как другого
пользователя, чем корень по умолчанию.
таймер значение в секундах для таймера сеанса
строгий строгость регистрации. Если установлено в 1, любая неизвестная команда считается запрещенной,
и уменьшен счетчик предупреждений пользователя. Если установлено значение 0, команда рассматривается как
unknown, и пользователь получает только предупреждение (т.е. *** unknown synthax)
предупреждение_счетчик
количество предупреждений, когда пользователь вводит запрещенное значение перед выходом из
lshell. Установлен в -1 отключить счетчик и просто предупредить пользователя.
SHELL ВСТРОЕННЫЙ КОМАНДЫ
Вот набор команд, которые всегда доступны в lshell:
Очистить очищает терминал
Помогите, ?
распечатать список разрешенных команд
история
распечатать историю команд
lпуть перечисляет все разрешенные и запрещенные пути
Исудо перечисляет все разрешенные команды sudo
ПРИМЕРЫ
$ лшелл
Пытается запустить lshell, используя по умолчанию $ {PREFIX} /etc/lshell.conf в качестве файла конфигурации.
Если это не удается, выводится предупреждение и lshell прерывается. Параметры lshell:
загружается из файла конфигурации
$ лшелл --config /путь/к/myconf.file --бревно /путь/к/mylog.log
Это переопределит параметры по умолчанию, указанные для конфигурации и / или файла журнала.
ИСПОЛЬЗОВАНИЕ Кейсы
Основная цель lshell заключалась в том, чтобы иметь возможность создавать учетные записи оболочки с доступом ssh и
ограничить их среду парой необходимых команд. В этом примере User 'foo' и
Пользователь 'bar' оба принадлежат к UNIX-группе 'users':
Информация о пользователе фу:
- должен иметь доступ / USR и / вар но не / USR / местные
- пользовательская команда all в его PATH, но 'su'
- имеет счетчик предупреждений, установленный на 5
- его домашний путь установлен на '/ home / users'
Информация о пользователе бар:
- должен иметь доступ / и т.д. и / USR но не / USR / местные
- разрешены команды по умолчанию плюс 'ping' минус 'ls'
- строгость установлена на 1 (это означает, что ему не разрешено вводить неизвестную команду)
В этом случае мой файл конфигурации будет выглядеть примерно так:
# КОНФИРАЦИЯ Начать игру
[Глобальный]
путь к журналу : / вар / журнал / lshell /
уровень журнала : 2
[дефолт]
разрешено : ['ls', 'pwd']
запрещенный : [';', '&', '|']
предупреждение_счетчик : 2
таймер : 0
путь : ['/ и т.д.', '/ USR']
env_path : ':/ SBIN:/ usr / bin /'
УПП : 1 # or 0
SFTP : 1 # or 0
шлёпать : ['rsync', 'ls']
псевдонимы : {'ls': 'ls --color = auto ',' ll ':' ls -l '}
[grp: users]
предупреждение_счетчик : 5
шлёпать : - ['ls']
[фу]
разрешено : 'все' - ['su']
путь : ['/ вар', '/ USR'] - ['/ USR / местные']
домашний_путь : '/ главная / пользователи'
[бар]
разрешено : + ['пинг'] - ['ls']
путь : - ['/ USR / местные']
строгий : 1
scpforce : '/ главная / бар / загрузки /'
# КОНФИРАЦИЯ END
ПРИМЕЧАНИЯ
Для записи предупреждений пользователя в каталог журналов (по умолчанию / вар / журнал / lshell /)
вы должны сначала создать папку (если она еще не существует) и передать ее группе lshell:
# Добавить группу --система лшелл
# MkDir / var / log / lshell
# Чаун : lshell / var / log / lshell
# CHMOD 770 / var / log / lshell
затем добавьте пользователя в лшелл группа:
# usermod -аГ лшелл user_name
Чтобы установить lshell в качестве оболочки по умолчанию для пользователя:
On Linux:
# чш -s / usr / bin / lshell user_name
On * BSD:
# чш -s / usr /{pkg, local} / bin / lshell user_name
Используйте lshell в Интернете с помощью сервисов onworks.net