Как дать права на папку пользователю Linux

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

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

Права пользователя на папку Linux

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

  • Изменить права для всех - тогда все пользователи получат доступ к нашей папке, в том числе и нужный пользователь. Но, обычно, так никто не делает, потому что это небезопасно и в производственных системах важные данные могут попасть в чужие руки;
  • Изменить владельца папки на нашего пользователя - по умолчанию владелец имеет полные права на папку, то есть запись и чтение. Если мы сделаем владельцем нашего пользователя, то он автоматически получит все права, а другие пользователи по-прежнему не смогут получить доступ к папке. Но такой вариант тоже не совсем правильный, потому что, обычно, у папки уже есть владелец и изменив владельца мы уберем у него доступ;
  • Добавить к папке группу и добавить в нее пользователя - самый верный путь. Файл или папка может принадлежать определенной группе пользователей, но только одной, и мы можем установить для этой группы отличающиеся от владельца права. Но в группу можно добавить несколько пользователей, поэтому мы никого не оставляем без доступа. По умолчанию, для всех файлов устанавливается группа владельца, но это можно очень просто изменить.

Теперь давайте разберем как это реализуется на практике. Допустим, у нас есть папка /storage, владельцем которой является пользователь /root:

ls -l / | grep storage

 

 

У папки такие права, что записывать в нее данные может только root, а другие пользователи могут их только смотреть. Нам надо предоставить к ней доступ на запись и чтение пользователю sergiy. Сейчас у него такого доступа нет:

Давайте создадим группу storage и добавим в нее пользователя sergiy:

sudo groupadd storage
sudo usermod -aG storage sergiy

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

groups sergiy

После добавления пользователя в группу нужно перелогиниться, чтобы система увидела это изменение. Затем меняем группу нашей папки на storage:

sudo chgrp storage /storage

 

Если нужно дать права на папку в Linux еще какому-нибудь пользователю, то достаточно добавить его в эту группу. Посмотрим список пользователей группы:

members storage

Теперь наша папка выглядит вот так:

ls -l / | grep storage

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

chmod g+rw /storage

Затем пользователь sergiy сможет записывать и читать файлы из этой папки, а все остальные пользователи только читать.

Выводы

В этой небольшой статье мы рассмотрели дать права пользователю linux на доступ к папке. Для серверов это может быть достаточно частой задачей, поскольку пользователи - это не только люди, использующие систему, но и программы, выполняемые от имени того или иного пользователя. А это создает еще одно применение для этой системы прав. Если у вас остались вопросы, спрашивайте в комментариях!

11 комментариев

  1. serg Октябрь 17, 2018 Ответить
    • Splash Октябрь 18, 2018 Ответить
    • admin Октябрь 18, 2018 Ответить
  2. Илья Октябрь 17, 2018 Ответить
  3. Игорь Октябрь 21, 2018 Ответить
    • root Октябрь 22, 2018 Ответить
  4. root Октябрь 22, 2018 Ответить
  5. Boris Октябрь 25, 2018 Ответить
  6. Феликс Октябрь 25, 2018 Ответить
  7. B Октябрь 26, 2018 Ответить
    • Феликс Октябрь 27, 2018 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: