Идентификаторы пользователя и группы
После регистрации второго пользователя в системе у вас, очевидно, возникает вопрос: а как расшифровать информацию в файле /etc/passwd? Но прежде чем мы займемся этим файлом, остановимся на двух понятиях: идентификатор пользователя и идентификатор группы. Идентификатор пользователя (UID) - это номер, под которым система идентифицирует пользователя внутри себя. Интересно, что можно присвоить один и тот же идентификатор нескольким пользователям, хотя это и не рекомендуется. При регистрации нового пользователя желательно присвоить ему не занятый идентификатор, и такой, чтобы он не занимал первые номера, скажем, до 100. Узнать, кому принадлежит идентификатор, можно с помощью команды
grep 200 /etc/passwd
ira:Jkn7t9yYU:200:100:Ira Ivanova:/home/ira:/bin/bash
Эта команда выполняет поиск строки с идентификатором пользователя 200 в файле /etc/passwd и выводит ее на экран. Разделителем в строке служит символ ":", а поля означают следующее:
Имя пользователя - символьное имя пользователя для входа в систему, которое должно содержать не более 8 символов.
Пароль - пароль пользователя в закодированной форме. Обратите внимание на то, что кодирование производится достаточно сложным алгоритмом шифрования, а не с помощью простой подстановки, как в Windows 3.11. Если пароль не задан, то в этом поле могут находиться символы "*" или "!!" (такие же символы будут находиться в этом поле, если используется система теневых паролей).
Идентификатор пользователя (UID) - номер пользователя в системе.
Идентификатор группы (GID) - идентификатор группы, в которую входит пользователь. Перечень групп находится в файле /etc/group. Группы введены для удобства присвоения пользователю прав на ресурсы системы.
Расширенное имя - имя пользователя, предназначенное для восприятия людьми. Может содержать произвольную информацию о пользователе, например, фамилию или номер отдела.
Домашний каталог - в этот каталог пользователь попадает сразу после входа в систему.
Shell - оболочка, которая запускается для данного пользователя при входе в систему (например, /bin/sh).
Системный администратор может зарегистрировать нового пользователя или изменить права уже существующего, откорректировав строки в файле /etc/passwd, но тогда будет необходимо провести дополнительные операции по определению прав пользователя и созданию его домашнего каталога и конфигурационных файлов.
Команда who
Как только вы начнете эксперименты с регистрацией в системе различных пользователей, перед вами встанет вопрос: а кто в данный момент находится в системе? Вопрос совсем не простой, так как Linux присваивает номер консоли очередному пользователю достаточно произвольно. Например, первому пользователю может быть отведена консоль tty6, а не tty1. Да и при начальных экспериментах можно запутаться в консолях и пользователях. Чтобы получить информацию обо всех вошедших в систему пользователях, используют команду
who
dima tty3 Dec 2 09:27
root tty6 Dec 2 09:20
При использовании ключа -i вы дополнительно получите информацию о времени простоя каждого пользователя или когда он последний раз общался с системой:
who -i
dima tty3 Dec 2 09:27 .
root tty6 Dec 2 09:20 00:03
Для того чтобы узнать, кому принадлежит текущая консоль, используется команда who am i или аналогичная whoami
