<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5591484190086716210\x26blogName\x3d%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%BA%D0%B8+ubuntu\x27%D0%B9%D1%86%D0%B0\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://tlanvar.blogspot.com/search\x26blogLocale\x3dru\x26v\x3d2\x26homepageUrl\x3dhttp://tlanvar.blogspot.com/\x26vt\x3d1840766964675028820', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Записки ubuntu'йца

Делюсь вот своими наблюдашками.


Управление пользователями и группами. Часть 1.
Отделение обычных пользователей от системных

пятница, мая 25, 2007

Вступление

В системе Linux как «живым» пользователям, так и системным процессам назначаются учетные записи (accounts), необходимые для управления привилегиями и правилами доступа. Запомните два важнейших принципа безопасности Linux.

1. Всегда используйте минимальный уровень привилегий, необходимый для выполнения работы.
2. Используйте сильные пароли.

Соблюдение этих двух принципов избавит вас от многочисленных огорчений и неудач.
В Linux входит набор утилит для выполнения операций с пользователями и группами: useradd, groupadd, userdel, groupdel, usermod, groupmod, passwd, chfn и chsh.
Когда-то все файлы приходилось редактировать по отдельности, а шифрованные пароли хранились в файле /etc/passwd. Но поскольку файл /etc/passwd должен оставаться доступным для чтения, хранение паролей в нем, пусть даже в зашифрованном виде, чревато потенциальными неприятностями. Скопировав этот файл, любой желающий теоретически сможет вычислить пароли. Перемещение зашифрованных паролей в файл /etc/shadow, доступный только для привилегированного пользователя root, создает полезный дополнительный уровень защиты.
Команда useradd по-разному работает в разных системах. Традиционно она включала всех новых пользователей в одну группу users(100). Все домашние каталоги становились общедоступными, потому что все пользователи принадлежали к одной группе. В Red Hat эта схема была заменена схемой «User Privacy Group». Команда useradd в Red Hat создает для каждого нового пользователя приватную группу, идентификатор которой (GID) совпадает с идентификатором пользователя (UID). Разумеется, разные пользователи обладают разными потребностями; некоторые из них могут предпочесть, чтобы их каталоги были открытыми. Фундаментальный принцип безопасности гласит: «сначала все запретить, потом разрешать по мере необходимости».
Adduser и addgroup, сценарные Perl-обертки для команд useradd и groupadd, появились относительно недавно. Эти сценарии полностью руководят вашими действиями при создании нового пользователя. Они очень удобны для создания отдельных учетных записей, но не для серийных (batch) операций (разве что если вы самостоятельно внесете изменения в сценарии adduser и addgroup).

Отделение обычных пользователей от системных

В любой системе Linux, наряду с учетными записями обычных пользователей, существуют системные учетные записи (root, uucp, daemon и т. д.). В файле /etc/passwd эти две категории не отделяются друг от друга. Как отделить учетные записи «живых» пользователей от системных учетных записей?

Воспользуйтесь схемой нумерации идентификаторов пользователей в Linux (UID) и возможностью сортировки по полям или столбцам в awk. Пример для системы на базе Debian или Slackware:

$ awk -F: '$3 > 999 { print $0}' /etc/passwd
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
carla:x:1000:1000::/home/carla:/bin/bash
foober:x:1001:1001::/home/test:/bin/false
bitchkat:x:1002:1002::/home/test2/:bin/bash
colby:x:1003:1003::/home/test3:/bin/bash

Отображение подмножества записей:

$ awk -F: '($3 >= 1000) & ($3 <= 1005) { print $0}' /etc/passwd

Для систем Red Hat и SuSE:

$ awk -F: '$3 > 499 { print $0}' /etc/passwd

Алфавитная сортировка результата:

$ awk -F: '$3 > 499 { print $0}' /etc/passwd | sort

Описанный прием особенно удобен тогда, когда схему нумерации UID в группах удается спроектировать заранее. Например:

Trainers 1000-1100;
Coaches 1101-1200;
Players 1200-2000.

Если вы будете придерживаться подобной схемы, в вашем распоряжении появится простой инструмент для сортировки пользователей и их последующего разбиения на группы.

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

Коды UID и GID во всех версиях Linux лежат в интервале от 0 до 65534.

Debian:

0-99 — системные учетные записи;
100-999 — установленные пользователем программы и демоны (Postfix, Fetch-mail, gdm, dictd и т. д.);
1000-29999 — учетные записи обычных пользователей;
30000-65533 — согласно документации Debian, коды зарезервированы, но при желании вы можете их использовать;
65534 — пользователь nobody, учетная запись без прав и разрешений.

Red Hat:

0-499 — коды зарезервированы для системного использования;
500-60000 — обычные пользователи;
65534 — пользователь nobody, учетная запись без прав и разрешений.

В других дистрибутивах используются аналогичные схемы нумерации. Экспериментируйте с диапазонами, зарезервированными для учетных записей обычных пользователей, но не трогайте системные диапазоны.

Ярлыки: , ,


| запостил: banderlog, 23:52 | Ссылка на статью | Комментариев (2) |

Коментариев: 2 штук(и)


Интересно, но для пользовательской машины, думаю, можно обойтись и умолчальными uid-ами. Хотя на серверах так не пройдёт...
Спасибо за пост.

Насчёт дизайна - оригинально, но можно немного осветлить. Хотя в данной цветовой схеме читать текст вполне комфортно.
откоментировал: Blogger virens, 26 мая 2007 г., 4:47  

Просто описывается один из вариантов "как можно сделать", а человек уже сам решает, что именно ему подойдет.
На счет дизайна - наконец-то (мне так кажется) решил проблему со злополучным "читаем дальше..." - почему именно он не срабатывает. Еще поиграюсь с различными вариантами и выложу постик с ситуациями, когда он показывает, а когда нет.
откоментировал: Anonymous автор, 26 мая 2007 г., 6:22  


<< На главную... | << Добавить комментарий