Будучи системным администратором, у вас может быть каталог, к которому вы захотите дать доступ на чтение и запись данных для каждого пользователя на Linux сервере.
В этой статье будет рассмотрено создание общей папки Linux, группы, добавление пользователя в группу, настройка прав доступа, значение числа 2775 в команде chmod и создание подкаталога для каждого пользователя.
Создание папки и группы
Создание общих папок Linux требует установки соответствующих прав доступа общей группы для всех пользователей, которые совместно используют или имеют доступ к определенному каталогу. Но для начала нужно создать директорию и общую группу, если она отсутствует:
sudo mkdir -p /var/www/reports/
$ sudo groupadd project
Добавление пользователя в группу
После того, как общая папка Linux и группа создана, нужно добавить в группу существующего пользователя, который будет иметь право на запись в каталог /var/www/reports/:
sudo usermod -a -G project losst
Флаги и аргументы, использованные в приведенной выше команде
- -a — добавляет пользователя в дополнительную группу;
- -G — указывает название группы группы;
- project — название группы;
- losst — имя пользователя.
Настройка прав доступа
Теперь нужно настроить права доступа к каталогу. Опция -R в приведенной ниже команде разрешает проведение рекурсивных операций в подкаталоги:
sudo chgrp -R project /var/www/reports/
$ sudo chmod -R 2775 /var/www/reports/
Значение числа 2775 в команде chmod
- 2 — новые файлы всегда будут получать ту группу, которая стоит у папки, в которой они находятся;
- 7 — выдает все права (rwx) владельцу папки;
- 7 — выдает все права (rwx) группе;
- 5 — выдает право на чтение (r-x) другим пользователям.
Создание пользователя и добавление в группу
sudo useradd -m -c "Aaron Kili" -s/bin/bash -G project aaronkilik
$ sudo useradd -m -c "John Doo" -s/bin/bash -G project john
$ sudo useradd -m -c "Ravi Saive" -s/bin/bash -G project ravi
Создание подкаталогов для каждого пользователя
sudo mkdir -p /var/www/reports/aaronkilik_reports
$ sudo mkdir -p /var/www/reports/johndoo_reports
$ sudo mkdir -p /var/www/reports/ravi_reports