Это для академических целей. Я ищу хороший вариант, когда студенты могут войти в систему, используя имя пользователя и пароль, и я могу отслеживать, что делают студенты. Студентам следует давать только оболочку bash. Я хочу ограничить доступ учащегося к той же учетной записи. Это для того, чтобы дать задание по программированию группе студентов. Основные требования

  1. Студенты не имеют права использовать чужую учетную запись
  2. Я должен убедиться, что все они вошли в систему
  3. Им нужно получить доступ только к оболочке

Какие доступны хорошие варианты. У меня есть доступ к Debian GNU/Linux во всех системах

3 ответа3

1

1. Студенты не имеют права использовать чужую учетную запись

Вам будет трудно заставить студентов не делиться учетными данными аутентификации друг с другом, если вы не используете что-то вроде биометрии. Даже физические токены могут передаваться от одного человека другому. Увы, вы не можете этого гарантировать.

2. Я должен убедиться, что все они вошли в систему

Вы можете убедиться, что каждая учетная запись вошла в систему, используя что-то вроде last -n1 | grep 'still logged in'. Процессный учет также может быть осуществимым подходом, в зависимости от ваших конкретных потребностей.

3. Им нужно получить доступ только к оболочке

Это не было бы особенно полезно, так как это означает, что они не могут сделать что-то тривиальное, как получить список каталогов (/bin/ls), редактор, записать текст в файл (/bin/cat - > filename), попробовать их решения в заданиях, которые вы им даете (что подразумевает выполнение интерпретатора или компилятора, компоновщика и конечного исполняемого файла).

Что в вашей среде исключает возможность предоставления каждому учащемуся обычной учетной записи пользователя с доступом к стандартным инструментам? Если вам не нужен графический интерфейс в системе, вы можете либо не устанавливать X, либо предоставлять только непривилегированный SSH-доступ с отключенной переадресацией X. Но если ваша цель состоит в том, чтобы ограничить, например, доступ в Интернет, обратите внимание, что существует довольно много текстовых веб-браузеров, и, если они достаточно мотивированы, можно запустить такой процесс, используя относительно простое программное обеспечение с использованием легкодоступных (и часто необходимых) модулей. ,

0

Чтобы запретить учащимся использовать друг друга, это можно сделать, просто отправив свои тесты. Например, я попрошу их, чтобы в конце теста они выполняли определенную команду (в основном подготовленный вами скрипт) внутри своего рабочего каталога. Этот сценарий может зашифровать и архивировать их рабочий каталог; отправить его вам по электронной почте или просто сохранить в каком-то секретном месте. Сценарий также должен удалить рабочий каталог студента после подачи. Таким образом, даже если кто-то использует учетную запись другого лица, он не может получить работу любым способом.

Что касается мониторинга их логинов, я буду использовать who и последний.

Для доступа только к Shell вы можете запустить машину / сервер linux, которые они будут использовать, на уровне runlevel 3 . Вы также можете изменить tweak /usr/bin/startx и ваши сценарии DM, чтобы запретить их запуск, даже если кто-то попытался запустить их вручную. Например, я закомментирую все строки в startx и добавлю одну строку в конец echo "You are not allowed to start X during the exam. This incident have been reported ..." .

0

Для мониторинга, почему бы просто не взглянуть на файл каждого пользователя .bash_history ? Вы можете очистить / заархивировать его при входе в систему, если вам нужно регистрировать отдельные сессии.

Что касается проверки того, кто вошел в систему, у вас есть w и last в вашем распоряжении.

Для доступа «только для оболочки» вы можете убедиться, что sshd настроен, и дать им команду подключиться, используя PuTTY.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .