Linux программирование в примерах
Шрифт:
Когда процесс действует как
Устанавливает значения действительного, эффективного и сохраненного set-group ID соответственно. Когда
Эта функция аналогична
Функции
Более того, вызовы являются операциями типа «все или ничего»: они либо полностью успешны в осуществлении нужного изменения, либо терпят полную неудачу, оставляя текущее состояние как есть. Это повышает надежность, поскольку, опять-таки можно быть точно уверенным в том, что случилось.
11.8. Пересечение минного поля безопасности: setuid
Настоящие минные поля трудно, но не невозможно перейти. Однако, это не является чем-то, что можно сделать легко, без тренировки или опыта
Точно также написание программ, которые используют setuid
В частности, стоит специально изучить проблемы безопасности Linux/Unix и потратить время на обучение написанию программ setuid root. Если вы сразу нырнете в эту проблему, прочитав лишь эту книгу и ничего более, можно быть уверенным, что ваша система будет взломана, легко и сразу. Маловероятно, что вы или ваши клиенты будут довольны.
Вот несколько руководящих принципов:
• Как можно меньше действуйте в качестве
• Соответствующим образом проектируйте свою программу. Разделите программу на составные части таким образом, чтобы все операции
• При изменении или сбрасывании привилегий используйте
• Переходите от
• Рассмотрите использование прав
• Рассмотрите отказ от наследуемого окружения. Если вам нужно сохранить некоторые переменные окружения, сохраните как можно меньше. Убедитесь в предоставлении подходящих значений для переменных окружения
• Избегайте
Это просто некоторые из множества тактик по пересечению опасной зоны, известной своими подвохами, минами-ловушками и фугасами. Ссылки на другие источники информации см. в следующем разделе.
11.9. Рекомендуемая литература
Безопасность Unix (а следовательно, и GNU/Linux) является темой, требующей знаний и опыта для того, чтобы справиться с ней должным образом. В Эпоху Интернета она стала лишь труднее, не проще.
1. Practical UNIX & Internet Security, 3rd edition, by Simson Garfinkel, Gene Spafford, and Alan Schwartz, O'Reilly & Associates, Sebastopol, CA, USA, 2003. ISBN: 0-596-00323-4.
Это стандартная книга по безопасности Unix.
2. Building Secure Software. How to Avoid Security Problems the Right Way, by John Viega and Gary McGraw. Addison-Wesley, Reading, Massachusetts, USA, 2001. ISBN: 0-201-72152-X.
Это хорошая книга по написанию безопасного программного обеспечения, она включает проблемы setuid. Предполагается, что вы знакомы с основными API Linux/Unix; к моменту прочтения данной книги вы должны быть готовы к ее прочтению.
3. "Setuid Demystified," by Hao Chen, David Wagner, and Drew Dean. Proceedings of the 11th USENIX Security Symposium, August 5–9, 2002 http://www.cs.berkeley.edu/~daw/papers/setuid-usenix02.pdf.
Гарфинкель, Спаффорд и Шварц (Garfinkel, Spafford, Schwartz) рекомендуют прочтение этого материала «до того, как вы даже подумаете о написании кода, который пытается сохранять и восстанавливать привилегии». Мы всецело согласны с ними.
11.10. Резюме
• Использование значений ID пользователя и группы (UID и GID) для идентификации файлов и процессов — вот что превращает Linux и Unix в многопользовательские системы. Процессы имеют значения как действительных, так и эффективных UID и GID, а также набор дополнительных групп. Обычно именно эффективный UID определяет, как один процесс может повлиять на другой, и эффективные UID, GID и набор групп проверяются на соответствие с правами доступа к файлу. Пользователи с эффективным UID, равным нулю, известные как
Похвали меня
Любовные романы:
зарубежные любовные романы
рейтинг книги
Звезды на приеме у психолога. Психоанализ знаменитых личностей
Научно-образовательная:
психология
рейтинг книги
"Княгиня Ольга". Компиляция. Книги 1-19
Княгиня Ольга
Приключения:
исторические приключения
рейтинг книги
Вавилон - 17 [Вавилон - 17. Нова. Падение башен]
Фантастика:
научная фантастика
рейтинг книги
Ошибки богов. Тетралогия
Ошибки богов
Фантастика:
фэнтези
рейтинг книги
Золото Вильгельма
Козы и Шекспир
Проза:
современная проза
рейтинг книги
Нас ждет Севастополь
Проза:
военная проза
советская классическая проза
рейтинг книги
10 вождей. От Ленина до Путина
Документальная литература:
биографии и мемуары
рейтинг книги
Шерас
Фантастика:
фэнтези
рейтинг книги
Неизвестный фактор (Романы)
Фантастика:
фэнтези
рейтинг книги
Вершитель
7. Андердог
Фантастика:
фэнтези
рпг
рейтинг книги
Неучтенный элемент. Том 3
3. Антимаг. Вне системы
Фантастика:
фэнтези
рейтинг книги
Ведьмак (большой сборник)
Ведьмак
Фантастика:
фэнтези
рейтинг книги
Темная Башня 4 (Колдун и Кристалл)
Фантастика:
боевая фантастика
фэнтези
научная фантастика
рейтинг книги