Содержание


План перехода с Windows на Linux

Часть 4. Администрирование пользователей

Пароли, группы и их тени

Comments

Серия контента:

Этот контент является частью # из серии # статей: План перехода с Windows на Linux

Следите за выходом новых статей этой серии.

Этот контент является частью серии:План перехода с Windows на Linux

Следите за выходом новых статей этой серии.

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

Суперпользователь

В Linux Суперпользователь (Super User) называется root. Пользователь root может контролировать каждый процесс, имеет доступ к каждому файлу и может выполнить любую функцию в системе. Ничего не может быть спрятано от root'а. Говоря административным языком, root -- это высшее существо. Поэтому очень важно, чтобы учетная запись root была защищена секретным паролем. Не стоит использовать root'а для выполнения обычных задач.

Другим пользователям можно дать привилегии суперпользователя, но делать это надо с осторожностью. Обычно вы будете настраивать отдельные программы, чтобы определенные пользователи могли выполнять их как root, вместо того, чтобы предоставлять всем суперпользовательский доступ.

Создание новых пользователей

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

Пользователь добавляется командой useradd. Из консоли это делается, например, так:

useradd -c "normal user" -d /home/userid -g users\
-G webadm,helpdesk -s\ /bin/bash userid

Эта команда создает нового пользователя по имени "userid" (последний параметр в команде). Дается комментарий, который говорит, что "userid" -- "normal user" (обычный пользователь). Для него будет создан домашний каталог "/home/userid". Его основной группой будет users, но он также будет входить в группы "webadm" и "helpdesk". В качестве обычного консольного окружения новый пользователь из примера будет использовать оболочку "/bin/bash".

Webmin позволяет создать нового пользователя легко и наглядно. Войдите в Webmin своим любимым браузером и зайдите в раздел System. Выберите инструмент "Users and Groups", а затем щелкните на Create a new user.

Рисунок 1. Экран программы Webmin Create User (Создать пользователя)
Рисунок 1. Экран программы Webmin Create User (Создать пользователя)

Впишите подробности про пользователя и нажмите Create. Будет создан пользователь.

Добавление пользователей посредством инструментария GUI также описано в "Basic tasks for new Linux developers".

Изменение паролей

Из консоли пользовательский пароль меняется командой passwd :

passwd userid

Изменить пароль другого пользователя таким способом может только root. После ввода команды вам будет предложено ввести и подтвердить устанавливаемый пароль. Если они совпадут, то данные пользователя будут обновлены, а пароль изменен. Пользователь также может изменить свой собственный пароль, написав в командной строке консоли passwd; в этом случае прежде чем вводить новый пароль, необходимо будет ввести старый.

Большинство дистрибутивов Linux устанавливаются с модулем password cracker, который вызывается для изменений пароля. Этот модуль проверяет, насколько пароль хорош. Если не очень, то появляется предупреждение, что у пользователя плохой пароль. В зависимости от конфигурации, у него могут потребовать придумать безопасный пароль, а только потом принять его. Root'а же могут просто известить, когда пароль уже установлен.

В Webmin'е пароль меняется с помощью модуля "Change Passwords" из раздела System. Выберите пользователя из списка и введите новый пароль в пустые поля формы.

Удаление пользователей

Из консоли пользователи удаляются командой userdel.

userdel -r userid

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

Как организованы пользователи

Конфигурация Linux имеет в своей основе текст. Поэтому все пользователи в Linux расположены в файле под названием /etc/passwd. Командой more вы можете постранично просмотреть этот файл:

more /etc/passwd

Структура этого файла вполне доходчива. Каждая строка содержит нового пользователя с параметрами, разделенными двоеточием.

userid:x:75000:75000::/home/userid:/bin/bash

В первой колонке находится имя пользователя. Во второй -- его пароль. В третьей -- пользовательский числовой id. В четвертой -- id основной группы пользователя. В пятой -- полное имя пользователя. В шестой -- расположение пользовательского каталога. Обычно этот каталог живет в /home и называется по имени пользователя. Седьмая колонка содержит shell по умолчанию.

Структура файла паролей
Login IDПарольID пользователяID группыКомментарийДомашний каталогОболочка по умолчанию
useridx7500075000 /home/userid/bin/bash

Заметьте, что в приведенном выше примере, в колонке с паролем стоит "x". Это вовсе не означает, что у пользователя такой пароль. Одно время пароли хранились внутри файла в виде обычного текста. Такая конфигурация возможна и сейчас, но встречается редко из-за последствий. Решено было создать нечто под названием теневой пароль. На месте пароля в файле /etc/passwd записывается "х", а закодированная версия пароля идет в файл /etc/shadow. Такая технология улучшает безопасность посредством разделения информации о пользователе и пароля. Алгоритм кодирования паролей MD5 еще улучшил безопасность, позволяя только надежные пароли. Ниже приведен пример записи теневого пароля:

userid:$1$z2NXZR19$PZpyL84DmPKBXMeURaXXM.:12138:0:186:7:::

Вся функция теневого пароля остается за кадром, а вам редко потребуется делать что-нибудь большее, чем включать ее.

Группы

Группы в Linux почти то же самое, что и в Windows. Вы создаете группу и добавляете в ее список участников. Ресурсы могут иметь права, приписанные группе. Члены группы имеют доступ к ресурсу, ассоциированному с этой группой.

Создание группы выполняется просто, консольной командой groupadd:

groupadd mygroup

Эта команда создаст группу без участников с названием "mygroup". Группы живут в файле с названием /etc/group. Каждой группе отводится отдельная строка, как написанная ниже:

mygroup:x:527:

Первая колонка показывает имя группы. Вторая -- пароль. Опять-таки "x" означает, что настоящий пароль хранится в теневом файле /etc/gshadow. Третья колонка будет содержать разделенные запятыми идентификаторы участников группы.

Чтобы добавить члена группы, используйте команду gpasswd с ключом -a и id пользователя, которого вы хотите добавить:

gpasswd -a userid mygroup

Удалить пользователей из группы можно той же командой, но с ключом -d вместо -a:

gpasswd -d userid mygroup

Вносить изменения в группы можно также прямым редактированием файла /etc/group.

Группы могут быть созданы, отредактированы и уничтожены в программе Webmin тем же самым инструментом, который использовался выше для работы с пользователями.

Пользовательские и групповые приложения

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

-rw-r--r-- 1 userid mygroup 703 Jun 23 22:12 myfile

Не обращая пока что внимания на остальные колонки, посмотрите на третью, четвертую и последнюю. В третьей колонке находится имя владельца файла, userid. Четвертая колонка содержит группу, ассоциированную с файлом, mygroup. Последняя колонка -- это имя файла. Каждый файл имеет только одного владельца и одну группу. Можно дать права Other (Остальным), пользователям, которые не попадают ни в какую категорию. Считайте Other эквивалентом группы Everyone в Windows.

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

Более полную информацию о связи пользователей и групп можно найти в разделе Ресурсы в конце этой статьи. За подробностями о том, как менять полномочия доступа к файлу, обращайтесь к man chmod.

Заключение

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

Информация о пользователе и группе хранится в файлах /etc/passwd и /etc/group, соответственно. Ваша система возможно также содержит файлы /etc/shadow и /etc/gshadow, в которых находятся зашифрованные пароли для большей безопасности. Можно работать с пользователями и группами, непосредственно редактируя файлы, однако делать это надо с большой осторожностью.

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


Ресурсы для скачивания


Похожие темы

  • Оригинал этого учебного пособия на developerWorks
  • Ознакомьтесь с другими частями этой серии на английском Windows-to-Linux roadmap (developerWorks, ноябрь 2003) или на русском План перехода с Windows на Linux языках.
  • IBM Directory Server реализует Lightweight Directory Access Protocol (LDAP) для доступа к сервисам каталогов, особенно основанным на X.500. Подробности читайте в "Authenticating Linux users with IBM Directory Server" (developerWorks, февраль 2005).
  • Полномочия доступа к файлу и безопасность описаны в Части 3 руководства Introduction to Linux в проекте Linux Documentation Project.
  • Университет Мэрилэнда делятся словами мудрости в выборе безопасных паролей.
  • Документация Red Hat Linux Manual предлагает подробности об использовании Файла теневого пароля.
  • Linux Shadow Password HOWTO дает предпосылки и разумное обоснование теневой системы и пошаговое руководство для выполнения.
  • Безопасность системы -- это обширная и сложная тема, но во взаимосвязанном мире она касается каждого. К счастью, никогда не рано и не поздно начать заниматься ею. Документация Adding Security to Common Linux Distributions и Strategies for Keeping a Secure Server поможет вам сделать именно это.
  • "Addressing security issues in Linux" (developerWorks, июлб 2001) поможет начать изучать основы безопасности.
  • Другие ресурсы для разработчиков Linux ищите на developerWorks Linux zone, включая наши новейшие учебники how-to.
  • Постройте свой следующий проект разработки для Linux с использованием IBM trial software, загрузив его непосредственно с developerWorks.
  • Отточите свои знания основ Linux и системного администрирования с нашими руководствами для сертификационных экзаменов. Захотите вы сдавать экзамен или нет, наши серии Linux skill-building tutorial погрузят вас и в основы Linux, и в более продвинутые темы.
  • Узнайте, как заполучить исходник ядра, настроить и загрузить его, добавить функуцию, исправить недостаток или просто поразвлекаться с исходным кодом операционной системы в нашей серии учебников Hacking the Linux kernel. Будьте свободны в своих действиях.
  • Сайт Linux at IBM предлагает программное обеспечение, ссылки, конечные Linux решения и др.
  • The Linux Documentation Project является репозиторием документации Linux, включающий документацию по программному обеспечению, HOWTO, FAQ и многое другое.
  • Linux Online! предлагает объективные Linux-новости и справочную информацию.
  • The O'Reilly Network -- прекрасный источник технической литературы по Linux.

Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=206988
ArticleTitle=План перехода с Windows на Linux: Часть 4. Администрирование пользователей
publish-date=04042007