Файл passwd

Материал из Wiki Open book
Перейти к: навигация, поиск

Оглавление | Предыдущая страница | Следующая страница


Файл /etc/passwd — это текстовая база данных, в которой описываются учетные записи пользователей сервера.

Формат файла очень простой и уважающий себя администратор должен знать его наизусть. На одного пользователя в файле отводится одна строка. Поля в строке разделяются символами двоеточие. В файле семь полей:

  • Имя учетной записи пользователя (login).
  • Хеш пароля пользователя.
  • Уникальный номер пользователя в системе (UID).
  • Уникальный номер основной группы пользователя (GID).
  • Дополнительная информация.
  • Домашняя директория пользователя.
  • Программа, которая запускается при входе пользователя в систему.

Обязательными полями считаются только: login, UID и GID основной группы. Все остальные поля можно не определять.

Имя учетной записи пользователя — это обязательное поле. Имя должно быть уникальным. Максимальная длинна 256 символов (Если в Вашей компании Вы с кем-то не очень дружите, можете такому «другу» сделать учетную запись с именем длинной в 256 символов. Ему это будет приятно. Особенно по утрам, когда он будет входить в систему.). В имени можно использовать только английские буквы большие или маленькие (они отличаются) и цифры.

В современных системах хеш пароля пользователя не хранится в файле passwd, он вынесен в отдельный файл /etc/shadow. Сделано это потому, что файл passwd обязательно должен быть доступен на чтение всем пользователям системы. Несмотря на то, что в файле хранился хеш пароля (это значит, что пароль пользователе нельзя получить методом обратного преобразования), его можно подобрать. То есть, из пароля получают хеш и сравнивают с хешем, хранящемся в файле. Если в поле пароль в файле passwd стоит символ х — это значит, что хеш пароля находится в файле /etc/shadow.

Уникальный номер пользователя в системе — это обязательное поле. Существует два типа пользователей: суперпользователь (root) и все остальные. UID суперпользователя равен нулю. Иногда у администраторов возникает не здоровое желание поменять имя суперпользователя. Аргументируют это тем, что все пытаются получить пароль пользователя root. Если мы поменяем имя суперпользователя, допустим на admin, то никто не сможет подобрать его пароль. Так вот — это не правильное решение. Файл /etc/passwd обязательно должен быть доступен для чтения всем пользователям системы. Если кто угодно может прочитать его содержимое, значит они могут узнать новый логин суперпользователя.

Уникальный номер группы, к которой принадлежит пользователь. Особенностью Linux (как и любого другого UNIX) является то, что пользователь обязательно является членом хотя бы одной группы. Эту группу называют основной группой пользователя (primary group). Все файлы, которые создает пользователь, принадлежат этому пользователю и его основной группе.

Дополнительная информация о пользователе — это не обязательный параметр. В этом поле можно описать пользователя. Написать его имя и фамилию, домашний и рабочий телефон и т.д. Существует специальный формат — GECOS, описывающий какие поля и для чего применяются в этом поле. Если Вы хотите сделать адресную книгу, для этого лучше использовать какой нибудь сервер LDAP: OpenLDAP или eDirectory.

Домашняя директория пользователя — это домашняя директория пользователя.

Последнее, седьмое поле очень интересное. Там записана программа, которая будет выполняться при входе пользователя в систему. Пользователь работает в системе до тех пор, пока работает эта программа. Обычно в этом поле написан шелл, например: /bin/bash.

Теперь представьте себе, что у Вас есть удаленный офис, в котором работают три кассира: Баба Маша, Баба Глаша и Баба Оля. Это женщины весьма преклонного возраста. Они начали работать кассирами еще во времена Царя Гороха, когда самым мощным вычислительным устройством были счеты. Поэтому научить их работать на компьютере крайне сложно. Постоянные звонки в службу поддержки:

— Сынок, у меня куда то пропала программа!

— Баба Глаша, может быть ты ее минимизировала?

— Чего Я сделала?

Знакомая ситуация?

Программа для работы с кассой — это клиент к какой нибудь базе данных. Можно попросить программистов написать такой клиент для Linux (Если программистам заплатить деньги они могут написать программу, работающую в любой операционной системе.), причем работать он будет в текстовом режиме. А кто сказал, что графический режим для таких программ самый удобный? Не факт.

Поставьте на рабочие места этих женщин компьютеры с Linux. Добавьте учетные записи. В качестве программы оболочки укажите программу касса. Теперь осталось научить наших клиентов пользоваться Linux.

— Баба Глаша, смотри. Компьютер включается вот этой большой кнопкой. Теперь по экрану побежали буковки. Не пугайтесь, так надо. Вот на экране появилось иностранное слово Login. Введите Ваш логин. Это то слово, которое я написал Вам на бумажке.

— Ага, вот это слово. А можно я этот стикер приклею на экран?

— Можно. Теперь на экране появилось иностранное слово Password. Сейчас Баба Глаша я вам скажу Ваш пароль. Вы его запомните, только не пугайтесь.

Тут Вы говорите пароль Бабе Глаше. Она этот пароль ОБЯЗАТЕЛЬНО запомнит. Почему? Объясню чуть позже. Баба Глаша слушает пароль, краснеет, но запоминает его.

Поскольку в качестве оболочки Вы установили программу касса, значит именно эта программа будет запущена при входе пользователя в систему. Для Бабы Глаши касса известна вдоль и поперек. Работать в этой программе она умеет. Я надеюсь, что программисты не предусмотрят выход в систему из программы, потому что вешний вид командной строки Бабу Глашу сразит наповал. После завершения работы программы, на экране будет знакомое для Бабы Глаши приглашение входа в систему.

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

Внедряя описанную Выше систему, Вы облегчаете жизнь себе и Вашим клиентам. Более того, клиенты смогут работать только в тех программах, в которых им разрешено работать. Один раз в Сбербанке я наблюдал очень интересную картину. Сидит кассир и обслуживает клиентов. На соседней машине сидит, как я понимаю, дочь кассира и набирает реферат! И все это происходит в Банке! Теперь я понимаю, почему Сбербанк никогда не разорится.

Инструменты
    
Личные инструменты