Как посмотреть права пользователя в Linux: пошаговая инструкция.

Если вы новичок в Linux или редко работаете с этой операционной системой, может возникнуть вопрос: как проверить права пользователя в Linux?

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

Почему важно знать права пользователя в Linux?

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

Основные термины: пользователь, группа и права доступа

Перед тем как перейти к способам проверки, важно понять основные понятия:

  • Пользователь (user) — человек, который входит в систему.
  • Группа (group) — объединение пользователей, которым можно давать общие права.
  • Права доступа (permissions) — разрешения на чтение, запись и выполнение для файла или папки.

Как посмотреть права пользователя в Linux?

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

1. Проверка текущего пользователя

Чтобы узнать, под каким пользователем вы находитесь в системе, используйте команду whoami:

[root@waky practice]# whoami
root
[root@waky practice]#

Это даст вам имя текущего пользователя.

2. Проверка информации о пользователе

Чтобы получить более полную информацию о текущем пользователе, используйте команду id:

[root@waky practice]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@waky practice]#

Она покажет UID (ID пользователя), GID (ID групп), а также группы, в которых состоите.

3. Проверка прав конкретного файла или папки

Чтобы узнать, какие права доступа есть у файла или каталога, используйте команду ls с опцией -l:

[root@waky practice]# ls -l /bin/bash
-rwxr-xr-x. 1 root root 1389072 Feb 15  2024 /bin/bash
[root@waky practice]# 

Объяснение:

-rwxr-xr-x — права доступа
1 — число ссылок
root — владелец файла (пользователь)
root — группа владельца файла
1389072 — размер файла в байтах
Feb 15  2024 — дата и время последней модификации
/bin/bash — название файла

4. Что означает строка прав доступа?

Разделим строку -rwxr-xr-x на части:

ПозицияЗначениеЗначение в терминах прав
1Тип файла (например, — — обычный файл, d — папка, l — ссылка)
2–4rwxПрава владельца файла (чтение, запись, выполнение)
5–7r-xПрава группы
8–10r-xПрава других пользователей

5. Проверка прав текущего пользователя на файл

Чтобы узнать, есть ли у вас права на конкретный файл или папку, используйте команду namei:

[root@waky practice]# namei -l /bin/bash
f: /bin/bash
dr-xr-xr-x root root /
lrwxrwxrwx root root bin -> usr/bin
drwxr-xr-x root root   usr
dr-xr-xr-x root root   bin
-rwxr-xr-x root root bash
[root@waky practice]# 

Она покажет подробную информацию о всех директориях по пути и правах доступа.

6. Просмотр групп пользователя

Чтобы проверить, к каким группам вы принадлежите (это важно, потому что права могут зависеть от групповых настроек), используйте команду groups:

[root@waky practice]# groups
root
[root@waky practice]#

Она покажет список групп, в которых вы состоите.

Как посмотреть права другого пользователя в Linux?

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

Возможные ситуации и решения:

a) Если у вас есть права администратора (root-пользователя)

Вы можете просматривать права доступа к файлам любого пользователя с помощью команды ls -l.

b) Посмотреть права на файлы, принадлежащие другому пользователю

Если вы знаете путь к файлу другого пользователя, то опять команда ls -l даст вам информацию.

Результат покажет права, владельца и группу файла.

c) Посмотреть список файлов, принадлежащих конкретному пользователю

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

sudo find / -user имя_пользователя -ls

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

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

Что делать, если нужно изменить права?

Если вы являетесь администратором или у вас есть права на изменение настроек, можно изменить права доступа с помощью команды chmod и сменить владельца — командой chown. Однако делайте это аккуратно, чтобы не нарушить безопасность системы.

Подробно об использовании chmod и chown мы рассказываем в отдельных статьях:

статья про chmod

статья про chown

Заключение

Проверка прав пользователя в Linux — важная часть работы в системе. Основные шаги:

Узнать текущего пользователя: whoami

Проверить группы пользователя: groups

Посмотреть права файла: ls -l путь_к_файлу

Если вы хотите углубиться в настройки безопасности, ознакомьтесь с командами chmod и chown. Правильное управление правами обеспечивает стабильность и безопасность вашей системы.