Linux Fundamentals Part 3 / Основы Linux от основателя Gentoo. Часть 3: Linux account managment
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Управление аккаунтами в Linux VBart 13.11.10 в 23:34 |
|
|
Знакомьтесь, /etc/passwd VBart 13.11.10 в 23:34 |
||
|
В этом разделе мы познакомимся с механизмом управления аккаунтами в Linux и начнем с файла /etc/passwd, в котором определены все пользователи, которые существуют в системе. Вы можете посмотреть свой файл /etc/passwd, набрав команду "less /etc/passwd". (анонимно) 14.11.10 в 07:08 |
||
|
Каждой строкой в /etc/passwd определяется аккаунт пользователя. Вот пример из моего /etc/passwd: (анонимно) 14.11.10 в 06:54 |
||
|
drobbins:x:1000:1000:Daniel Robbins:/home/drobbins:/bin/bash VBart 13.11.10 в 23:46 |
||
|
Как видите, в одной строке не так уж много информации. Но на самом деле, каждая из них содержит несколько полей, разделённых ":". (анонимно) 14.11.10 в 06:58 |
||
|
Первое поле отвечает за имя пользователя (drobbins), второе поле содержит x. На старых Linux-системах второе поле содержало зашифрованных пароль для аутентификации, но фактически, сейчас все Linux-системы хранят эту информацию в другом файле. (анонимно) 14.11.10 в 07:09 Первое поле отвечает за имя пользователя (drobbins), второе поле содержит x. На устаревших Linux-системах второе поле содержало зашифрованных пароль для аутентификации, но фактически, сейчас все Linux-системы хранят эту информацию в другом файле. (анонимно) 14.11.10 в 07:16 |
||
|
Третье поле отвечает за числовой пользовательский идентификатор, связанный с конкретным пользователем, а четвертое поле ассоциирует этого пользователя с конкретной группой; через несколько , мы увидим, где определена группа 1000 (анонимно) 14.11.10 в 14:43 |
||
|
Пятое поле содержит текстовое описание аккаунта, в нашем случае это имя пользователя. Шестое поле определяет домашний каталог пользователя, седьмое - устанавливает стартовую оболочку пользователя, которая будет автоматически запускаться когда пользователь входит в систему. nekjine 14.11.10 в 11:27 |
||
|
Вы вероятно заметили, что в системе намного больше пользовательских аккаунтов, которые определены в /etc/passwd, чем тех, которые логинятся в систему на самом деле. Всё это потому, что различные компоненты Linux используют такие аккаунты для повышения безопасности. Обычно, такие системные аккаунты имеют идентификатор меньший 100, и у многих из них в качестве стартовой оболочки установлена /bin/false. Так как эта программа ничего не делает, кроме как выходит и возвращает код ошибки, это эффективно предотвращает эти аккаунты от использования в качестве обычных аккаунтов для логина - т.е. они только для внутрисистемного пользования. nekjine 14.11.10 в 11:36 |
||
|
Итак, сами пользовательские аккаунты определены в /etc/passwd. Системы Linux вдобавок к /etc/passwd содержат его файл-компаньон /etc/shadow. Он, в отличие от /etc/passwd, доступен для чтения только суперпользователю и содержит зашифрованную информацию о паролях. Взглянем на образец строки из /etc/shadow: nekjine 14.11.10 в 11:45 |
||
|
drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0 VBart 13.11.10 в 23:47 |
||
|
Каждая строка определяет информацию о пароле конкретного аккаунта, поля в ней разделены знаком ":". Первое поле определяет конкретный пользовательский аккаунт, которому соответствует данная "теневая" запись. Во втором поле содержится зашифрованный пароль. Оставшиеся поля описаны в таблице ниже: nekjine 14.11.10 в 11:49 |
||
|
поле 3 - количество дней с 01.01.1970 до момента, когда пароль был изменен (анонимно) 14.11.10 в 13:09 |
||
|
Теперь взглянем на файл /etc/group, который определяет группы в системе Linux. Вот примерная строка из него: Neiro 14.11.10 в 07:14 |
||
|
drobbins:x:1000: VBart 13.11.10 в 23:47 |
||
|
Формат полей файла /etc/group следующий. Первое поле определяет имя группы, второе поле - это поле остаточного пароля, которое сейчас просто зарезервировано x, и третье поле определяет числовой идентификатор для конкретной группы. Четвертое поле (которое пусто в примере выше) определяет всех членов группы. nekjine 14.11.10 в 12:04 |
||
|
Вспомните что в нашем образце строки из /etc/passwd ссылка на группу с идентификатором 1000. Мы сможем поместить пользователя drobbins в группу drobbins, даже несмотря на отсутствие имени drobbins в четвертом поле /etc/group. nekjine 14.11.10 в 15:06 |
||
|
Замечание насчет соответствия пользователей с группами: на некоторых системах каждый новый логин-аккаунт связан с группой, имеющей то же имя (и обычно идентификатор). На других системах все логин-аккаунты будут принадлежать к одной группе пользователей. Какой из этих методов выбрать зависит от вас. Создание соответствующей группы для каждого пользователя имеет преимущество в том, что позволяет им более легко контролировать их собственный доступ просто помещая доверенных друзей в свою личную группу. nekjine 14.11.10 в 15:15 |
||
|
Ручное добавление пользователей и групп VBart 13.11.10 в 23:48 |
||
|
Теперь, я покажу как создать своего собственного пользователя и аккаунт группы. Лучший путь узнать как это сделать это добавить нового пользователя в систему вручную. Для начала убедитесь что вашей переменной окружения EDITOR соответствует ваш любимый редактор: nekjine 14.11.10 в 11:15 |
||
|
# echo $EDITOR VBart 13.11.10 в 23:47 |
||
|
Если это не так, то вы можете установить переменную EDITOR, набрав что-то, вроде: nekjine 14.11.10 в 11:17 |
||
|
# export EDITOR=/usr/bin/emacs VBart 13.11.10 в 23:48 |
||
|
Далее ваш редактор должен уже быть с загруженным /etc/passwd экране. Изменяя системные файлы passwd и group обязательно используйте команды vipw и vigr. Они имеют повышенные меры предосторожности, оберегая ваши файлы от участи быть испорченными. nekjine 14.11.10 в 15:22 |
||
|
Редактирование /etc/passwd VBart 13.11.10 в 23:48 |
||
|
Итак, у вас уже есть готовый файл /etc/passwd, добавьте теперь следующую строку: nekjine 14.11.10 в 15:23 |
||
|
testuser:x:3000:3000:LPI tutorial test user:/home/testuser:/bin/false VBart 13.11.10 в 23:48 |
||
|
Мы только что добавили пользователя "testuser" с идентификатором 3000. Мы определили его в группу с таким же идентификатором, которую еще не создали. Но мы можем определить его к идентификатору группы пользователей, если надо. У этого пользователя установлен комментарий, гласящий "LPI tutorial test user", домашний каталог установлен как "/home/testuser", а командная оболочка - как "/bin/false", в целях безопасности. Если бы мы создавали не тестировочный аккаунт, мы бы установили командную оболочку как "/bin/bash". Отлично, теперь сохраните файл и выходите. nekjine 14.11.10 в 15:40 |
||
|
Редактирование /etc/shadow VBart 13.11.10 в 23:49 |
||
|
Сейчас нам надо добавить запись в /etc/shadow для этого пользователя. Для этого наберите vipw -s. Вас как всегда встретит ваш любимый редактор в котором уже открыт файл /etc/shadow. Теперь скопируйте строку существующего пользовательского аккаунта (того, у которого есть пароль и который больше чем стандартные системные записи аккаунтов) nekjine 14.11.10 в 15:32 |
||
|
drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0 VBart 13.11.10 в 23:49 |
||
|
Замените имя пользователя в скопированной строке на имя вашего пользователя и убедитесь что все поля (в частности устаревший (?) пароль) установлены как вам надо: nekjine 14.11.10 в 14:45 |
||
|
testuser:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0 VBart 13.11.10 в 23:49 |
||
|
Теперь сохраните и закройте (анонимно) 14.11.10 в 08:20 |
||
|
Установка пароля VBart 13.11.10 в 23:49 |
||
|
Вас вернёт к промту. Теперь самое время задать пароль для Вашего нового пользователя: (анонимно) 14.11.10 в 06:53 Вы вернетесь к командной строке. Теперь, самое время задать пароль для вашего нового пользователя. (анонимно) 14.11.10 в 07:11 |
||
|
# passwd testuser VBart 13.11.10 в 23:49 |
||
|
Редактирование /etc/group VBart 13.11.10 в 23:50 |
||
|
Теперь /etc/passwd и /etc/shadow готовы и самое время как следует настроить /etc/group. Для этого, наберите: nekjine 14.11.10 в 11:12 |
||
|
# vigr VBart 13.11.10 в 23:50 |
||
|
Перед вами появится ваш /etc/group файл, готовый для редактирования. Сейчас же, если вы решите присоединить группу пользователей к какому-то вашему конкретному, то вам не понадобится добавлять какие-либо группы в /etc/groups. Однако, если вам понадобится создать новую группу для этого пользователя, добавьте следующую строку: nekjine 14.11.10 в 11:03 |
||
|
testuser:x:3000: VBart 13.11.10 в 23:50 |
||
|
Теперь сохраните и закройте (анонимно) 14.11.10 в 08:21 |
||
|
Создание домашней директории VBart 13.11.10 в 23:50 |
||
|
Мы почти закончили. Выполните следующие команды для создания домашнего каталога testuser'а: (анонимно) 14.11.10 в 06:50 |
||
|
# cd /home VBart 13.11.10 в 23:50 |
||
|
Наш каталог пользователя на месте и аккаунт готов к использованию. Уже почти готово. Если вы собираетесь использовать этот аккаунт, вам надо будет воспользоваться vipw для смены стартовой оболочки на /bin/bash, так, чтобы пользователь смог войти. nekjine 14.11.10 в 11:09 |
||
|
Утилиты администрирования учетных записей (анонимно) 14.11.10 в 08:22 |
||
|
Вы уже знаете как вручную добавить новые аккаунты и группы, давайте же теперь рассмотрим различные, экономящие время, утилиты для управления аккаунтами под Linux. Из-за некоторых ограничений мы не будем рассматривать множество деталей, описывающих эти команды. Запомните - вы всегда можете получить больше информации о какой-либо команде если посмотрите её man-страничку. Если вы планируете сдавать LPIC 101 экзамен, вам следует провести побольше времени за ознакомлением с каждой из этих команд. nekjine 14.11.10 в 13:57 |
