Как проверить, есть ли у определенного пользователя домашний каталог в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

Затем вы будете использовать команду ls, чтобы проверить существование домашнего каталога в каталоге /home и изучить его детали, такие как права доступа и владелец. Это практическое упражнение предоставит вам навыки управления пользователями в среде Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/ls -.-> lab-558765{{"Как проверить, есть ли у определенного пользователя домашний каталог в Linux"}} linux/cat -.-> lab-558765{{"Как проверить, есть ли у определенного пользователя домашний каталог в Linux"}} end

Проверка домашнего каталога пользователя в /etc/passwd

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

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

Введите следующую команду в терминале и нажмите Enter:

cat /etc/passwd

Вы увидите много вывода, где каждая строка представляет пользователя. Прокрутите вывод (вы можете использовать Shift + Page Up/Page Down или колесико мыши), пока не найдете строку, начинающуюся с labex:.

Строка для пользователя labex будет выглядеть примерно так:

labex:x:5000:5000:LabEx user,,,:/home/labex:/bin/zsh

Каждый раздел этой строки отделен двоеточием (:). Вот быстрый разбор разделов (слева направо):

  1. Имя пользователя (Username): labex - Имя пользователя.
  2. Заполнитель пароля (Password placeholder): x - Это означает, что пароль зашифрован и хранится в /etc/shadow (по соображениям безопасности).
  3. Идентификатор пользователя (User ID - UID): 5000 - Уникальный номер, идентифицирующий пользователя.
  4. Идентификатор группы (Group ID - GID): 5000 - Идентификатор основной группы пользователя.
  5. Комментарий/поле GECOS (Comment/GECOS field): LabEx user,,, - Содержит общую информацию о пользователе (например, полное имя).
  6. Домашний каталог (Home Directory): /home/labex - Это путь к домашнему каталогу пользователя.
  7. Оболочка входа (Login Shell): /bin/zsh - Стандартная оболочка (интерпретатор команд), которая запускается при входе пользователя в систему.

Для этого этапа самое важное - шестой раздел, который показывает, что домашним каталогом пользователя labex является /home/labex.

Понимание файла /etc/passwd является фундаментом для управления пользователями и правами доступа в Linux.

Нажмите Продолжить (Continue), чтобы перейти к следующему этапу.

Проверка домашнего каталога с помощью команды ls /home

На предыдущем этапе мы увидели, что в файле /etc/passwd указано, что домашним каталогом пользователя labex является /home/labex. Теперь давайте используем команду ls, чтобы проверить, что этот каталог действительно существует в каталоге /home.

Команда ls используется для вывода списка файлов и каталогов. Когда вы используете ls с указанием пути к каталогу, она выводит содержимое этого каталога.

Введите следующую команду в терминале и нажмите Enter:

ls /home

Эта команда сообщает ls вывести содержимое каталога /home.

Вы должны увидеть вывод, похожий на следующий:

labex

Этот вывод подтверждает, что в каталоге /home есть каталог с именем labex. Это соответствует пути к домашнему каталогу, который мы нашли в файле /etc/passwd.

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

Использование команды ls - это фундаментальный навык для навигации и понимания файловой системы в Linux.

Нажмите Продолжить (Continue), чтобы перейти к следующему этапу, где мы рассмотрим детали каталога /home/labex.

Проверка деталей домашнего каталога с помощью команды ls -ld

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

Для этого мы снова используем команду ls, но с двумя важными параметрами: -l и -d.

  • Параметр -l сообщает команде ls выводить информацию в "длинном формате" (long listing), который предоставляет подробную информацию о файлах и каталогах, включая права доступа, владельца, размер и время последнего изменения.
  • Параметр -d здесь является ключевым. При использовании с ls -l он сообщает команде ls выводить информацию о самом каталоге как о файле, а не о его содержимом. Без -d команда ls -l /home/labex выведет подробную информацию о файлах и каталогах внутри /home/labex.

Объедините эти параметры с путем к домашнему каталогу. Введите следующую команду в терминале и нажмите Enter:

ls -ld /home/labex

Вы увидите одну строку вывода, которая предоставляет детали о каталоге /home/labex. Она будет выглядеть примерно так:

drwxr-xr-x 2 labex labex 4096 <Date> <Time> /home/labex

Разберем этот вывод:

  • d: Первый символ указывает на тип файла. d означает, что это каталог.
  • rwxr-xr-x: Это права доступа к файлу. Они определяют, кто может читать, записывать и выполнять (или получать доступ к, для каталогов) каталог.
  • 2: Количество жестких ссылок на каталог.
  • labex: Владелец каталога.
  • labex: Группа, которой принадлежит каталог.
  • 4096: Размер каталога в байтах.
  • <Date> <Time>: Дата и время последнего изменения.
  • /home/labex: Имя каталога.

Эта команда подтверждает, что /home/labex действительно является каталогом (d) и показывает его владельца (пользователь labex и группа labex), что является типичным для домашнего каталога пользователя.

Использование команды ls -ld - это очень распространенный способ быстро проверить тип, права доступа и владельца определенного файла или каталога.

Вы успешно нашли и проверили детали своего домашнего каталога с помощью основных команд Linux.

Нажмите Продолжить (Continue), чтобы завершить этот практический урок.

Резюме

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

После проверки файла /etc/passwd мы подтвердили существование домашнего каталога, вывів список содержимого каталога /home с помощью команды ls. Наконец, мы использовали команду ls -ld, чтобы получить подробную информацию о домашнем каталоге определенного пользователя, подтвердив его наличие и права доступа.