1.
Студенты не имеют права использовать чужую учетную запись
Вам будет трудно заставить студентов не делиться учетными данными аутентификации друг с другом, если вы не используете что-то вроде биометрии. Даже физические токены могут передаваться от одного человека другому. Увы, вы не можете этого гарантировать.
2.
Я должен убедиться, что все они вошли в систему
Вы можете убедиться, что каждая учетная запись вошла в систему, используя что-то вроде last -n1 | grep 'still logged in'
. Процессный учет также может быть осуществимым подходом, в зависимости от ваших конкретных потребностей.
3.
Им нужно получить доступ только к оболочке
Это не было бы особенно полезно, так как это означает, что они не могут сделать что-то тривиальное, как получить список каталогов (/bin/ls
), редактор, записать текст в файл (/bin/cat - > filename
), попробовать их решения в заданиях, которые вы им даете (что подразумевает выполнение интерпретатора или компилятора, компоновщика и конечного исполняемого файла).
Что в вашей среде исключает возможность предоставления каждому учащемуся обычной учетной записи пользователя с доступом к стандартным инструментам? Если вам не нужен графический интерфейс в системе, вы можете либо не устанавливать X, либо предоставлять только непривилегированный SSH-доступ с отключенной переадресацией X. Но если ваша цель состоит в том, чтобы ограничить, например, доступ в Интернет, обратите внимание, что существует довольно много текстовых веб-браузеров, и, если они достаточно мотивированы, можно запустить такой процесс, используя относительно простое программное обеспечение с использованием легкодоступных (и часто необходимых) модулей. ,