Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процедура регистрации и ее безопасность




 

После окончания загрузки операционной системы процесс init запускает несколько экземпляров процесса getty (get tty – получить терминал), обслуживающего физические консоли либо псевдотерминалы. О терминалах и терминальном режиме будет рассказано ниже. Действия этого процесса во многом определяются объявлением и значениями параметров в конфигурационном файле /etc/login.defs. Далее описываются действия, выполняемые программой по умолчанию.

Пользователь по приглашению процесса getty вводит свое регистрационное имя. Getty в свою очередь запускает дочерний процесс login, передавая ему имя учетной записи в качестве аргумента. Программа проверяет файл /etc/passwd на предмет наличия соответствующей учетной записи, но не информирует пользователя об ошибках. Сделано это, по-видимому, для того, чтобы не позволить злоумышленнику точно определить имена зарегистрированных пользователей и тем самым облегчить проникновение в систему. Если проверка идентификатора и пароля прошла неудачно, управление будет возвращено программе getty, которая вновь запросит регистрацию в консоли.

Поиск имен производится в первых полях учетных записей файла /etc/passwd до первого совпадения. Если введенное имя пользователя совпадает с учетным, а второе поле найденной записи окажется пустым, читаются идентификаторы UID и GID в третьем и четвертом полях, после чего аутентификация считается успешно завершенной. Login запускает процесс командной оболочки, указанный в последнем поле соответствующей строки файла /etc/passwd, и передает ей управление. Командный интерпретатор /bin/bash использует сценарии /etc/profile, .bash_profile, .bash_login, .profile в домашнем каталоге пользователя (если такие файлы существуют) и выводит предусмотренное настройками приветствие пользователю с приглашением для ввода команд. Обычно у носителя нулевого UID последним символом в строке приглашения является #, а для всех остальных пользователей выводится символ $. Если администратор считает этот признак демаскирующим, он может изменить строку приглашения командой

export PS1=...

либо переписать переменную окружения PS1 в сценарии /etc/profile или в одном из конфигурационных файлов ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bash_logout.

При совпадении имен и наличии во втором поле установленного признака пароля :х: программа login запрашивает у пользователя пароль. Если учетное имя не совпадает, либо во втором поле присутствует иной символ, либо пароль оказался неверным, пользователь извещается о некорректной попытке входа в систему. После некоторой паузы программа login вновь предложит посетителю зарегистрироваться. Количество повторов, а также тайм-аут на ввод пароля устанавливаются в файле /etc/login.defs. При исчерпании числа повторов посетителю необходимо перезагрузить операционную систему, однако на персональном компьютере с эмуляцией нескольких терминалов ничто не мешает ему комбинацией клавиш <Alt+Fn> переключиться в иную виртуальную консоль и продолжить попытки входа.

Вводимый пароль контрольными маркерами на экране не сопровождается, что заставляет пользователя быть внимательным и лишает случайного очевидца возможности узнать длину пароля. Последовательность символов пароля кратковременно фиксируется только в памяти процесса login, а клавиатурный буфер очищается. После завершения ввода и нажатия <Enter> вызывается функция криптопреобразования, а ее результат сравнивается с содержимым второго поля учетной записи, расположенной в файле /etc/shadow. При совпадении двух хэш-значений – вычисленного и эталонного – аутентификация считается успешно завершенной. Программа login вызывает командную оболочку и передает ей управление. Что характерно – при отсутствии в 7-м поле учетной записи имени командного интерпретатора он все равно будет загружен. Эксперименты показывают, что для успешной аутентификации учетная запись пользователя в /etc/passwd должна содержать как минимум первые четыре первых поля: символьный идентификатор, признак пароля, UID и GID, а в /etc/shadow – два первых поля.

Иногда в процессе отладки системы у администратора может возникнуть потребность временно запретить регистрацию новых пользователей. Это можно сделать, создавая файл /etc/nologin. Содержимое этого файла значения не имеет, он даже может быть пустым. Такой файл создается командой

touch /etc/nologin

Пока существует этот файл, ни один новый пользователь, кроме администратора, не сможет войти в систему. Как только необходимость запрета доступа пропадет, администратор должен удалить этот файл.

Результат будет зависеть от используемого загрузчика операционной системы и параметров, установленных в его конфигурационном файле. Так, описанный в [3, 13] доступ осуществляется в ходе стандартной загрузки компьютера с использованием штатного загрузчика LILO и конфигурационного файла lilo.conf. Приглашение к прерыванию загрузки пользователем предусмотрено в lilo.conf в параметре prompt. Приглашению к вводу команды выглядит так

LILO:

Во время тайм-аута необходимо успеть нажать любую клавишу. После этого система остановит загрузку и будет ожидать окончания ввода. Неверно введенный символ можно исправить. Далее следует ввести такую команду

linux init=/bin/bash

При этом вместо процесса /sbin/init запускается командная оболочка с полномочиями администратора. Значительная часть процессов еще не запущена, а файловая система доступна только для чтения. В таком режиме файлы с учетными записями модификации не подлежат. Поэтому далее в командной строке предлагается ввести следующую команду

mount –o remount,rw /

С ее помощью корневой каталог файловой системы перемонтируется в режиме для чтения и записи. Более полные сведения о возможностях монтирования файловых систем будут приведены ниже.

После этого можно редактировать файл паролей, например, с помощью редактора vi:

vi /etc/passwd

После завершения нельзя сразу перезагружать компьютер. Требуется восстановить исключительный режим чтения:

mount –o remount,ro /

После перезагрузки утилита fsck обнаружит неполадки в файловой системе и устроит ее внеплановую проверку, после которой, скорее всего, автоматически перезагрузит систему. После перезагрузки можно войти в систему без пароля.

Загрузчик GRUB (GRand Unified Bootloader) имеет собственный текстовый редактор, который может заменить интерпретатор команд. Перейти в режим редактирования конфигурационного файла системного загрузчика можно с помощью команды e. После этого в окно загрузчика будет выведено несколько строк подобного типа:




Поделиться с друзьями:


Дата добавления: 2015-03-31; Просмотров: 337; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.