Linux Fundamentals Part 3 / Основы Linux от основателя Gentoo. Часть 3: Linux account managment

← →
Английский оригинал Перевод на русский

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

Управление аккаунтами в Linux

VBart 13.11.10 в 23:34

0

Знакомьтесь, /etc/passwd

VBart 13.11.10 в 23:34

0

В этом разделе мы познакомимся с механизмом управления аккаунтами в Linux и начнем с файла /etc/passwd, в котором определены все пользователи, которые существуют в системе. Вы можете посмотреть свой файл /etc/passwd, набрав команду "less /etc/passwd".

(анонимно) 14.11.10 в 07:08

0

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

(анонимно) 14.11.10 в 06:54

0

drobbins:x:1000:1000:Daniel Robbins:/home/drobbins:/bin/bash

VBart 13.11.10 в 23:46

0

Как видите, в одной строке не так уж много информации. Но на самом деле, каждая из них содержит несколько полей, разделённых ":".

(анонимно) 14.11.10 в 06:58

0

Первое поле отвечает за имя пользователя (drobbins), второе поле содержит x. На старых Linux-системах второе поле содержало зашифрованных пароль для аутентификации, но фактически, сейчас все Linux-системы хранят эту информацию в другом файле.

(анонимно) 14.11.10 в 07:09

0

Первое поле отвечает за имя пользователя (drobbins), второе поле содержит x. На устаревших Linux-системах второе поле содержало зашифрованных пароль для аутентификации, но фактически, сейчас все Linux-системы хранят эту информацию в другом файле.

(анонимно) 14.11.10 в 07:16

0

Третье поле отвечает за числовой пользовательский идентификатор, связанный с конкретным пользователем, а четвертое поле ассоциирует этого пользователя с конкретной группой; через несколько , мы увидим, где определена группа 1000

(анонимно) 14.11.10 в 14:43

0

Пятое поле содержит текстовое описание аккаунта, в нашем случае это имя пользователя. Шестое поле определяет домашний каталог пользователя, седьмое - устанавливает стартовую оболочку пользователя, которая будет автоматически запускаться когда пользователь входит в систему.
/etc/passwd советы и хитрости

nekjine 14.11.10 в 11:27

0

Вы вероятно заметили, что в системе намного больше пользовательских аккаунтов, которые определены в /etc/passwd, чем тех, которые логинятся в систему на самом деле. Всё это потому, что различные компоненты Linux используют такие аккаунты для повышения безопасности. Обычно, такие системные аккаунты имеют идентификатор меньший 100, и у многих из них в качестве стартовой оболочки установлена /bin/false. Так как эта программа ничего не делает, кроме как выходит и возвращает код ошибки, это эффективно предотвращает эти аккаунты от использования в качестве обычных аккаунтов для логина - т.е. они только для внутрисистемного пользования.
/etc/shadow

nekjine 14.11.10 в 11:36

0

Итак, сами пользовательские аккаунты определены в /etc/passwd. Системы Linux вдобавок к /etc/passwd содержат его файл-компаньон /etc/shadow. Он, в отличие от /etc/passwd, доступен для чтения только суперпользователю и содержит зашифрованную информацию о паролях. Взглянем на образец строки из /etc/shadow:

nekjine 14.11.10 в 11:45

0

drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0

VBart 13.11.10 в 23:47

0

Каждая строка определяет информацию о пароле конкретного аккаунта, поля в ней разделены знаком ":". Первое поле определяет конкретный пользовательский аккаунт, которому соответствует данная "теневая" запись. Во втором поле содержится зашифрованный пароль. Оставшиеся поля описаны в таблице ниже:

nekjine 14.11.10 в 11:49

0

поле 3 - количество дней с 01.01.1970 до момента, когда пароль был изменен
поле 4 - количество дней до того, как будет разрешено сменить пароль ("0" - "менять в любое время")
поле 5 - количество дней до того, как система заставит пользователя сменить пароль ("-1" - "никогда")
поле 6 - количество дней до истечения срока действия пароля, когда пользователь получит предупреждение об этом ("-1" - "не предупреждать")
поле 7 - количество дней после истечения срока действия пароля, по прошествии которых аккаунт будет автоматически отключен системой ("-1" - "не отключать")
поле 8 - количество дней, прошедшее с момента отключения этого аккаунта ("-1" - "этот аккаунт включен")
поле 9 - зарезервировано для будущего использования
/etc/group

(анонимно) 14.11.10 в 13:09

0

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

Neiro 14.11.10 в 07:14

0

drobbins:x:1000:

VBart 13.11.10 в 23:47

0

Формат полей файла /etc/group следующий. Первое поле определяет имя группы, второе поле - это поле остаточного пароля, которое сейчас просто зарезервировано x, и третье поле определяет числовой идентификатор для конкретной группы. Четвертое поле (которое пусто в примере выше) определяет всех членов группы.

nekjine 14.11.10 в 12:04

0

Вспомните что в нашем образце строки из /etc/passwd ссылка на группу с идентификатором 1000. Мы сможем поместить пользователя drobbins в группу drobbins, даже несмотря на отсутствие имени drobbins в четвертом поле /etc/group.
Примечания

nekjine 14.11.10 в 15:06

0

Замечание насчет соответствия пользователей с группами: на некоторых системах каждый новый логин-аккаунт связан с группой, имеющей то же имя (и обычно идентификатор). На других системах все логин-аккаунты будут принадлежать к одной группе пользователей. Какой из этих методов выбрать зависит от вас. Создание соответствующей группы для каждого пользователя имеет преимущество в том, что позволяет им более легко контролировать их собственный доступ просто помещая доверенных друзей в свою личную группу.

nekjine 14.11.10 в 15:15

0

Ручное добавление пользователей и групп

VBart 13.11.10 в 23:48

0

Теперь, я покажу как создать своего собственного пользователя и аккаунт группы. Лучший путь узнать как это сделать это добавить нового пользователя в систему вручную. Для начала убедитесь что вашей переменной окружения EDITOR соответствует ваш любимый редактор:

nekjine 14.11.10 в 11:15

0

# echo $EDITOR
vim

VBart 13.11.10 в 23:47

0

Если это не так, то вы можете установить переменную EDITOR, набрав что-то, вроде:

nekjine 14.11.10 в 11:17

0

# export EDITOR=/usr/bin/emacs
# vipw

VBart 13.11.10 в 23:48

0

Далее ваш редактор должен уже быть с загруженным /etc/passwd экране. Изменяя системные файлы passwd и group обязательно используйте команды vipw и vigr. Они имеют повышенные меры предосторожности, оберегая ваши файлы от участи быть испорченными.

nekjine 14.11.10 в 15:22

0

Редактирование /etc/passwd

VBart 13.11.10 в 23:48

0

Итак, у вас уже есть готовый файл /etc/passwd, добавьте теперь следующую строку:

nekjine 14.11.10 в 15:23

0

testuser:x:3000:3000:LPI tutorial test user:/home/testuser:/bin/false

VBart 13.11.10 в 23:48

0

Мы только что добавили пользователя "testuser" с идентификатором 3000. Мы определили его в группу с таким же идентификатором, которую еще не создали. Но мы можем определить его к идентификатору группы пользователей, если надо. У этого пользователя установлен комментарий, гласящий "LPI tutorial test user", домашний каталог установлен как "/home/testuser", а командная оболочка - как "/bin/false", в целях безопасности. Если бы мы создавали не тестировочный аккаунт, мы бы установили командную оболочку как "/bin/bash". Отлично, теперь сохраните файл и выходите.

nekjine 14.11.10 в 15:40

0

Редактирование /etc/shadow

VBart 13.11.10 в 23:49

0

Сейчас нам надо добавить запись в /etc/shadow для этого пользователя. Для этого наберите vipw -s. Вас как всегда встретит ваш любимый редактор в котором уже открыт файл /etc/shadow. Теперь скопируйте строку существующего пользовательского аккаунта (того, у которого есть пароль и который больше чем стандартные системные записи аккаунтов)

nekjine 14.11.10 в 15:32

0

drobbins:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0

VBart 13.11.10 в 23:49

0

Замените имя пользователя в скопированной строке на имя вашего пользователя и убедитесь что все поля (в частности устаревший (?) пароль) установлены как вам надо:

nekjine 14.11.10 в 14:45

0

testuser:$1$1234567890123456789012345678901:11664:0:-1:-1:-1:-1:0

VBart 13.11.10 в 23:49

0

Теперь сохраните и закройте

(анонимно) 14.11.10 в 08:20

0

Установка пароля

VBart 13.11.10 в 23:49

0

Вас вернёт к промту. Теперь самое время задать пароль для Вашего нового пользователя:

(анонимно) 14.11.10 в 06:53

0

Вы вернетесь к командной строке. Теперь, самое время задать пароль для вашего нового пользователя.

(анонимно) 14.11.10 в 07:11

0

# passwd testuser
Enter new UNIX password: (enter a password for testuser)
Retype new UNIX password: (enter testuser's new password again)

VBart 13.11.10 в 23:49

0

Редактирование /etc/group

VBart 13.11.10 в 23:50

0

Теперь /etc/passwd и /etc/shadow готовы и самое время как следует настроить /etc/group. Для этого, наберите:

nekjine 14.11.10 в 11:12

0

# vigr

VBart 13.11.10 в 23:50

0

Перед вами появится ваш /etc/group файл, готовый для редактирования. Сейчас же, если вы решите присоединить группу пользователей к какому-то вашему конкретному, то вам не понадобится добавлять какие-либо группы в /etc/groups. Однако, если вам понадобится создать новую группу для этого пользователя, добавьте следующую строку:

nekjine 14.11.10 в 11:03

0

testuser:x:3000:

VBart 13.11.10 в 23:50

0

Теперь сохраните и закройте

(анонимно) 14.11.10 в 08:21

0

Создание домашней директории

VBart 13.11.10 в 23:50

0

Мы почти закончили. Выполните следующие команды для создания домашнего каталога testuser'а:

(анонимно) 14.11.10 в 06:50

0

# cd /home
# mkdir testuser
# chown testuser.testuser testuser
# chmod o-rwx testuser

VBart 13.11.10 в 23:50

0

Наш каталог пользователя на месте и аккаунт готов к использованию. Уже почти готово. Если вы собираетесь использовать этот аккаунт, вам надо будет воспользоваться vipw для смены стартовой оболочки на /bin/bash, так, чтобы пользователь смог войти.

nekjine 14.11.10 в 11:09

0

Утилиты администрирования учетных записей

(анонимно) 14.11.10 в 08:22

0

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

nekjine 14.11.10 в 13:57

0
Минутку...

Следующая страница →