- Общие папки Linux
- Общие папки в Linux
- Как сделать общую сетевую папку в Linux (настройка SMB в Linux)
- Как в Linux сделать общую сетевую папку
- Общая папка в Ubuntu: зачем нужна и как создать
- Устанавливаем сервер Samba
- Установка
- Настройки
- Создаем общую папку Samba, доступную для всех
- Редактируем настройки
- Перезапуск Samba
- Проверка правильности конфигурации Samba
- Защищенная папка Samba, доступная только по паролю
Общие папки Linux
Если вы администрируете какой-либо сервер, у вас может возникнуть необходимость создать общую папку, к которой будут иметь доступ все пользователи на сервере. Например, необходимо, чтобы они имели возможность создавать в ней файлы и все эти файлы были доступны всем пользователям на сервере.
В этой небольшой статье мы рассмотрим как настраиваются общие папки Linux с помощью стандартной системы полномочий Linux.
Общие папки в Linux
Как вы знаете, в Linux есть своя система полномочий для файлов и папок, в которой можно разрешить чтение, запись и выполнение для пользователя владельца, определённой группы пользователей и всех остальных. Если вы забыли как это работает ознакомьтесь со статьей Права доступа к файлам и Группы пользователей Linux.
Сначала давайте создадим саму папку:
Если надо разрешить доступ к папке всем, то достаточно установить такие права:
sudo chmod ugo+rw -R /var/share
sudo chmod 766 -R /var/share
Эти две команды аналогичны. Они включают для владельца файла полный доступ к нему, а для группы и всех остальных — только чтение и запись. Опция -R позволяет применить изменения рекурсивно ко всем подпапкам и файлам в этом каталоге. Для того чтобы разрешить вообще всё используйте маску прав 777:
sudo chmod 777 -R /var/share
Теперь все пользователи смогут не только создавать и читать файлы в этой папке, но и выполнять их.
Если же надо чтобы папка была доступна только нескольким пользователям, надо объединить их в группу. Например, в группу 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
Маска прав 774 разрешает всё группе и владельцу, и разрешает только чтение всем остальным. Можно запретить им и чтение заменив 4 на 0, получится 770. После этого оба пользователя losst и losst1 смогут создавать файлы в этой папке, а также оба получат доступ к созданным файлам.
Как видите всё очень просто. А если вам надо создать общую папку, доступную по сети посмотрите на статью про настройку NFS или Samba.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как сделать общую сетевую папку в Linux (настройка SMB в Linux)
Начните с установки пакетов samba и smbclient.
В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:
sudo apt install samba smbclient
В Arch Linux, BlackArch и их производных выполните команду:
sudo pacman -S samba smbclient
Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:
sudo touch /etc/samba/smb.conf
Теперь нужно добавить пароль для пользователя Samba. Действует следующее правило: имя пользователя должно быть таким же, как у вашего текущего пользователя, а пароль можно установить иной, отличный от вашего системного пароля.
Для установки пароля Samba, выполните следующую команду:
Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.
Создайте папку, которая станет совместно используемой:
Узнаем абсолютный путь до папки ~/linuxshare:
Откройте для редактирования файл /etc/samba/smb.conf:
sudo gedit /etc/samba/smb.conf
Добавьте туда строки вида:
[ИМЯ_ПАПКИ] comment = Samba на Linux path = /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/ИМЯ_ПАПКИ valid users = ИМЯ_ПОЛЬЗОВАТЕЛЯ read only = no browsable = yes
Обратите внимание, что все пробелы в строках выше являются обязательными.
Для моих данных это строки:
[linuxshare] comment = Samba на Linux path = /home/mial/linuxshare valid users = mial read only = no browsable = yes
Теперь запустим службу SMB:
sudo systemctl start smb.service
Для добавления службы в автозагрузку выполните:
sudo systemctl enable smb.service
Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux.
Создадим файл, чтобы сетевая папка не была пустой:
echo "Документ на Linux" > ~/linuxshare/document.txt
Посмотрите локальный IP адрес компьютера, на котором запущена Linux:
У меня этим IP является 192.168.0.89, а папку, как мы помним, я создал с именем linuxshare, тогда в Windows я перехожу в проводнике во вкладку «Сеть» и подключаюсь к этой папке следующим образом:
Вводим учётные данные (которые мы установили командой smbpasswd):
Видим содержимое совместно используемой папки, размещённой на Linux с помощью SMB:
Для подключения к сетевой папке из консоли Linux, запустите команду вида:
sudo smbclient //IP_АДРЕС/Папка -U ПОЛЬЗОВАТЕЛЬ
sudo smbclient //192.168.0.89/linuxshare -U mial
После ввода пароля нам становится доступным содержимое сетевой папки.
Как в Linux сделать общую сетевую папку
В Linux можно легко создать общую сетевую папку, которая будет доступна для всех устройств в сети. Это может быть полезно, если вы хотите разделить файлы между несколькими устройствами или создать централизованное хранилище для вашей семьи или офиса.
Создание общей сетевой папки в Linux может быть достигнуто несколькими способами, но мы рассмотрим наиболее распространенный метод, используя Samba.
Шаг 1: Установите Samba
Первым шагом является установка Samba на вашем Linux-сервере. Samba — это свободная реализация протокола SMB/CIFS, который позволяет общаться между компьютерами в сети.
Вы можете установить Samba, используя менеджер пакетов вашего дистрибутива Linux. Например, если у вас есть Ubuntu, вы можете выполнить следующую команду:
sudo apt-get install samba
Шаг 2: Создайте общую папку
После установки Samba вы можете создать общую папку, которую вы хотите сделать доступной в сети. Для этого создайте новую папку в любом месте на вашем сервере. Например, вы можете создать папку с именем » shared » в домашней директории:
mkdir ~/shared
Шаг 3: Настройте Samba
Теперь, когда у вас есть общая папка, вы должны настроить Samba, чтобы разрешить доступ к этой папке другим устройствам в сети.
Откройте файл конфигурации Samba, который находится в /etc/samba/smb.conf , с помощью любого текстового редактора. Например, вы можете выполнить следующую команду, чтобы открыть этот файл в редакторе Nano:
sudo nano /etc/samba/smb.conf
В файле smb.conf найдите раздел [global] и добавьте следующие строки в конец этого раздела:
workgroup = WORKGROUP
security = user
Замените «WORKGROUP» на имя вашей рабочей группы, если она отличается от значения по умолчанию. Это позволит вашему серверу Samba быть частью рабочей группы и облегчит доступ к общим ресурсам.
Далее, добавьте следующие строки в конец файла smb.conf, чтобы создать новый раздел для общей папки:
[shared]
path = /home//shared
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
Замените «/home//shared» на путь к вашей общей папке. Это указывает Samba на местоположение папки, которую вы хотите сделать общей в сети.
Шаг 4: Создайте пользователей Samba
Теперь вам необходимо создать пользователей Samba, которые будут иметь доступ к общей папке. Вы можете использовать существующих пользователей Linux или создать новых пользователей Samba.
Чтобы создать нового пользователя Samba, выполните следующую команду:
sudo smbpasswd -a
Замените на имя пользователя, которое вы хотите создать.
Шаг 5: Перезапустите Samba
После настройки Samba вам нужно перезапустить службу Samba, чтобы внести изменения в силу. Вы можете сделать это, выполните следующую команду:
sudo systemctl restart smbd
Шаг 6: Подключитесь к общей папке
Теперь вы можете подключиться к общей папке на вашем Linux-сервере с другого устройства в сети.
На Windows-компьютере вы можете открыть Проводник и выбрать «Сеть» в левой панели. Вы должны увидеть ваш Linux-сервер в списке устройств. Щелкните правой кнопкой мыши на сервере и выберите «Подключить сетевой диск». Затем выберите букву диска и введите путь к вашей общей папке, например, \\linux-server\shared.
На Linux-компьютере вы можете использовать любой файловый менеджер, чтобы подключиться к общей папке. В Nautilus, выберите «Серверы» в левой панели и введите адрес вашего Linux-сервера, например, smb://linux-server/shared.
В заключение, создание общей сетевой папки в Linux не является сложной задачей. С помощью Samba вы можете легко настроить доступ к общим ресурсам на вашем Linux-сервере для других устройств в сети.
Общая папка в Ubuntu: зачем нужна и как создать
Основная цель такой папки — возможность обмена файлами в локальной сети между Linux и Windows-машинами. Специфической привязки к 1С-направлению здесь нет, но такая папка поможет разработчикам хранить файлы конфигураций 1С, а также выгрузки документации по разработке и отчеты для обеспечения оперативного доступа при отсутствии ответственного сотрудника на месте.
В целом Ubuntu поставляется с общей папкой в домашнем каталоге. Она недоступна по умолчанию, но настраивается несколько различных типов обмена файлами в локальной сети компании. Изначальное предназначение папки — инструмент личного обмена файлами.
Главное стартовое условие — компьютеры, между которыми предполагается организовать обмен, должны быть локальной сети.
Устанавливаем сервер Samba
В качестве предпочтительного способа мы выбрали сервер Samba — есть и другие способы, но они требуют наличие Интернета. Samba — проверенное годами решение для ситуаций, когда файлы нужно хранить на сервере Linux.
Samba — Linux, Windows или Mac OS совместимый пакет программного обеспечения, позволяющий обмениваться файлами, документами и принтерами по сети.
Установка
apt install samba samba-common
Для тестирования настроек устанавливаем клиент Samba.
apt install samba-common-bin
Настройки
Скопируем шаблонный файл настроек на случай возврата в исходное состояние.
cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
Удаляем все закомментированные строки из файла настроек.
bash -c ‘grep -v -E «^#|^;» /etc/samba/smb.conf.backup | grep . > /etc/samba/smb.conf’
Создаем отдельного системного пользователя
useradd -m -c «Name_User» -s /bin/bash usersamba
Создаем общую папку Samba, доступную для всех
Настраиваем права доступа к папке:
chown -R nobody:nogroup /home/usersamba/smb/
chmod ug+rwx /home/usersamba/smb/
chmod -R 0775 /home/usersamba/smb/
chown root:»пользователи домена» /home/usersamba/smb/
Редактируем настройки
sudo gedit /etc/samba/smb.conf
Добавляем в конец файла /etc/samba/smb.conf следующие строки: usersamba заменяем на имя пользователя компьютера с Samba.
Папка будет открыта для чтения и записи.
Перезапуск Samba
systemctl restart smbd.service
Проверка правильности конфигурации Samba
Защищенная папка Samba, доступная только по паролю
Для того, чтобы защитить открытую папку паролем, достаточно изменить параметр guest ok на no.
Чтобы скрыть в обзоре сети папку, можно изменить параметр browsable на no.