Замените оболочку bash на интерфейс командной строки программы Python - PullRequest
2 голосов
/ 02 марта 2012

У меня есть программа, использующая модуль Python cmd для интерфейсов командной строки.

Теперь я хочу, чтобы он запускался на моем Linux-сервере всякий раз, когда на него заходил обычный пользователь, таким образом, что пользователь никогда не получит приглашение Linux по умолчанию (т. е. он не должен иметь возможность убить программу или отправить ее в фоновый режим или любой другой материал).

Из соображений безопасности программа никогда не должна позволять пользователю получать доступ к обычному приглашению. Пользователь должен всегда использовать командную строку программы для запуска всех команд. (В программу встроены различные фильтры).

Попытался поместить команду выполнения программы в /etc/password (заменив оболочку bash по умолчанию на cmd выполнения программы) для пользователя, а также попытался поместить ее в файл .bashrc users, но безрезультатно; пользователь по-прежнему может получить приглашение по умолчанию для доступа.

Любые указатели для этого могут быть очень полезны.

1 Ответ

1 голос
/ 02 марта 2012

Это, вероятно, принадлежит суперпользователю, но вы должны добавить его в файл /etc/shells и установить для него оболочку входа пользователя.

Например: sudo useradd -d /path/to/newuserhomedir -s /usr/sbin/nologin newusername создаст парня по имени newusername, чья оболочка входа будет программой /usr/sbin/nologin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...