ћерион Ќетворкс

6 минут чтени€

¬ этой статье рассмотрим, как управл€ть учетными запис€ми пользователей и групп в Linux. “акже посмотрим различные базы данных, в которых хранитс€ информаци€ о пользовател€х и группах и что такое теневые пароли.

»значально в Linux было 2 файла /etc/password и /etc/group. ¬ первом файле хранилось:

password и group
»м€_пользовател€ : пароль : uid : gid : сведени€ (поле предназначено дл€ персональных данных) : домашн€€_папка : командна€ оболочк(котора€ запускаетс€ при входе пользовател€ в систему)

¬о втором файле хранилось:

им€_группы : пароль : gid : члены_группы

” группы может быть пароль, но данную функцию очень редко, кто использует, в таком случае пароль будет запрашиватьс€ при смене членства в группе. ƒанные файлы плохи тем, что у всех пользователей системы, по умолчанию, есть права на чтение. “акие права необходимы потому, что разные пользователи, разные демоны и сервисы обращаютс€ к данным файлам, чтобы брать оттуда информацию. —оответственно в этих файлах хранилс€ пароль пользовател€, хот€ и в зашифрованном виде, но с помощью различных методов криптографии подбора можно было воспользоватьс€ данным паролем, потому что у всех пользователей был на эти файлы доступ.

ѕоэтому был создан механизм теневых паролей. Ѕыли созданы вот такие 2 файла: /etc/shadow и /etc/gshadow. » к этим двум файлам имеет полный доступ только пользователь root. —ледовательно, теперь в файлах passwd и group указываютс€ не пароли, а специальные символы, говор€щие что пароли были перенесены в файлы shadow и gshadow.

shadow и gshadow

¬ новом файле shadow хранитс€ побольше информации о пароле пользовател€. Ёто:

  • Ћогин
  • ѕароль
  • ¬рем€ после смены парол€ Ц это если пароль сбрасывалс€ после времени установки системы
  • ћинимальный срок действи€ парол€ - как часто можно мен€ть пароль, если, например, стоит 5 дней, то пароль можно мен€ть не чаще, чем раз в 5 дней.
  • ћаксимальный срок действи€ парол€ Ц максимальное количество дней, по прошествии которых об€зательно необходимо сменить пароль.
  • —рок предупреждени€ Ц за сколько дней до истечени€ парол€ система предупредит о том, что необходимо сменить пароль.
  • ¬рем€ работы с истекшим паролем Ц это параметр позвол€ет указанное число дней работать с истекшим паролем.
  • —рок дл€ блокировки парол€ Ц данный параметр отвечает за врем€ жизни самого парол€, например, пароль будет работать 100 дней, после этого заблокируетс€.

—оответственно данные параметры можно при необходимости задавать при создании учетной записи пользовател€ и паролей. ≈сли провести аналогию с операционной системой Windows, то подобные параметры в Windows мы можем задавать через GPO (Group Policy Object - набор правил или настроек, в соответствии с которыми производитс€ настройка рабочей среды в операционных системах Windows). ќтличие заключаетс€ в том, что в Windows эти параметры выставл€ютс€ в абсолютных величинах числом, а в операционной системе Linux, относительно даты 1 €нвар€ 1970 года.

Ќу и соответственно gshadow имеет следующую структуру, разделенную символом :.

gshadow
  • »м€ группы
  • ѕароль зашифрованный
  • јдминистраторы, те учетные записи, которые могут мен€ть пароль группы или добавл€ть другие аккаунты
  • „лены групп

—ледовательно, пароли могут хранитс€ и в тех, и в тех файлах, отличие в том, что у пользователей есть доступ на чтение к файлам passwd и group, а к shadow и gshadow только у пользовател€ root. ƒанный механизм называетс€ механизмом теневых паролей, и он присутствует во всех современных Linux системах.

“еперь, посмотрим, как это выгл€дит в операционной системе.

«аходим в файл passwd любым текстовым редактором, например, nano, без повышени€ привилегий.

passwd passwd

¬озьмем пользовател€:

list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin

Ћогин - list, значок X говорит о том, что пароль хранитс€ в теневом файле. ƒалее 38 Ц id пользовател€, 38 - gid, проча€ информаци€ - Mailing List Manager, домашн€€ папка пользовател€ - /var/list и оболочка котора€ используетс€ при входе - /usr/sbin/nologin.

ћожно увидеть, что вместо оболочки у пользовател€ указан nologin Ц это означает, что пользователь не может войти, использу€ стандартный экран входа, использу€ стандартные средства. Ќа картинке можно найти пользовател€ siadmin. ћожно также увидеть все остальные параметры этого пользовател€. ” него совпадает uid и gid, это св€занно с тем , что при создании пользовател€ создаетс€ одноименна€ группа. ћожно, конечно, при создании указать, что пользователь будет входить в другую группу и не создавать одноименную, но по умолчанию она создаетс€. ¬ конце строчки мы можем увидеть /bin/bash, котора€ запускаетс€ при входе в систему. ћожно обратить внимани€ на uid и gid все реальные пользователи их имеют числом выше 1000. ¬се пользователи, у которых число ниже Ц это служебные пользователи или созданные автоматически. ¬ некоторых дистрибутивах Linux нумераци€ реальных пользователей начинаетс€ с 500.

ѕосмотрим файл с группами, вводим команду nano /etc/group

nano /etc/group

ƒанна€ база очень проста€. ”казано наименование группы, знак X говорит, о том, что пароль хранитс€ в теневой базе, идентификатор группы и список пользователей в данной группе. ≈динственный нюанс - если пользователь входит в свою же группу, то после знака двоеточие пользователь не отображаетс€.

ƒалее файлы /etc/shadow и /etc/gshadow, данные файлы не редактируютс€ с помощью текстовых редакторов, а через специальные команды. ƒанные файлы Ч это просто хранилище информации. Ёти утилиты будут рассмотрены в следующем уроке.

«айти в эти файлы могут только пользователи имеющие права root или с помощью команды повышающей привилегии sudo.

sudo nano /etc/shadow
sudo nano /etc/shadow

“еперь мы видим в данном файле через двоеточие:

  • »м€ пользовател€
  • * или зашифрованный пароль
  • —рок с последнего изменени€ парол€ в дн€х
  • ћинимальный срок изменени€ парол€, если 0, то сменить пароль можно сразу
  • 99999 - срок действи€ парол€, 7 - количество дней за которое до истечени€ парол€ придет предупреждение

—имвол * говорит о том, что под данным пользователем нельз€ зайти стандартным способом, обычно это примен€етс€ дл€ служебных аккаунтов, т.е вход вообще заблокирован под данным аккаунтом.

¬от так вот реализуетс€ механизм теневых паролей.


—кидки 50% в Merion Academy

¬ыбрать курс