Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Как дать права пользователю Linux: инструкция

Илья Ушаков
Илья Ушаков
Технический писатель
27 ноября 2023 г.
7477
7 минут чтения
Средний рейтинг статьи: 3.5

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

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

Права доступа в Linux

Права доступа в операционной системе Linux представляют собой ключевой элемент безопасности, определяющий, какой доступ имеют пользователи и программы к файлам и каталогам. Чтобы посмотреть права пользователя в Linux, необходимо воспользоваться следующей командой:

ls -l [путь]

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

90d90888 6a23 4cad 8d62 6676a5038deb

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

stat [путь]

На картинке ниже изображен пример для домашней директории юзера timewebtest:

D6568ac1 2455 467d 964f Af9f634b4bae

Самих пользователей разделяют на три категории: владелец, группа и остальные. Для каждой из них выделяют три основных атрибута доступа:

  • Чтение представляет собой возможность просматривать содержимое файла или каталога. Оно обозначается символом r, обозначающим английское слово «read»;
  • Запись дает возможность вносить изменения в файл или создавать новые файлы в каталоге, и обозначается буквой w, обозначающей английское «write»;
  • Выполнение представляет собой способность выполнять файл, включая запуск исполняемых файлов или вход в каталог, которое обозначается буквой x, обозначающей слово «eXecute».

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

Права доступа

Символьный формат

Числовой формат

Чтение

r

4

Запись

w

2

Выполнение

x

1

Нет доступа

-

0

Например, права доступа к домашнему каталогу юзера timewebtest имеют следующий вид:

90d90888 6a23 4cad 8d62 6676a5038deb

Здесь, мы видим, что первым символом идет d, который обозначает тип файла, в нашем случае — каталог («directory»). После него идут символы, обозначающие права доступа для разных категорий пользователей по порядку.

В числовом формате, права доступа из примера выше будут следующими:

  • Для владельца: rwx соответствует числу 7 (4 за чтение + 2 за запись + 1 за выполнение).
  • Для группы: r-x соответствует числу 5 (4 за чтение + 0 за запись + 1 за выполнение).
  • Для остальных: --- соответствует числу 0 (0 за чтение, 0 за запись и 0 за выполнение).

Таким образом, в числовом формате это будет 750.

Изменение прав доступа к файлу или каталогу

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

Основной командой для изменения прав пользователя в Linux является chmod. Для выполнения этой команды потребуются привилегии администратора.

Синтаксис этой команды выглядит следующим образом:

chmod [опции] [настройка_прав_доступа] [путь]

Чтобы применить изменения рекурсивно при работе с директорией для вложенных каталогов и файлов, необходимо воспользоваться опцией -R.

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

Символьный формат

Данный способ подразумевает использование комбинации букв и символов при передаче параметра «настройки прав доступа». В эту комбинацию входят: 

  • Категории пользователей

Категория пользователей

Обозначение

Описание

User

u

Владелец

Group

g

Пользователи группы владельца

Others

o

Остальные пользователи

All

a

Все пользователи

  • Операции

Операция

Описание

+

Добавление разрешений

-

Удаление разрешений

=

Установка указанных разрешений

  • Права доступа

Обозначение

Описание

r

Права на чтение

w

Права на запись

x

Права на выполнение

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

  • Добавим права на запись для пользователей группы и все права для остальных пользователей:
chmod g+w,o+rwx /home/timewebtest

Результат работы команды:

4bc95804 16b8 4c4d B315 Cb9fbaf141d1

  • Удалим права на запись у всех категорий пользователей:
chmod a-w /home/timewebtest

Результат работы команды:

Без Названия

  • А теперь, установим все возможные права для владельца каталога:
chmod u=rwx /home/timewebtest

Результат работы команды:

Image11

Числовой формат

Числовой формат в chmod предоставляет более точный, быстрый и гибкий способ установки прав доступа. Как мы уже упоминали в прошлой главе, каждому праву доступа присваивается числовое значение. Далее они суммируются для установки общего числового значения, которое непосредственно передается команде.

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

  • Выдадим полные права для всех категорий пользователей:
chmod 777 /home/timewebtest

Результат работы команды:

Image8

  • А теперь уберем права на выполнение у каждой категории пользователей:
chmod 666 /home/timewebtest

Результат работы команды:

Image3

Помимо рассмотренных выше команд, стоит также упомянуть о возможности изменения прав доступа для всех директорий и файлов внутри конкретной папки.

Изменение прав для всех каталогов внутри указанной папки:

find [путь] -type d -exec chmod [права] {} \;

Изменение прав для всех файлов внутри указанной папки:

find [путь] -type f -exec chmod [права] {} \;

Изменение владельца и группы файла или каталога

При организации нового файла или каталога, их владельцем становится пользователь-создатель. В качестве группы устанавливается его основная группа.

В данном разделе инструкции мы рассмотрим две команды, с помощью которых вы сможете изменить как владельца файла или каталога, так и его группу.

Команда chown

Первая рассматриваемая команда – это chown.

Синтаксис команды выглядит следующим образом:

sudo chown [опции] [владелец]:[группа] [путь]

Например, изменим владельца и группу для домашней директории и всех вложенных подкаталогов и файлов пользователя timewebtest на root:

sudo chown -R root:root /home/timewebtest

Для рекурсивного изменения владельца и группы во вложенных данных, мы воспользовались опцией -R. На картинке ниже продемонстрирован результат работы команды:

Image12

Таким образом, для предоставления доступа пользователю к папке в Linux, необходимо добавить его в группу, к которой она принадлежит, либо сделать его владельцем с помощью команды chown. Кроме того, можно установить права 777 для директории, что позволит всем пользователям, включая владельца, группу и остальных, взаимодействовать с этой папкой.

Также, стоит упомянуть, что команду chown можно использовать конкретно для изменения владельца или конкретно для изменения группы:

  • Изменение владельца.
sudo chown [новый_владелец] [путь]

На картинке ниже изображен пример изменения владельца директории.

Без Названия (1)

  • Изменение группы.
sudo chown :[новая_группа] [путь]

На картинке ниже изображен пример изменения группы директории.

Image1

Команда chgrp

Помимо рассмотренной выше команды, в Linux есть еще одна — chgrp. Она работает аналогично chown, но предназначена только для изменения группы. 

Синтаксис chgrp следующий:

sudo chgrp [опции] [имя_группы] [путь]

Пример использования команды:

sudo chgrp sudo /home/timewebtest

Результат работы chgrp продемонстрирован на картинке ниже:

Без Названия (2)

Заключение

В настоящей инструкции мы изучили основы управления правами доступа пользователей в операционной системе Linux. Мы научились выдавать и изменять права доступа с помощью chmod, а также заменять владельца файла или каталога с помощью команд chown и chgrp. Овладев принципами работы команд chmod, chown и chgrp, вы получили мощные инструменты для эффективного контроля и администрирования файловой системы.

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

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону