У меня есть встроенный видеосервер linux, который я только что закончил. Одна из особенностей заключается в том, что у меня есть telnet-сервер, а также getty, привязанный к порту rs232, в который пользователь может войти, чтобы вызвать несколько программ, которые я написал для целей конфигурации сервера. Это задумано как бэкдор для пользователей, если по какой-то причине разработанный мной SDK не работает, или они только что купили сервер и не имеют программиста, который мог бы использовать SDK. Также есть веб-интерфейс, но что бы там ни было, в спецификации сказано, что он мне нужен.
Так, например, я написал программу под названием getIp, которая позволяет пользователю получать настройки сети, и setIp, которая позволяет им устанавливать IP. У меня есть похожая программа или сценарий для каждой функции, которую уже выполняет мой API на основе .NET.
Однако я не хочу, чтобы они могли запускать какие-либо программы, кроме этих. то есть я даже не хочу, чтобы ls или cd работали. Я бы дал им имя пользователя, скажем «admin», для входа в сеанс. Вопрос в том, как установить эти ограничения?
Напишите программу, которая предоставляет пользователям только те параметры, которые вы им хотите. Сделайте эту программу оболочкой для пользователей, под которыми они входят.