Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Сергей Яремчук
Операционная система UNIX с самого начала задумывалась простой по устройству и безопасной по содержанию. Простота системы заключается в том, что все, что не видит глаз, является файлами, правда разными по содержанию, но пользователь не видит абсолютно никакой разницы между обычным текстовым файлом и файлом, представляющим собой жесткий диск. Жизнь в систему вдыхают процессы.
Пользователи имеют определенные права доступа, на основании которых решается вопрос о том, может ли процесс, имеющий определенные атрибуты (владелец, группа), открыть файл для работы с ним. Но такое упрощение имеет и свои видимые недостатки. Так, важные системные файлы получаются фактически не защищенными. Почему? Как правило, в грамотно настроенной системе такие файлы может изменять и удалять только суперпользователь. Но хорошо, когда это именно наш системный администратор, а если нет? Я считаю, что взломать аккаунт root в принципе возможно, но есть гораздо более эффективный и быстрый способ получить доступ к системным файлам. Так, известно, что большинство демонов (программ, выполняющих запросы пользователей) имеют установленный SUID/SGID-бит. Сущность его заключается в том, чтобы придать процессу, запущенному от имени обычного пользователя, несколько большие права в системе.
В качестве примера рассмотрим утилиту passwd, которая позволяет изменить пользователю свой пароль. Все учетные записи и пароли (в зашифрованном виде) хранятся в файлах /etc/passwd и /etc/shadow. Если предоставить право каждому пользователю самолично вносить изменения в эти файлы напрямую, то можете представить, что это будет. Естественно, вам никто и не даст такое право.
[sergej@grinder sergej]$ ls -l /etc/passwd /etc/shadow
-rw-r--r-- 1 root root 1628 Авг 13 18:31 /etc/passwd
-r-------- 1 root root 1081 Авг 13 18:31 /etc/shadow
Как видите, все пользователи имеют право только на чтение файла /etc/passwd, а записывать информацию может только root (а /etc/shadow, как вы видите, закрыли от всех остальных, чтобы пароли нельзя было подобрать). Теперь смотрим на утилиту passwd:
[sergej@grinder sergej]$ ls -l /usr/bin/passwd