Найти тему
takoedelo

linux пользователи

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

админ и  учетные записи пользователей
админ и учетные записи пользователей

Зачем беспокоиться о дополнительных учетных записях пользователей?

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

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

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

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

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

Перечислите пользователей с помощью команды cat

Список пользователей сохраняется вместе с информацией о каждом пользователе в файле "/etc/passwd". Это текстовый файл, который обычные пользователи могут отобразить в окне терминала. Вам не нужно использовать sudo для просмотра файла "/etc/passwd".

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

cat /etc/passwd

-2

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

-3

Информация для учетной записи пользователя с именем "dave" содержит эти фрагменты информации с двоеточиями ":" между ними.

  • dave: имя учетной записи пользователя. Обычно это имя человека, которому принадлежит учетная запись.
  • x: когда-то в нем содержался пароль для учетной записи. В настоящее время пароли хранятся в файле "/etc/shadow". "x" означает, что пароль находится в том файле.
  • 1000: идентификатор пользователя для этой учетной записи. Все учетные записи пользователей имеют уникальный числовой идентификатор. Обычные учетные записи пользователей обычно начинаются с 1000, причем каждая новая учетная запись получает следующий идентификатор, такой как 1001, 1002 и так далее.
  • 1000: идентификатор группы по умолчанию, к которой принадлежит пользователь. В обычных обстоятельствах группа по умолчанию имеет то же значение, что и идентификатор пользователя.
  • dave,,,: Набор необязательной дополнительной информации о пользователе. Это поле содержит данные с запятыми "," между ними. Они могут содержать такие данные, как полное имя пользователя и номер телефона. Запись для учетной записи пользователя "мэри" показывает, что ее полное имя Мэри Куинн.
  • /home/dave: путь к домашней папке пользователя.
  • /bin/bash: оболочка по умолчанию для этого пользователя.

Если мы передадим выходные данные этой команды через wc утилиту и используем -l опцию (lines), мы сможем посчитать строки в файле. Это даст нам количество учетных записей, настроенных на этом компьютере.

cat /etc/passwd | wc -l

-4

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

С таким количеством учетных записей удобнее использовать less для просмотра файла "/etc/passwd".

less /etc/passwd

-5

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

-6

Команда awk

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

Мы попросим awk использовать двоеточие ":" в качестве разделителя полей и напечатать первое поле. Мы будем использовать опцию -F (разделитель полей).

awk -F: '{print $1}' /etc/passwd

-7

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

-8

Команда cut

Мы можем добиться того же с помощью команды cut. Нам нужно использовать опцию -d (разделитель) и выбрать только первое поле, используя опцию -f (поля).

cutr -d: -f1

-9

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

Команда compgen

Команду compgen можно использовать с опцией -u (user) для составления списка учетных записей пользователей. Мы передадим выходные данные с помощью команды column, чтобы перечислить учетные записи пользователей в столбцах, вместо одного длинного списка с одним именем пользователя в строке.

compgen -u | column

-10

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

UID MIN и UID MAX

Учетным записям пользователей присваивается числовой идентификатор, который мы видели ранее. Обычно обычные учетные записи пользователей начинаются с 1000, а системные учетные записи пользователей начинаются с 0. Идентификатор учетной записи root равен 0.

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

Linux отслеживает эти два значения, используя параметры конфигурации с именами UID_MIN и UID_MAX . Они хранятся в файле "/etc/login.defs". Мы можем легко увидеть эти значения, используя grep.

Мы собираемся использовать опцию -E . Наша строка поиска ищет строки, начинающиеся с "UID_MIN" или "UID_MAX" в файле "/etc/login.defs". Символ каретки "^" обозначает начало строки.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Команда getent

Команда getent считывает информацию из системных баз данных. Мы можем указать ей список записей в файле "/etc/passwd", используя "passwd" в качестве параметра.

getent passwd

Это дает нам те же данные, которые мы можем получить, используя cat. Но getent лучше , так как использует значения, известные как "ключи". Ключ определяет, о какой информации getent сообщается. Если мы хотим увидеть запись для одного пользователя, мы можем ввести имя его учетной записи в командной строке.

getent passwd Sarah

Обратите внимание, что имя учетной записи пользователя чувствительно к регистру.

getent passwd sarah

Мы также можем ввести верхний и нижний пределы идентификаторов учетных записей пользователей, которые мы хотим видеть. Чтобы увидеть абсолютно все учетные записи обычных пользователей, мы можем использовать значения из UID_MIN и UID_MAX.

getent passwd {1000 ..60000}

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

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

Давайте посмотрим, каков самый высокий идентификатор учетной записи пользователя. Мы воспользуемся командой cut, но на этот раз мы запросим третье поле, поле идентификатора пользователя. Мы передадим выходные данные через sort и используем -g опцию (общая числовая сортировка).

cut -d: -f3 /etc/passwd | sort -g

Максимальное значение ID учетной записи пользователя, принадлежащей человеку, равно 1401.

Идентификатор пользователя 65534 присваивается системному "никто".

getent passwd {65534..65534}

-11

Итак, мы знаем, что вместо UID_MAX значения 60000 на этом компьютере мы можем использовать более реалистичное значение, например 1500. Это значительно ускорит работу. Мы также передадим выходные данные через cut, чтобы извлечь только имена учетных записей пользователей.

getent passwd {1000 ..1500} | cut -d: -f1

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

Вместо того, чтобы пропускать выходные данные через cut, давайте пропустим выходные данные через wc и посчитаем строки еще раз. Это даст нам количество "реальных" учетных записей пользователей.

getent passwd {1000 ..1500} | wc -l

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

Мощь и простота

Один из этих методов, несомненно, подойдет вам, когда вам нужно просмотреть учетные записи пользователей на компьютере с Linux. Эти команды должны присутствовать во всех дистрибутивах, и ни одна из них не требует sudo доступа, поэтому все они доступны каждому пользователю.

6 Распространенных ошибок в заданиях Cron

Как найти, где apt установил пакет в Debian и Ubuntu

Извлечение и открытие RAR в Linux

Как удалить файл или папку в Linux

Обновление Linux. Команды Linux

Ставьте лайк .Смотрите другие наши статьи,подписывайтесь на канал чтобы не пропустить интересное.