Если вы новичок в Linux или редко работаете с этой операционной системой, может возникнуть вопрос: как проверить права пользователя в Linux?
В этом руководстве я подробно расскажу, что означает право доступа, как его проверить и что делать, если права нужны для решения конкретных задач.
Почему важно знать права пользователя в Linux?
В Linux права доступа определяют, что пользователь может делать с файлами, папками и системными ресурсами. Правильное управление правами обеспечивает безопасность системы и предотвращает нежелательные действия.
Основные термины: пользователь, группа и права доступа
Перед тем как перейти к способам проверки, важно понять основные понятия:
- Пользователь (user) — человек, который входит в систему.
- Группа (group) — объединение пользователей, которым можно давать общие права.
- Права доступа (permissions) — разрешения на чтение, запись и выполнение для файла или папки.
Как посмотреть права пользователя в Linux?
- 1. Проверка текущего пользователя
- 2. Проверка информации о пользователе
- 3. Проверка прав конкретного файла или папки
- 4. Что означает строка прав доступа?
- 5. Проверка прав текущего пользователя на файл
- 6. Просмотр групп пользователя
Есть несколько команд, с помощью которых можно проверить права пользователя и файлы, которыми он управляет. Ниже я расскажу о наиболее популярных из них.
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–4 | rwx | Права владельца файла (чтение, запись, выполнение) |
| 5–7 | r-x | Права группы |
| 8–10 | r-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 мы рассказываем в отдельных статьях:
Заключение
Проверка прав пользователя в Linux — важная часть работы в системе. Основные шаги:
Узнать текущего пользователя: whoami
Проверить группы пользователя: groups
Посмотреть права файла: ls -l путь_к_файлу
Если вы хотите углубиться в настройки безопасности, ознакомьтесь с командами chmod и chown. Правильное управление правами обеспечивает стабильность и безопасность вашей системы.