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

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

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

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

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

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

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

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

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

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

sudo groupadd storage
sudo usermod -aG storage sergiy

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

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

sudo chgrp storage /storage

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

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

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

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

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Как дать права определенному пользователю на чтение файла?

Есть два пользователя: user1 и user2. И есть два файла: file1 и file2. Как задать права, чтобы каждый из этих пользователей мог читать файлы друг друга, сам мог и читать и запускать и редактировать СВОЙ файл, а остальные пользователи ничего не могли? P.S. Владельцы файла соответственно user1 и user2.

Читайте также:  Исправление ошибок hdd linux

2 ответа 2

сам мог и читать и запускать и редактировать СВОЙ файл:

остальные пользователи ничего не могли

предыдущие два пункта можно совместить в одну команду:

чтобы каждый из этих пользователей мог читать

  1. если файловая система не поддерживает acl, то сначала потребуются полномочия суперпользователя — надо будет создать группу, в которую будут входить (только) эти два пользователя:
$ sudo groupadd общая.группа $ sudo usermod -aG общая.группа пользователь1 $ sudo usermod -aG общая.группа пользователь2 
$ chown :общая.группа свой.файл 
$ getfacl свой.файл # file: свой.файл # owner: пользователь1 # group: группа1 user::rwx group::r-- other::--- 
$ setfacl -m u:пользователь2:r свой.файл 
$ getfacl свой.файл # file: свой.файл # owner: пользователь1 # group: группа1 user::rwx user:пользователь2:r-- group::r-- mask::r-- other::--- 

Источник

Оцените статью
Adblock
detector