Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Etc passwd linux

Предложение от 8host.com

Использование passwd и adduser для управления паролями на выделенном сервере Linux

Вступление

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

Данное руководство рассматривает некоторые базовые файлы, такие как «/etc/passwd» и «/etc/shadow», а также такие инструменты для настройки проверки подлинности, как команды «passwd» и «adduser».

Для демонстрации примеров используется выделенный сервер Ubuntu 12.04 , но любой современный дистрибутив Linux работает таким же образом.

Что такое файл «/etc/passwd»?

Для начала нужно рассмотреть файл под названием «/etc/passwd», который на самом деле не содержит паролей.

Когда-то этот файл хранил хешированные пароли всех пользователей в системе. Тем не менее, по соображениям безопасности позже эта ответственность была перенесена в отдельный файл.

Итак, что же находится в файле «/etc/passwd»?

less /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
. . .

Первое, на что стоит обратить внимание: этот файл доступен для непривилегированных пользователей.

То есть, любой пользователь системы может читать данный файл. Вот почему все пароли были перенесены в другой файл.

Рассмотрим формат файла.

Чтение файла «/etc/passwd»

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

Чтобы объяснить, какая именно информация содержится в строках данного файла, нужно подробно рассмотреть одну строку.

Поля информации разделяются двоеточием (:). Каждая строка типичного Linux-файла «/etc/passwd» содержит 7 полей:

  1. Root: имя пользователя;
  2. х: место для информации о паролях; пароль можно найти в файле «/etc/shadow».
  3. : ID пользователя. Каждый пользователь имеет уникальный идентификатор, благодаря которому система распознает его. ID root-пользователя всегда 0;
  4. : ID группы. Каждая группа имеет уникальный идентификатор. По умолчанию у каждого пользователя есть главная группа. Опять же, ID root-группы всегда 0;
  5. root: поле для примечаний. Данное поле можно использовать для описания пользователя или его функций. Оно может содержать что угодно, начиная от контактной информации пользователя и заканчивая описанием сервисов, для которых была создана учетная запись;
  6. /root: домашний каталог. Для обычных пользователей домашним каталогом является «/home/username», для root-пользователя это «/root»;
  7. /bin/bash: оболочка пользователя. Данное поле содержит оболочку, которая будет создана, или команды, которые будут выполняться при входе пользователя в систему.

По мере добавления пользователей с помощью таких команд, как «adduser» и «useradd», или с установкой большего количества сервисов этот файл будет расти. Информация о новом пользователе будет добавлена в конце данного файла.

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

Что такое «/etc/shadow»?

Фактические данные о паролях хранятся в файле с именем «/etc/shadow».

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

Функция выведения ключей – это алгоритм, создающий при вводе одних и тех же данных определенный хэш. Такой же алгоритм выполняется на пароль, который дается в процессе аутентификации, и это значение сравнивается со значением в этом файле.

Имейте в виду, данный файл, в отличие от файла «/etc/passwd», не доступен дл прочтения непривилегированными пользователями.

Пользователь root имеет привилегии читать и писать в файлах; группа «shadow», содержащая пользователей, которым необходима аутентификация, имеет права на чтение.

Чтение файла «/etc/shadow»

Чтобы открыть файл «/etc/shadow», введите:

sudo less /etc/shadow
root:$6$mJD3Rsj4$xUa7jru6EEGTXnhwTfTT26/j8M5XiQvUl6UH32cfAWT/6W9iSI5IuIw5OOw4khwrsOHPyMwfCLyayfYiVdhAq0:15952:0:99999:7.
daemon:*:15455:0:99999:7.
bin:*:15455:0:99999:7.
sys:*:15455:0:99999:7.
sync:*:15455:0:99999:7.
games:*:15455:0:99999:7.
man:*:15455:0:99999:7.
. . .

Как и в файле «/etc/passwd», каждая строка содержит информацию об отдельном пользователе, а каждое поле отделяется символом двоеточия.

Примечание: символ звездочки (*) во втором поле строк значит, что данная учетная запись не может войти в систему. Обычно это используется для сервисов.

Для примера можно рассмотреть одну строку данного файла:

Файл «/etc/shadow» содержит следующие поля:

  1. daemon: имя пользователя;
  2. *: соль и хешированный пароль; данное поле можно просмотреть, войдя как root. Как указано выше, звездочка значит, что данная учетная запись не может быть использована для входа в систему.
  3. 15455: последнее изменение пароля. Данное значение ограничивается датой начала «Unix-эпохи» (1 января 1970).
  4. : допустимое количество дней для смены пароля. 0 в данном поле значит, что таких ограничений нет.
  5. 99999: количество дней до необходимости смены пароля. Значение 99999 указывает на то, что ограничения на продолжительность использования одного пароля не установлены.
  6. 7: количество дней до предупреждения об истечении срока использования пароля. Если требуется сменить пароль, пользователь будет извещен о данной необходимости за указанное количество дней.
  7. [blank]: последние три поля нужны для того, чтобы указать количество дней до деактивации учетной записи. Последнее поле не используется.

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

Для изменения паролей пользователей используется команда «passwd».

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

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

sudo passwd username

Будет запрошен пароль для команды «sudo», затем можно будет ввести новый пароль и подтвердить его.

Если сравнить значение хэш в файле «/etc/shadow», можно увидеть, что после ввода команды passwd оно изменилось.

Создание нового пользователя

Нового пользователя можно создать при помощи нескольких команд.

Самый простой способ – использовать команду «adduser». В системах Ubuntu данная команда связана со скриптом «perl», который обрабатывает создание пользователя.

Команду можно вызвать следующим образом:

adduser demo
Adding user `demo’ .
Adding new group `demo’ (1000) .
Adding new user `demo’ (1000) with group `demo’ .
Creating home directory `/home/demo’ .
Copying files from `/etc/skel’ .
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for demo
Enter the new value, or press ENTER for the default
Full Name []: test
Room Number []: room
Work Phone []: work phone
Home Phone []: home phone
Other []: other
Is the information correct? [Y/n]

На данном этапе появится несколько вопросов, которые помогут внести необходимую информацию в файлы «/etc/passwd» и «/etc/shadow».

Можно просмотреть внесенную в файл «/etc/passwd» запись, введя:

tail -1 /etc/passwd
demo:x:1000:1000:test,room,work phoneme phone,other:/home/demo:/bin/bash

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

Можно запустить похожую команду для того, чтобы просмотреть изменения, внесенные в файл «/etc/shadow».

sudo tail -1 /etc/shadow
demo:$6$XvPCmWr4$HXWmaGSeU5SrKwK2ouAjc68SxbJgUQkQ.Fco9eTOex8232S7weBfr/CMHQkullQRLyJtCAD6rw5TVOXk39NAo/:15952:0:99999:7.

Итоги

При помощи этих простых инструментов можно изменить регистрационную информацию системы.

После внесения изменений важно проверить, можете ли вы войти в систему. Также необходимо проверить права на идентификационные файлы, чтобы сохранить функциональность сервера и обеспечить ему безопасность.

Структура хранения данных о пользователе в Linux. Файл /etc/passwd

Как упоминалось ранее, (в статье про то, как можно посмотреть список пользователей на компьютере под Linux), есть файл /etc/passwd , в котором хранятся основные данные всех пользователей Linux. В этой статье подробно рассмотрим, что это за данные и в каком формате они записываются и хранятся. Файл /etc/passwd — обычный текстовый файл и его можно открыть, посмотреть и изменить, если есть права доступа к нему. Обычно эти права есть у пользователя root .

Читать еще:  Ошибка поиска днс

Содержимое файла /etc/passwd

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

Структура записей о пользователе Linux в файле /etc/passwd

Итак, разберём поля, относящиеся к пользователю в этом файле. Как было указано их ровно семь:

login : password : UID : GID : GECOS : home : shell

Поле login

Поле login содержит регистрационное имя (или логин) пользователя. Регистрационные имена должны быть уникальными и представлять собой строки не длиннее 32 символов (любые, кроме двоеточия и символа новой строки). По сути дела, имя пользователя — это его короткий и легко запоминаемый псевдоним, который используется при входе в систему и часто включается в адреса электронной почты.

Поле password

Поле password предназначено для хранения пароля пользователя. Но хранить его в явном виде, да ещё и все пароли в одном месте, не безопасно. Поэтому в этом поле обычно стоит символ x , вместо паролей хранятся их хэши, и не в этом поле, а в специальном файле /etc/shadow . Таким образом, даже если кому-то удастся получить файл /etc/passwd , то паролей пользователей в нём нет и требуется ещё файл /etc/shadow , в котором хранятся хэши паролей (зашифрованные записи самих паролей). То есть пароль пользователя в явном виде не знает даже администратор. Можно конечно порадоваться, но админ всегда может поменять ваш пароль и войти с этим новым паролем на компьютер. Так что root — всё равно имеет доступ ко всему на компьютере. (Другое дело, что при смене пароля придётся объяснять пользователю, почему он вдруг не может войти под своим логином, но это уже другая история.) 😉

Поле UID

Поле UID содержит идентификатор пользователя. Идентификатор пользователя — это число от 0 до 2 32 -1. Пользователь с идентификатором 0 (обычно root ) называется суперпользователем и имеет право на выполнение любых операций в системе. Принято соглашение о выделении «специальным» пользователям ( bin , daemon ), назначение которых — только запуск определённых программ, маленьких идентификаторов (меньше 100 или, в некоторых дистрибутивах Linux, меньше 500). По UID в некоторых программах можно определить, что за пользователь совершает (или совершил (в логах)) какое-либо действие. В системе могут существовать несколько пользователей с одним идентификатором. Это нередко используется взломщиками, когда они после проникновения в систему создают себе учётную запись с UID =0. В результате они выглядят как обычные пользователи, но на самом деле имеют права root .

Поле GID

Поле GID содержит идентификатор группы пользователя. Один пользователь в UNIX может принадлежать к одной или нескольким группам, которые используются для задания прав более чем одного пользователя на тот или иной файл. Максимальное количество групп, в которых может состоять один пользователь, разное в разных вариантах системы. Список групп с их участниками задаётся в /etc/group . В файле /etc/passwd указывается идентификатор группы по умолчанию.

Поле GECOS

Поле GECOS хранит вспомогательную информацию о пользователе (номер телефона, адрес, полное имя и так далее). Оно не имеет чётко определённого синтаксиса.

Поле home

Поле home содержит путь папке пользователя (домашнему каталогу). После входа в систему пользователь оказывается в своём домашнем каталоге, в котором хранятся данные пользователя: файлы, логи и прочая информация, относящаяся к работе этого пользователя на данном компьютере. Если на момент входа в систему домашний каталог отсутствует, то система выдаёт сообщение об ошибке и отказывается допустить пользователя к командной строке. Такое поведение не характерно для GNU/Linux; в большинстве дистрибутивов этой ОС просто выводится предупреждение, после чего пользователь попадает в каталог « / ». В целях безопасности это можно изменить посредством установки параметра DEFAULT_HOME в файле /etc/login.defs в значение no .

Для информации:
В → этой статье предложено несколько способов того, как получить путь к домашней директории пользователя.

Поле shell

Поле shell содержит данные по регистрационной оболочке, подключенной к учётной записи пользователя. В поле регистрационной оболочки задаётся shell , то есть интерпретатор командной строки. Здесь может быть указана любая программа, и пользователь может сам выбирать для себя наиболее подходящую при помощи команды chsh . Тем не менее, некоторые системы в целях безопасности требуют, чтобы суперпользователь root явно разрешил использовать приложение в качестве интерпретатора командной строки. Для этого используется специальный файл /etc/shells , содержащий список допустимых оболочек. Для того, чтобы отключить доступ пользователя к shell , в это поле можно ввести значение /bin/false . Таким образом, пользователь при попытке зайти в систему через консоль будет попадать на обработчик /bin/false вместо запуска оболочки shell заданной в системе по умолчанию, например /bin/bash или /bin/date .

Блог о системном администрировании. Статьи о Linux, Windows, СХД NetApp и виртуализации.

В своих прошлых постах блога я уже затрагивал тему пользователей в операционной системе Linux. Например в теме о правах доступа в Linux я затрагивал вопросы принадлежности пользователя к группе, а так же то, что пользователи и группы имеют свои UID и GID. Так же поднималась тема о сбросе пароля пользователя root. Сегодня я бы хотел систематизировать знания о базе локальных пользователей в Linux, о том, как управлять пользователями и о файлах, отвечающих за управление пользователями.

Linux — это многопользовательская операционная система. Каждый пользователь в Linux принадлежит одной основной группе и одной или нескольким дополнительным группам. В Linux, как и в большинстве других операционных системах работа с пользователями заключается в наборе следующих манипуляций: добавление пользователя/группы, удаление пользователя/группы, модификация настроек пользователя/группы. Данные манипуляции производятся с помощью команд: useradd, groupadd, userdel, groupdel, usermod, groupmod, а так же passwd, gpasswd, id. Более подробно: Описание команд управления пользователями Linux. Существуют так же и графические средства администрирования пользователями, обычно они расположены в оболочке X в разделе Администрирование — Пользователи и группы.

Особенности управления пользователями в Linux

Пример добавления пользователя с помощью шелла:

В примере мы добавляем группу для нового пользователя (groupadd), далее создаем нового пользователя с полным именем Test Test, имеющего основную группу test и логин test, далее задаем пароль для пользователя test (passwd test) и проверяем параметры созданного пользователя (id и созданный каталог пользователя /home/test/). В листинге видно, что UID и GID — более 1000. Данная особенность является признаком обычного пользователя. Значения ниже (меньше) 1000 (а в некоторых дистрибутивах — меньше 500) указывают на то, что пользователь является системным пользователем.

В соответствии с соглашением, системные пользователи обычно имеют id меньше, чем 100, а пользователь root имеет id, равный 0. Автоматическая нумерация обычных пользователей начинается со значения UID_MIN, установленного в файле /etc/login.defs, это значение обычно установлено в 500 или 1000.

Помимо учетных записей обычных пользователей и учетной записи пользователя root, обычно в системе бывает несколько учетных записей специального назначения для демонов, таких как FTP, SSH, mail, news и т.д. Такие учетные записи часто управляют файлами, но к ним невозможно получить доступ путем обычной регистрации в системе. Поэтому обычно они имеют login shell, определенный как /sbin/nologin или /bin/false, чтобы попытки зарегистрироваться в системе терпели неудачу.

Читать еще:  Lock file linux

В некоторых системах, команда(ы) добавления пользователей имеют расширенный функционал. То есть, для примера, команда useradd в дистрибутивах Fedora и Red Hat по умолчанию, для нового пользователя создает новую группу и для отмены данной функции, необходимо использовать опцию -n. Для уточнения таких вопросов, необходимо обратиться к документации дистрибутива.

При удалении пользователя, его каталог не удаляется. В результате можно получить интересную ситуацию:

В приведенном примере мы удаляем пользователя и группу test, созданную ранее. При этом каталог данного пользователя остался не тронутым. Как видно из листинга, права у каталога остались для id 1001. Далее мы создаем нового пользователя и группу, но уже с другим именем — test123. Данному пользователю присваивается UID и GID — ранее существующего пользователя test. Посмотрев список каталогов, начинающиеся на /home/test* с ключом -n и без него, видим, что получилось — каталог пользователя test стал принадлежать пользователю test123, о чем нам говорят права доступа -rw-r—r— test123 test123. Входим в систему под пользователем test123 и для проверки прав доступа, в каталоге /home/test пробуем удалить файл, а так же пробуем удалить файл из каталога третьего пользователя — mc-sim. Данный пример хорошо иллюстрирует, что в Linux все привязано к идентификаторам.

Управление базами данных пользователей и групп в Linux

Основные файлы, содержащие информацию о пользователях и группах, — это четыре файла в каталоге /etc.

/etc/passwd

файл паролей, содержащий основную информацию о пользователях

/etc/shadow

файл теневых шифрованных паролей, содержащий зашифрованные пароли

/etc/group

файл групп, содержащий основную информацию о группах и принадлежащих этим группам пользователях

/etc/gshadow

файл теневых групп, содержащий шифрованные пароли групп

Данные файлы редактировать обычным текстовым редактором крайне не рекомендуется. Они (файлы), обновляются при выполнении вышеуказанных команд, при этом при изменении — блокируются и синхронизируются.

Если все же есть острая необходимость в редактировании указанный файлов, то при помощи команды vipw можно безопасно редактировать файл /etc/passwd, а при помощи команды vigr безопасно редактировать файл /etc/group. Эти команды заблокируют необходимые файлы на то время, пока при помощи редактора vi будут производиться изменения. Если вы вносите изменения в файл /etc/passwd, команда vipw подскажет, что необходимо проверить, не нужно ли обновить и файл /etc/shadow. Подобным образом, если вы обновляете файл /etc/group при помощи команды vigr, вы получите подсказку, что необходимо обновить и файл /etc/gshadow. Если необходимо удалить администраторов группы, необходимо использовать команду vigr, поскольку команда gpasswd позволяет только добавлять администраторов.

Обращаю внимание, что в современных системах, файлы passwd и group не хранят пароли в открытом виде. Это сделано из соображений безопасности. Сами файлы passwd и group должны быть доступными для чтения для всех, а зашифрованные пароли — недоступными для чтения для всех. Поэтому зашифрованные пароли хранятся в теневых файлах, и эти файлы доступны для чтения только пользователю root. Необходимый доступ для изменения аутентификационных данных обеспечивается при помощи suid-программы, которая имеет полномочия пользователя root, но может быть запущена любым пользователем.

Файл /etc/passwd

Файл /etc/passwd содержит одну строку для каждого пользователя системы. Каждая строка содержит семь полей, разделенных двоеточиями (:), описание полей на примере пользователя root:

Understanding Linux /etc/passwd File Format

by Magesh Maruthamuthu · Last Updated: August 1, 2019

User account creation is one of the basic task for Linux administrator that everyone aware.

Do you know where it’s keeping the users information and how to check and understand it?

Linux user information was residing in /etc/passwd file.

It’s a text file that contains the essential information about each user as a single line with seven fields.

It can be readable by all users in the system with help of any text editor.

Each line in /etc/passwd represents a single user. This file keep the user’s information in three parts.

  • Part-1: root user information
  • Part-2: system-defined accounts information
  • Part-3: Real user information

The first part is the root account, which is administrator account has complete power over every aspect of the system.

The second part is followed by system-defined groups and accounts that are required for proper installation and update of system software.

The third part at the end represent real people who use the system.

If you want to know other articles related for user management then navigate to the following URL.

  • Linux User Management Articles

The /etc/login.defs file provides default configuration information for user account parameters. It defines, UID and GID Min/max values for normal users and system users to select correct values while creating a user.

Also, it uses the following parameters while creating user to assign home directory, shell and group name, etc.,

When we create a new user, the new user details will be appended into this file.

While creating a new users the below four files will be modified.

  • /etc/passwd: User details will be updated in this file.
  • /etc/shadow: User password info will be updated in this file.
  • /etc/group: Group details will be updated of the new user in this file.
  • /etc/gshadow: Group password info will be updated of the new user in the file.

How to Access /etc/passwd File in Linux?

As i told in the beginning of the article, it’s a text file and everybody has an access. Use either getent command or any file manipulation commands to access it.

I have trimmed the file for better understanding.

What are the Seven Fields and it’s Details?

The /etc/passwd is a text file that contains each user information, which is necessary to login Linux system. It maintain useful information about users such as username, password, user ID, group ID, user ID info, home directory and shell.

The /etc/passwd file contain every user details as a single line with seven fields as described below, each fields separated by colon “:”

These are the seven fields, which is in /etc/passwd file.

  • Username
  • Password
  • User ID
  • Group ID
  • User ID Info – Comments
  • Home Directory
  • Shell

Below are the detailed information about these seven fields.

  • Username (daygeek): Username of created user. Characters length should be between 1 to 32.
  • Password (x): It indicates that encrypted password is stored at /etc/shadow file.
  • User ID (UID-1000): It indicates the user ID (UID) each user should be contain unique UID. UID (0-Zero) is reserved for root, UID (1-499) reserved for system users and UID (500-999) reserved for system accounts/groups
  • Group ID (GID-1000): It indicates the group ID (GID) each group should be contain unique GID is stored at /etc/group file.
  • User ID Info (2g Admin — daygeek): It indicates the comment field. This field can be used to describe the user information.
  • Home Directory (/home/daygeek): It indicates the user home directory.
  • shell (/bin/bash): It indicates the user’s bash shell.

Use the following command, if you would like to print only normal users, which starts UID from 1000.

Use the following command, if you would like to print only normal users and their UID as well, which starts UID from 1000.

Читать еще:  Ошибка конфиденциальности в гугл хром

How Users are Allowed to Change their Own Password in Linux?

You might have a question that how users are allowed to change their own password when the file only has read permission to them?

Yes, you are right, don’t worry, I’m here to clarify that.

Simply use ls command to check the /etc/passwd file permission.

This would be achieved by assigning a Sticky Bit permission to the passwd script file.

What is Sticky Bit?

The sticky bit is primarily used on shared directories. It allows users to a create their own files, read, write and execute files owned by other users, but are not allowed to remove files owned by other users.

Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей

Глава 27. Пароли пользователей

Данная глава содержит дополнительную информацию о паролях локальных пользователей.

В главе подробно описаны три метода установки паролей; с использованием утилиты passwd , с использованием реализации алгоритма шифрования passwd из библиотеки openssl , а также с использованием функции crypt в программе на языке C.

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

Утилита passwd

Файл shadow

Файл /etc/shadow содержит таблицу с девятью разделенными двоеточиями столбцами. Эти девять столбцов (слева направо) содержат имя пользователя, зашифрованный пароль, время последнего изменения пароля (первый день соответствует 1 января 1970 года), количество дней, в течение которых пароль должен оставаться неизменным, день истечения срока действия пароля, количество дней перед истечением срока действия пароля, в течение которых должно выводиться предупреждение, количество дней после истечения срока действия пароля, по прошествии которых учетная запись должна быть отключена, а также день, когда учетная запись была отключена (также с начала 1970 года). Последнее поле пока не имеет значения.

Все пароли в примере выше являются хэшами фразы hunter2 .

Шифрование ключевых фраз с помощью утилиты passwd

Шифрование ключевых фраз с помощью утилиты openssl

Другой способ создания учетных записей пользователей с паролями заключается в использовании параметра -p утилиты useradd, но в случае использования данного параметра утилите необходимо передавать уже зашифрованный пароль. Вы можете зашифровать пароль с помощью команды openssl passwd .

Помните о том, что после выполнения данной команды ваш пароль в открытом виде будет сохранен в файле истории команд командной оболочки!

Шифрование ключевых фраз с помощью функции crypt

Обратили ли вы внимание на то, что первые два символа зашифрованного пароля являются значением salt ?

Файл /etc/login.defs

Утилита chage

Блокировка учетных записей

Пароли из файла /etc/shadow не могут начинаться с символа восклицательного знака. Если второе поле в строке из файла /etc/passwd начинается с символа восклицательного знака, пароль не может использоваться.

Использование данной особенности обычно называется блокировкой , деактивацией или отключением пользовательской учетной записи. Помимо текстового редактора vi (или vipw) вы можете использовать утилиту usermod для этой цели.

Следует подходить с осторожностью к работе и учитывать различия параметров интерфейса командной строки утилит passwd , usermod и useradd в различных дистрибутивах Linux. Проверяйте содержимое локальных файлов при использовании таких возможностей, как «деактивация, отключение или блокировка» учетных записей пользователей и их паролей.

Редактирование локальных файлов

Практическое задание: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

5. Попытайтесь изменить пароль serena на пароль serena as serena.

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Корректная процедура выполнения практического задания: пароли пользователей

1. Установите пароль hunter2 для пользователя serena .

2. Также установите пароль для пользователя venus , после чего заблокируйте учетную запись пользователя venus с помощью утилиты usermod . Проверьте наличие признаков блокировки в файле /etc/shadow до и после осуществления блокировки.

Обратите внимание на то, что в результате выполнения команды usermod -L перед хэшем пароля добавляется символ восклицательного знака.

3. Используйте команду passwd -d для деактивации пароля пользователя serena . Проверьте наличие строки для пользователя serena в файле /etc/shadow до и после осуществления деактивации.

4. Каковы различия между операцией блокировки пользовательской учетной записи и операцией деактивации пароля пользовательской учетной записи, которые мы только что осуществляли с помощью команд usermod -L и passwd -d ?

Блокировка предотвратит вход пользователя в систему с использованием установленного пароля благодаря добавлению символа ! перед хэшем пароля в файле /etc/shadow .

Деактивация с помощью утилиты passwd приведет к удалению хэша пароля из файла /etc/shadow .

5. Попытайтесь изменить пароль serena на пароль serena as serena.

Войдите в систему с именем пользователя serena , после чего выполните команду: passwd serena . Исполнение команды должно завершиться неудачей!

6. Сделайте так, чтобы пользователь serena был обязан изменять пароль через каждые 10 дней.

7. Сделайте так, чтобы каждый новый пользователь был обязан изменять свой пароль через каждые 10 дней.

8. Воспользуйтесь учетной записью пользователя root для создания резервной копии файла /etc/shadow . Используйте текстовый редактор vi для копирования хэша пароля hunter2 из строки пользователя venus в строку пользователя serena . Может ли после этого пользователь serena войти в систему с паролем hunter2 ?

9. В каких случаях следует использовать утилиту vipw вместо vi ? Какая проблема может возникнуть при использовании текстового редактора vi или vim для редактирования файла паролей?

Утилита vipw выведет предупреждение в том случае, если кто-либо еще в данный момент редактирует данный файл (с помощью утилиты vipw ).

10. Используйте команду chsh для вывода списка доступных командных оболочек (данная команда будет работать исключительно в дистрибутивах RHEL/CentOS/Fedora) и сравните вывод с выводом команды cat /etc/shells .

11. Какой параметр утилиты useradd позволяет установить имя домашней директории пользователя?

12. Как можно определить, заблокирован или разблокирован пароль пользователя serena ? Предложите решение на основе утилиты grep , а также решение на основе утилиты passwd .

Ссылка на основную публикацию
Adblock
detector