Поиск по сайту:

Интерфейсы сохраняют порядок вещей, но не ускоряют рост - функции же ускоряют. (Алан.Дж.Перлис)

Где и как хранятся пароли в Linux?

4 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
17 ноября 2020
Где и как хранятся пароли в Linux?
Имя пользователя с соответствующим паролем для конкретной учетной записи является основным требованием, с помощью которого пользователь может получить доступ к системе Linux. Все пароли учетных записей пользователей сохраняются в файле или базе данных, чтобы пользователь мог быть проверен во время попытки входа в систему. У каждого пользователя недостаточно навыков и опыта, чтобы найти этот файл в своей системе. Однако, если вы получите доступ к базе данных или к файлу, в котором хранятся все пароли пользователей для входа в систему, вы сможете легко получить доступ к системе Linux. Когда пользователь вводит имя пользователя и пароль в Linux для входа в систему, он сравнивает введенный пароль с записью в различных файлах каталога ‘/etc’.

Файл /etc/passwd хранит всю важную информацию, необходимую для входа пользователя. Проще говоря, в файле /etc/passwd хранятся данные учетной записи пользователя. Этот файл представляет собой обычный текстовый файл, содержащий полный список всех пользователей вашей системы Linux. Он содержит информацию об имени пользователя, пароле, UID (идентификатор пользователя), GID (идентификатор группы), оболочке и домашнем каталоге. Этот файл должен иметь разрешения на чтение, поскольку многие утилиты командной строки используются для сопоставления идентификаторов пользователей с именем пользователя. Но должны иметь ограниченные права на запись только для учетных записей суперпользователя или пользователя root.

В этой статье будет показано, как и где можно хранить пароли учетных записей системных пользователей в дистрибутиве Linux. Мы реализовали все демонстрации в системе Ubuntu 20.04. Однако вы можете найти файл /etc/passwd в любом дистрибутиве Linux.

 

Предварительные условия

У вас должны быть права root для выполнения административных команд.

 

Базовые сведения о файле/etc/passwd

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

$ cat /etc/passwd

 

Приведенная выше команда выведет список всех пользователей вашей системы Linux.

Читать  Как одновременно выполнять команды в Linux

Подробная информация о форматах полей /etc/passwd:

  • Username: первое поле представляет имя пользователя. Длина поля имени пользователя определяется от 1 до 32 символов. Это используется, когда пользователь входит в систему.
  • Password: В приведенном выше примере символ «x» означает, что пароль хранится в зашифрованном виде в файле /etc/shadow.
  • User ID (UID): идентификатор пользователя должен быть отдельно назначен каждому пользователю. Нулевой UID назначается пользователю root, а идентификаторы пользователей от 1 до 99 назначаются предопределенным или стандартным учетным записям. Дальнейшие UID от 100 до 999 назначаются системным административным учетным записям или группам.
  • Group ID (GID): Следующее поле представляет собой идентификатор группы. GID хранится в файле /etc/group.
  • Information about User ID: Следующее поле предназначено для комментариев. В этом поле вы можете добавить некоторую дополнительную информацию об указанном пользователе, такую как полное имя пользователя, номер телефона и т. д.
  • Home directory: в этом поле отображается расположение домашнего каталога, назначенного текущему пользователю. Если указанный каталог не существует, будет отображаться «/».
  • Command //shell: Абсолютный путь по умолчанию к оболочке или команде – /bin/bash. Это известно как оболочка. Например, системный администратор, использующий оболочку nologin. Он действует как замещающая оболочка для учетных записей пользователей системы. Если оболочка расположена по пути /sbin/nologin, и пользователь хочет войти непосредственно в систему Linux, оболочка /sbin/nologin закроет или отключит соединение.

 

Поиск пользователя в файле/etc/passwd

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

$ grep user-name /etc/passwd

 

Приведенный выше синтаксис изменится на следующую форму:

$ grep andreyex / etc / passwd

 

или

$ grep -w '^andreyex' /etc/passwd

 

Показать разрешения для файла/etc/passwd

Как мы упоминали выше, все остальные пользователи, кроме root, должны иметь возможность читать права доступа к файлу/etc/passwd, и что владельцем должен быть суперпользователь или root.

Читать  7 полезных примеров командной строки SFTP

Введите следующее, чтобы проверить разрешения на чтение файла:

$ ls -l /etc/passwd

 

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

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

Создайте текстовый файл и вставьте в него следующий код:

#!/bin/bash
# всего семь полей из/etc/passwd, хранящихся как $ f1, f2 ..., $ f7, в то время как IFS =: read -r f1 f2 f3 f4 f5 f6 f7

do
echo "Пользователь $f1 использует $f7 оболочку и хранит файлы в каталоге $f6".
сделано </etc/passwd

 

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

Сохраните указанный выше файл с именем readfile.sh.

Теперь запустите указанный выше файл, используя следующую команду:

$ bash readfile.sh

 

Изучите файл/etc/shadow

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

$ sudo cat /etc/shadow

 

Вы можете увидеть все пароли в зашифрованном виде.

 

Вывод

Из этой статьи мы видели, что все данные учетной записи и пароли пользователя хранятся в файле/etc/passwd в системе Linux. Вы можете читать этот файл, но только пользователи root имеют «права на запись». Более того, мы также видели все зашифрованные пароли, хранящиеся в файле/etc/shadow. Вы также можете изучить файл/etc/group, чтобы получить подробную информацию о группе пользователя.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close