Введение
В Linux управление разрешениями файлов и директорий — ключевая часть администрирования. Правильные настройки защищают данные от случайного изменения, утечки и обеспечивают безопасное выполнение скриптов. В этом гайде вы узнаете, как быстро и уверенно изменять права доступа с помощью chmod, переносить владельцев с chown, а также безопасно выполнять привилегированные команды с sudo. После выполнения инструкции ваши файлы будут настроены правильно, а работа с системой — безопасной.
Требования
- Доступ к терминалу с правами root или пользователя, добавленного в группу
sudo. - Базовые знания работы с консолью Linux.
- Любая из поддерживаемых дистрибутивов: Ubuntu 20.04 LTS, Debian 11, CentOS 8, Fedora 34.
Пошаговая инструкция
Шаг 1: Проверка текущих прав доступа
Перед изменением прав полезно увидеть текущие настройки.
ls -l /path/to/file
Если вы видите строку вроде:
-rw-r--r-- 1 user group 1234 Jan 01 12:00 file.txt
то файл сейчас доступен для чтения всеми, но не для записи.
Шаг 2: Изменение прав доступа с chmod
chmod позволяет установить или изменить права доступа. Символы режимов:
u— владелец,g— группа,o— остальные.r— чтение,w— запись,x— исполнение.
Пример: сделать скрипт исполняемым для владельца и дать чтение остальным:
chmod 755 script.sh
После этого владелец получит rwxr-xr-x, остальные — r-xr-xr-x.
💡 Совет: для быстрого редактирования используйте сокращённые формы:
chmod u+x fileдобавит исполнение только владельцу.
Шаг 3: Изменение владельца и группы с chown
chown изменяет владельца и группу файла.
chown bob:staff document.txt
Теперь document.txt принадлежит пользователю bob, группе staff. Если вам нужно изменить только владельца, опустите группу:
chown alice document.txt
Шаг 4: Использование sudo для привилегированных команд
Выполнение важных системных команд напрямую от root не рекомендуется. Вместо этого добавьте пользователя в группу sudo и запускайте команды с префиксом sudo.
sudo usermod -aG sudo $USER # добавить текущего пользователя
Теперь вы можете обновить пакеты без полного root-доступа:
sudo apt update
sudo apt upgrade
⚠️ Важно: всегда проверяйте, какие команды вы запускаете с
sudo. Лишний root-доступ может повредить систему.
Шаг 5: Проверка результата изменений
После всех изменений проверьте, что всё настроено правильно:
ls -l /path/to/file
Если файл должен выполняться другим пользователем, протестируйте напрямую:
sudo -u bob ./script.sh
Если скрипт работает, настройки корректны. В противном случае вернитесь к предыдущим шагам.
Проверка результата
Выполните две команды:
ls -l <путь_к_файлу>— убедитесь, что права соответствуют ожидаемым.sudo -u <пользователь> <команда>— проверьте, что файл доступен для назначенного владельца.
Если оба пункта выполнены, управление разрешениями завершено успешно.
Возможные проблемы
Permission deniedпри изменении прав. Убедитесь, что у вас естьwrite-права на директорию, содержащую файл (chmod u+w .).- **
chown: невозможно определить пользователя: nobody:** Проверьте, что указанный пользователь или группа существуют (id bob,getent group staff`). - **
sudo: не удалось выполнить команду:** Проверьте, добавлен ли пользователь в группуsudo(sudo -l -U $USER`).
Решите эти ошибки с помощью шагов выше, и работа с правами доступа пройдёт гладко.