вторник, 12 сентября 2017 г.

Как сделать раздел жесткого диска доступным нескольким пользователям

Данная заметка написана для начинающих пользователей Linux. В ней описывается как примонтировать раздел жесткого диска таким образом, что бы у нескольких пользователей в системе были права на доступ к файлам (на чтение и запись). Вся информация подходит только для файловых систем использующих unix права доступа (таких как ext3, ext4 и т.п.) и не подходит для файловых систем NTFS и FAT.
Допустим, у нас есть два пользователя состоящие в разных группах
sudo cat /etc/passwd

ruslan:x:1000:1000:Руслан:/home/ruslan:/bin/zsh
marina:x:1001:1001:Марина:/home/marina:/bin/bash
В данном случае файл созданный одним пользователем не может быть прочитан или изменен другим пользователем. Нам же необходимо сделать так, что бы у обоих пользователей по-умолчанию была возможность просматривать и редактировать файлы друг друга. Для этого добавляем новую группу users(можно назвать её как угодно):
sudo groupadd users
Добавляем в данную группу наших пользователей:
sudo gpasswd -a ruslan users
sudo gpasswd -a marina users
Теперь подключим наш раздел жесткого диска. К примеру, мы хотим смонтировать раздел в директорию /mnt/data. Добавляем запись в файл /etc/ftab:
UUID=298cf7e7-634e-4f21-bd49-358cb02de76c    /mnt/data   ext4    defaults    0 2
В поле UUID вы должны прописать идентификатор своего раздела, который можно узнать выполнив команду sudo blkid.
Создаем необходимую директорию и меняем её группу на users:
sudo mkdir /mnt/data
sudo chgrp users /mnt/data
sudo chmod g+s /mnt/data
Последней командой мы выставляем бит setgid для директории. Данный бит нужен для того, что бы создаваемые в директории файлы наследовали группу этой директирии, вместо группы пользователя создавшего файл. Таким образом все новые файлы будут принадлежать группе users и пользователи смогут совместно работать с ними. Все создаваемые поддиректории также будут автоматически получать бит setgid.
Теперь можете смонтировать директорию (sudo mount -a) и начинать работать с расшареным диском. Хочу отметить, что всё вышесказанное подходит не только для создания общедоступных дисков, но и для совершенно любой директории на существующем диске (просто включите директорию в необходимую группу и установите бит setgid).

Комментариев нет: