После многих лет чтения полезных вопросов / ответов о суперпользователе, сегодня моя очередь. Я играю с "lshell", оболочкой linux, написанной на python (lshell на github), которая дает возможность вносить в белый список команды, которые пользователь вводит в консоль. После успешной установки оболочка помещается в
/usr/bin/lshell
С помощью следующей команды
chsh -s /usr/bin/lshell startup
Я изменяю оболочку, чтобы она была активной для пользователя, называемого автозагрузкой. Теперь пользователь запускается и выполняет следующую белую команду
./start.sh
который запускает небольшое Java-приложение, которое может выполнять команды в командной строке. Но теперь приложение может запускать все доступные команды, не заботясь о белом списке. Просто
which bash
через приложение Java возвращается
/bin/bash
в качестве текущей оболочки. Есть ли какой-нибудь возможный способ заставить пользователя войти в оболочку белого списка? Я не думаю, что это проблема с lshell. Я попробовал ту же процедуру с rbash и получил те же результаты.
Заранее спасибо!