Главная >> Инструкции >> Общие папки Linux

Общие папки Linux

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

В этой небольшой статье мы рассмотрим как настраиваются общие папки Linux с помощью стандартной системы полномочий Linux.

Общие папки в Linux

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

Сначала давайте создадим саму папку:

sudo mkdir /var/share

Если надо разрешить доступ к папке всем, то достаточно установить такие права:

sudo chmod ugo+rw -R /var/share

Или:

sudo chmod 766 -R /var/share

Эти две команды аналогичны. Они включают для владельца файла полный доступ к нему, а для группы и всех остальных - только чтение и запись. Опция -R позволяет применить изменения рекурсивно ко всем подпапкам и файлам в этом каталоге. Для того чтобы разрешить вообще всё используйте маску прав 777:

sudo chmod 777 -R /var/share

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

Если же надо чтобы папка была доступна только нескольким пользователям, надо объединить их в группу. Например, в группу project. Если такой группы не существует, создайте её:

sudo groupadd project

Для добавления пользователя в группу используется команда usermod. Например, для пользователей losst и losst1 команды будут выглядеть так:

usermod -aG project losst
usermod -aG project losst1

Затем группу папки надо изменить на project. Для этого можно воспользоваться командой chgrp:

sudo chgrp project -R /var/share

Осталось сделать права для этой папки. Кроме стандартных прав, которые разрешают чтение, запись и выполнение файлов для группы project нам необходимо установить SGID бит. Если этот флаг устанавливается для файла, то он позволяет выполнять этот файл с правами группы файла, но если он устанавливается для папки, то все файлы и папки, создаваемые в ней будут получать ту же группу что и у этой папки. Это как раз то, что нам надо:

sudo chmod ug+rwx -R /var/share
sudo chmod +s -R /var/share

Или:

sudo chmod 2774 /var/share

Маска прав 774 разрешает всё группе и владельцу, и разрешает только чтение всем остальным. Можно запретить им и чтение заменив 4 на 0, получится 770. После этого оба пользователя losst и losst1 смогут создавать файлы в этой папке, а также оба получат доступ к созданным файлам.

Как видите всё очень просто. А если вам надо создать общую папку, доступную по сети посмотрите на статью про настройку NFS или Samba.

Pеклама
Посмотреть детали

Если вы искали альтернативу почтовому сервису Gmail, который уважает вашу конфиденциальность, обратите внимание на ProtonMail. Ваши письма автоматически шифруются сквозным шифрованием, поэтому читать их можете только вы и получатель. ProtonMail не собирает ваши персональные данные и базируется в Швейцарии, где действуют одни из самых строгих законов о конфиденциальности. Посмотреть детали

4 комментария к “Общие папки Linux”

  1. Здравствуйте, уважаемый. =) В силу специфики работы сижу полностью на бубунте. =) Информацию по настройке черпаю чаще всего у Вас. Сейчас занимаюсь шарой для сетевых пользователей. И, появился вопрос. Нужно ли создавать на файло-сервере пользователя, если он заходит в свою расшаренную папку удалённо? Т.е., не будет ли достаточно указать в информации о разрешениях для папки кто ею владеет? Спасибо!

    Ответить
  2. Здравствуйте, админ.
    Описанный способ работает только наполовину, кмк
    Ок, создали папку с 777. User1 залогинился и создал в ней файл, который теперь принадлежит ему и группе имени его. Дефолтные права для other - read.
    User2 залогинился, и не может поправить в этом файле пару строк, потому что нельзя.
    Что делать?

    Ответить
  3. "Теперь все пользователи смогут не только создавать и читать файлы в этой папке, но и выполнять их." - Неверно. Права выполнения на папку не влияют на права выполнения файлов в этой папке. Для папок это право "на проход".

    Ответить

Оставьте комментарий