Как открыть общую папку windows в ubuntu

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

В целом Ubuntu поставляется с общей папкой в домашнем каталоге. Она недоступна по умолчанию, но настраивается несколько различных типов обмена файлами в локальной сети компании. Изначальное предназначение папки — инструмент личного обмена файлами.

Главное стартовое условие — компьютеры, между которыми предполагается организовать обмен, должны быть локальной сети.

В качестве предпочтительного способа мы выбрали сервер Samba — есть и другие способы, но они требуют наличие Интернета. Samba — проверенное годами решение для ситуаций, когда файлы нужно хранить на сервере Linux.

Samba — Linux, Windows или Mac OS совместимый пакет программного обеспечения, позволяющий обмениваться файлами, документами и принтерами по сети.

Установка

apt install samba samba-common

Для тестирования настроек устанавливаем клиент Samba.

apt install smbclient

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

Установка пароля:

passwd usersamba

smbpasswd -a usersamba

Создаем общую папку Samba, доступную для всех

Создание папки:

mkdir -p /home/usersamba/smb/

Настраиваем права доступа к папке:

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.

Папка будет открыта для чтения и записи.

[BackupWork]

comment = Samba Share

path = /home/usersamba/smb/

guest ok = yes

browsable =yes

writable = yes

read only = no

force user = usersamba

force group = usersamba

Перезапуск Samba

systemctl restart smbd.service

service smbd restart

Проверка правильности конфигурации Samba

testparm

Общая папка в Ubuntu: зачем нужна и как создать 1

Защищенная папка Samba, доступная только по паролю

Для того, чтобы защитить открытую папку паролем, достаточно изменить параметр guest ok на no.

Чтобы скрыть в обзоре сети папку, можно изменить параметр browsable на no.

Настройка файлового обмена между Windows и Ubuntu.

В данной статье расскажу о настройке файлового обмена между Windows и Ubuntu. Мы научимся расшаривать папки (каталоги) в Ubuntu и подключаться к ним из Windows 10 и наоборот. В этой статье все действия мы будем выполнять без использования терминала.

Этой статьей я хочу развеять предрассудки, что шарить папки на Ubuntu очень сложно. Так как же расшарить папку в Ubuntu?

Открываем файловый менеджер (Nautilus). Выбираем папку, которую хотим расшарить другим пользователям в локальной сети. Кликаем по ней правой кнопкой мыши, в контекстном меню выбираем «Свойства» и переходим на вкладку «Общедоступная папка по локальной сети»:

Свойства папки

Если проставить галочку «Опубликовать эту папку» и нажать кнопку «Применить», то наша папка станет доступна другим пользователям в локальной сети. И у эта папка будет подсвечена значком общего доступа:

Значок общего доступа

Но есть нюансы. Не спешите закрывать статью.

Если мы это сделаем в первый раз, то система нам радушно предложит установить «Службу общего доступа к папкам»:

Служба общего доступа к папкам

Соглашаемся и жмём «Установить службу», появится окно, непосредственно, с установкой пакета Samba:

Установить службу

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

Перезапуск сеанса

Давайте разберёмся подробнее с открытием общего доступа к папке.

Создадим какую-нибудь папку, к примеру, назовём её LinuxFiles. Проставим галочку «Опубликовать эту папку» и нажать «Применить»:

Опубликовать эту папку

В поле «Наименование» можно вписать имя сетевого ресурса, как оно будет отображаться у нас в сети.

К примеру, мы создаём название каталога с пробелами и прочими символами, а здесь, в поле «Наименование» указываем нормальное название сетевого ресурса латинскими буквами.

Как подключиться к расшаренной папке Ubuntu из Windows?

Для этого нам надо узнать наш ip или название устройства (hostname).

Это можно сделать в графическом интерфейсе через «Параметры» системы.

В пункте «Сеть» посмотреть подробности вашего подключения:

Параметры сети

В пункте «Подробности» (О системе):

О системе

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

ifconfig
hostname

После чего в Windows подключаемся, введя в адресной строке Проводника два обратных слеша \\, а затем ip адрес или имя устройства Ubuntu:

Проводник Windows

Отобразятся все расшаренные каталоги на Ubuntu машине. Но если мы попытаемся зайти в нашу папку LinuxFiles, то получим ошибку доступа:

Ввод сетевых учетных данных

Есть два пути решения данной проблемы.

Если хотите, чтобы любой имел доступ к вашей расшаренной папке, то надо в свойствах её общего доступа проставить галочку «Гостевой доступ» и нажать «Применить»:

Гостевой доступ

Если хотите подключаться к папке с помощью учетной записи вашего текущего пользователя Ubuntu, то придется задать ему Samba пароль и это сделать можно в терминале (да, я вас обманул, один раз придется в терминал зайти):

sudo smbpasswd -a $USER

smbpasswd

Теперь можно в Windows зайти в нашу расшаренную папку. Либо с вводом имени пользователя и пароля (вашего Ubuntu пользователя). Либо, если проставили галочку «Гостевого входа», то сразу.

Расшаренный каталог

Но если в Windows вы попытаетесь создать, изменить или удалить файл/папку, то получите ошибку:

Необходимы разрешения на выполнение операции

У вас нет доступа на изменение в этом каталоге.

Если это проблема, и вы хотите, чтобы пользователи в локальной сети могли изменять файлы в этой папке, то для решения этой проблемы нужно в свойствах общего доступа папки проставить галочку «Разрешить другим пользователям изменять содержимое папки» и нажать «Применить»:

Выдача прав на изменений файлов

После чего у вас будет запрошено подверждение на изменение прав на папку:

Подтверждение на изменени прав на папку

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

Теперь пользователи локальной сети смогут изменять файлы внутри вашей расшаренной папки.

Стоит упомянуть, что не только пользователи Windows смогут подключаться к вашей расшаренной папке, но и пользователи Ubuntu или других дистрибутивов Linux, аналогично, как они бы подключались к расшаренной папке Windows.

Давайте теперь расшарим папку на Windows и подключимся к ней из Ubuntu.

Настройка общего доступа папки в Windows и подключение к ней из Ubuntu.

Создаём папку в Windows где-нибудь, кликаем правой кнопкой мыши, выбираем «Свойства» — «Доступ» и жмём «Расширенная настройка»:

Расширенная настройка папки Windows

Далее проставляем галочку «Открыть общий доступ к этой папке» и нажимаем «Применить»:

Всё, мы расшарили папку в Windows и к ней можно подключаться.

Как подключиться к расшаренной папке Windows из Ubuntu?

Нам нужно знать ip адрес или имя устройства (hostname).

Полный сетевой путь к расшаренной папке написан на вкладке «Доступ» в Свойствах папки:

Открываем файловый менеджер (Nautilus) в Ubuntu и слева выбираем пункт «Подключиться». Вводим smb и сетевой путь к папке Windows, не забывая развернуть слеши в другую сторону, и нажимаем «Подключиться»:

Подключение к папке Windows через smb

После попытке подключения, если адрес ввели правильно, то будет запрошена авторизация:

Запрошена авторизация для подключения к папке Windows

В Windows есть несколько нюансов с настройкой общего доступа.

Если мы хотим подключаться с авторизацией, введя имя пользователя и пароль, то в Windows нужно создать локальную учетную запись с латинским логином и ввести пароль.

Если кто не знал, то в Windows 10 есть сетевые и локальные учетные записи. С сетевой учетной записью мы не сможем подключиться.

В расширенных настройках общего доступа папки Windows в «Разрешениях» по умолчанию выбрана группа «Все»:

Настройка разрешений для папки

Но авторизация у нас запрашивается, и если мы попытаемся подключиться «Анонимно», то ничего не выйдет.

Как же подключиться без ввода пароля к Windows папке из Ubuntu?

Нужно в Windows открыть «Центр управления сетями и общим доступом», выбрать «Изменить дополнительные параметры общего доступа»:

Центр управления сетями и общим доступом

В пункте «Все сети» в самом низу будет пункт «Общий доступ с парольной защитой»:

Общий доступ с парольной защитой

Надо отключить общий доступ с парольной защитой и «Сохранить изменения».

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

Для удобства и быстрого доступа к сетевому ресурсу, можно добавить его в закладки файлового менеджера (Nautilus) Ubuntu:

Добавить в закладки

А если нужно защитить папку, то надо удалить группу «Все» и добавить своего пользователя в «Разрешения»:

Вот и всё. В этой статье мы не правили никакие конфиги Samba и не пользовались терминалом. Простому пользователю этого более чем достаточно.


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

Настройка Samba-сервера в Ubuntu 24.04 позволяет организовать общий доступ к файлам и папкам между компьютерами с разными операционными системами (Windows, macOS, Linux) в вашей сети. Вот подробная инструкция:

Откройте терминал и выполните следующие команды для установки Samba и необходимых инструментов:

sudo apt update
sudo apt install samba samba-common python3-dnspython

2. Настройка Samba (Редактирование файла smb.conf):

Основной файл конфигурации Samba находится по адресу /etc/samba/smb.conf. Рекомендуется создать резервную копию этого файла перед внесением изменений:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

Теперь откройте файл smb.conf для редактирования с помощью текстового редактора (например, nano или vim):

sudo nano /etc/samba/smb.conf

Основные параметры конфигурации:

[global] секция: Содержит глобальные настройки Samba-сервера. Вот пример основных параметров:

[global]
workgroup = WORKGROUP ; Замените на имя вашей рабочей группы Windows
server string = Samba Server %v ; Описание сервера (отображается в сети Windows)
netbios name = UBUNTU-SAMBA ; Имя сервера в сети (можно изменить)
security = user ; Режим безопасности (user - требуется аутентификация)
map to guest = bad user ; Что делать, если пользователь не найден
name resolve order = bcast host lmhosts wins ; Порядок разрешения имен
dns proxy = no ; Отключить проксирование DNS
# Добавьте следующие строки для поддержки SMB3 (рекомендуется)
server min protocol = SMB3
client min protocol = SMB3

Создание общего ресурса (Share): Чтобы предоставить доступ к определенной папке, необходимо создать секцию для этого ресурса. Например, для создания общего ресурса для папки /home/user/share, добавьте следующие строки в конец файла smb.conf:

[share]
comment = Shared Folder
path = /home/user/share ; Замените на путь к вашей папке
browseable = yes ; Отображать ресурс в сетевом окружении
writable = yes ; Разрешить запись
guest ok = no ; Запретить гостевой доступ
read only = no ; Разрешить чтение и запись
create mask = 0777 ; Права для создаваемых файлов
directory mask = 0777 ; Права для создаваемых директорий
valid users = user ; Замените на имя пользователя, которому разрешен доступ
  • path: Укажите абсолютный путь к папке, которую вы хотите сделать общедоступной.
  • browseable: Определяет, будет ли ресурс виден в сетевом окружении.
  • writable: Разрешает или запрещает запись в общий ресурс.
  • guest ok: Разрешает или запрещает гостевой доступ (без аутентификации). Рекомендуется установить no для безопасности.
  • read only: Определяет, будет ли ресурс доступен только для чтения.
  • create mask и directory mask: Устанавливают права доступа для создаваемых файлов и директорий. 0777 предоставляет полные права (чтение, запись, выполнение) для всех пользователей. Будьте осторожны с этим значением и используйте более строгие права, если это необходимо.
  • valid users: Укажите список пользователей, которым разрешен доступ к ресурсу. Замените user на имя пользователя Ubuntu.

3. Создание пользователя Samba:

Samba использует отдельную базу данных пользователей. Необходимо создать пользователя Samba и установить для него пароль. Имя пользователя должно совпадать с именем пользователя Ubuntu.

sudo smbpasswd -a user ; Замените 'user' на имя вашего пользователя Ubuntu

Вам будет предложено ввести пароль для пользователя Samba. Этот пароль может отличаться от пароля пользователя Ubuntu.

4. Настройка прав доступа к папке:

Убедитесь, что у пользователя Ubuntu есть права на чтение и запись в папку, которую вы сделали общедоступной.

sudo chown user:user /home/user/share ; Замените 'user' и '/home/user/share'
sudo chmod 777 /home/user/share ; Предоставляет полные права (будьте осторожны)

5. Перезапуск Samba:

После внесения изменений в файл smb.conf, необходимо перезапустить Samba-сервер, чтобы изменения вступили в силу:

sudo systemctl restart smbd
sudo systemctl restart nmbd

6. Настройка брандмауэра (UFW):

Если у вас включен брандмауэр UFW, необходимо разрешить Samba-трафик:

sudo ufw allow samba
sudo ufw enable

7. Подключение к общему ресурсу с Windows:

Откройте «Проводник» (File Explorer) в Windows. В адресной строке введите \\<IP-адрес_сервера> или \\<имя_сервера>. Например, \\192.168.1.100 или \\UBUNTU-SAMBA. Вам будет предложено ввести имя пользователя и пароль Samba. Используйте имя пользователя и пароль, которые вы создали с помощью smbpasswd. Вы должны увидеть общий ресурс share.

8. Подключение к общему ресурсу с macOS:

В Finder выберите «Go» (Переход) -> «Connect to Server» (Подключиться к серверу). Введите smb://<IP-адрес_сервера> или smb://<имя_сервера>. Например, smb://192.168.1.100 или smb://UBUNTU-SAMBA. Нажмите «Connect» (Подключиться). Вам будет предложено ввести имя пользователя и пароль Samba. Выберите общий ресурс share.

9. Подключение к общему ресурсу с Linux:

Использование командной строки:

sudo mount -t cifs //192.168.1.100/share /mnt -o user=user,password=password

Замените 192.168.1.100, share, user и password на соответствующие значения. /mnt — это точка монтирования (папка, куда будет подключен общий ресурс). Убедитесь, что эта папка существует.

Использование графического интерфейса (Nautilus, Thunar, etc.):

Откройте файловый менеджер. В адресной строке введите smb://<IP-адрес_сервера>/<имя_ресурса>. Например, smb://192.168.1.100/share. Вам будет предложено ввести имя пользователя и пароль Samba.

Важные замечания по безопасности:

  • Не используйте guest ok = yes в производственной среде. Это открывает общий ресурс для неавторизованного доступа.
  • Используйте строгие права доступа к файлам и папкам. Не предоставляйте пользователям ненужные права.
  • Регулярно обновляйте Samba. Устанавливайте последние обновления безопасности.
  • Рассмотрите возможность использования Kerberos для аутентификации. Kerberos обеспечивает более безопасную аутентификацию, чем стандартная аутентификация Samba.
  • Используйте шифрование SMB3 (server min protocol = SMB3, client min protocol = SMB3). Это обеспечивает шифрование трафика между клиентом и сервером.

Устранение неполадок:

Не удается подключиться к общему ресурсу:

  • Убедитесь, что Samba-сервер запущен.
  • Проверьте правильность IP-адреса или имени сервера.
  • Убедитесь, что брандмауэр не блокирует Samba-трафик.
  • Проверьте правильность имени пользователя и пароля Samba.
  • Проверьте права доступа к папке.
  • Не удается записать файлы в общий ресурс:
  • Убедитесь, что у пользователя есть права на запись в общий ресурс (writable = yes).
  • Проверьте права доступа к папке.
  • Проверьте значения create mask и directory mask.

Общий ресурс не отображается в сетевом окружении:

  • Убедитесь, что browseable = yes.
  • Проверьте настройки name resolve order.

Следуя этим инструкциям, вы сможете успешно настроить Samba-сервер в Ubuntu 24.04 и организовать общий доступ к файлам и папкам в вашей сети. Не забывайте о безопасности и принимайте необходимые меры для защиты ваших данных.

Установка и настройка файлового сервера Samba на Ubuntu или Debian

Обновлено:
Опубликовано:

Используемые термины: Samba, Ubuntu, SMB.

Samba позволяет настроить файловое хранилище различных масштабов — от малых офисов для крупных организаций. В данной инструкции мы рассмотрим процесс настройки файлового сервера. Сначала мы выполним установку и базовую настройку с предоставлением гостевого доступа. После будет приведены примеры разграничения доступа по пользователям, группам и пользователям Active Directory. Инструкция протестирована на системах Ubuntu и Debian.

Подготовка сервера к работе
    Настройка времени
    Брандмауэр
Установка и запуск сервиса Samba
Создание первой шары с гостевым доступом
Настройка доступа к папке по логину и паролю
Доступ к папке для пользователей и групп
Помещение удаленных файлов в сетевую корзину
Настройка клиентов для подключения к шаре
    Windows
    Linux
Некоторые полезные опции Samba
    hosts allow
    hosts deny
    interfaces
    force user/group
    include
Читайте также

Подготовка сервера

Прежде чем перейти к установке файлового серера, выполним подготовку.

1. Время

Для корректного отображения дат, необходимо позаботиться о синхронизации времени. Для этого будем использовать демон chrony. Установим его:

apt update

apt install chrony

Разрешим автозапуск сервиса:

systemctl enable chrony

2. Брандмауэр

По умолчанию, в системах на базе Debian брандмауэр разрешает все соединения. Но если в нашем случае мы используем брандмауэр, необходимо открыть порты:

iptables -I INPUT -p tcp —dport 445 -j ACCEPT

iptables -I INPUT -p udp —dport 137:138 -j ACCEPT

iptables -I INPUT -p tcp —dport 139 -j ACCEPT

* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).

Применяем настройки:

apt install iptables-persistent

netfilter-persistent save

Установка выполняется из репозитория одной командой:

apt update

apt install samba

И проверим, что сервис запустился: 

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

Пример подключения к SMB шаре с компьютера на Windows

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

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

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

vi /etc/samba/smb.conf

И добавляем настройку для общей папки:

[Общая папка]
    comment = Public Folder
    path = /data/public
    public = yes
    writable = yes
    read only = no
    guest ok = yes
    create mask = 0777
    directory mask = 0777
    force create mode = 0777
    force directory mode = 0777

* где: 

  • [Общая папка] — имя общей папки, которое увидят пользователи, подключившись к серверу.
  • comment — свой комментарий для удобства.
  • path — путь на сервере, где будут храниться данные.
  • public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
  • writable — разрешает запись в сетевую папку.
  • read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
  • guest ok — разрешает доступ к папке гостевой учетной записи.
  • create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются указанные права. В нашем примере права будут полные.

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

mkdir -p /data/public

chmod 777 /data/public

Применяем настройки samba, перезагрузив сервис:

systemctl restart smbd

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

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

Открываем конфигурационный файл samba:

vi /etc/samba/smb.conf

Добавляем настройку для новой папки:

[Папка сотрудников]
    comment = Staff Folder
    path = /data/staff
    public = no
    writable = yes
    read only = no
    guest ok = no
    create mask = 0777
    directory mask = 0777
    force create mode = 0777
    force directory mode = 0777

* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:

  • path = /data/staff — используем новый путь до папки.
  • public = no — запрещаем публичный доступ.
  • guest ok = no — не разрешаем гостевое подключение.

Создаем каталог для новой папки:

mkdir /data/staff

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

useradd staff1

* где staff1 — имя пользователя.

Задаем пароль для пользователя:

passwd staff1

Теперь создадим пользователя в samba:

smbpasswd -a staff1

Перезапускаем samba:

systemctl restart smbd

Пробуем зайти на сервер — общую папку мы должны открыть без авторизации, а при попытке открыть папку сотрудников должно появиться окно ввода логина и пароля.

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

Теперь создадим папку, доступ к которой будут иметь ограниченное количество пользователей.

Открываем конфигурационный файл samba:

vi /etc/samba/smb.conf

Добавляем настройку для новой папки:

[Приватная папка]
    comment = Private Folder
    path = /data/private
    public = no
    writable = no
    read only = yes
    guest ok = no
    valid users = admin, staff2, staff3, @privateusers
    write list = admin, staff2
    create mask = 0777
    directory mask = 0777
    force create mode = 0777
    force directory mode = 0777
    inherit owner = yes

* стоит обратить внимание на следующие настройки:

  • path = /data/private — используем новый путь до папки.
  • writable = no и read only = yes — в данном примере мы разрешим запись в каталог только некоторым пользователям. Поэтому общие настройки, разрешающие запись в папку, должны быть запрещены.
  • valid users — список пользователей, которым разрешено подключаться к каталогу. В данном примере разрешения работают для пользователей admin, staff2 и staff3, а также для всех, кто входим в группу privateusers.
  • write list — список пользователей, которые имеют доступ к папке на чтение и запись. В данном примере мы разрешаем это только для пользователей admin и staff2.
  • inherit owner — опция позволяем включить наследование владельца при создании папок и файлов.

* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.

Создаем каталог для новой папки:

mkdir /data/private

Задаем права на созданный каталог:

chmod 777 /data/private

Для применения настроек перезапускаем samba:

systemctl restart smbd

Создать группу пользователей можно командой:

groupadd privateusers

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

usermod -a -G privateusers staff1

Подробнее о работе с учетными записями в Linux.

Проверяем возможность работы с новым каталогом.

Сетевая корзина

При удалении файлов из общей папки, данные удаляются навсегда. Но мы можем настроить сетевую корзину — скрытый каталог, в который будут перемещаться удаляемые с самбы объекты.

Открываем конфигурационный файл:

vi /etc/samba/smb.conf

Создаем шару:

[Recycle]
    comment = Snap Directories
    path = /data/recycle
    public = yes
    browseable = yes
    writable = yes
    vfs objects = recycle
    recycle:repository = .recycle/%U
    recycle:keeptree = Yes
    recycle:touch = Yes
    recycle:versions = Yes
    recycle:maxsize = 0
    recycle:exclude = *.tmp, ~$*
    recycle:exclude_dir = /tmp

* где:

  • vfs objects = recycle — использовать подсистему recycle.
  • recycle:repository — где хранить удаленные объекты. В данном примере удаленные файлы попадут в скрытый каталог .recycle к котором создастся каталог с именем пользователя, удалившего файл или папку.
  • recycle:keeptree — удалять объекты с сохранение дерева каталогов.
  • recycle:touch — изменить ли дату изменения файла при его перемещении в корзину.
  • recycle:versions — при удалении файлов с совпадающими именами, добавлять номер версии.
  • recycle:maxsize — не помещать в корзину файлы, размер которых больше заданного параметра (в байтах). В данном примере, помещать файлы любого размера.
  • recycle:exclude — исключить файлы.
  • recycle:exclude_dir — исключить каталог.

Создаем каталог и задаем права:

mkdir /data/recycle

chmod 777 /data/recycle

Перезапускаем самбу:

systemctl restart smbd

Пробуем зайти в сетевой каталог Recycle и создать, а после удалить файл. Он должен оказаться к скрытой папке .recycle.

Для автоматической чистки сетевой корзины можно создать скрипт:

mkdir /scripts

vi /scripts/cleanrecycle.sh

#!/bin/bash

recyclePath=»/data/recycle/.recycle»
maxStoreDays=»30″

/usr/bin/find $recyclePath -name «*» -ctime +$maxStoreDays -exec rm {} \;

* в данном скрипте мы ищем все файлы в каталоге /data/recycle/.recycle, которые старше 30 дней и удаляем их.

Разрешаем запуск скрипта:

chmod +x /scripts/cleanrecycle.sh

Создаем задание в планировщике:

crontab -e

0 5 * * * /scripts/cleanrecycle.sh

* в данном примере мы будем запускать скрипт по очистке сетевой корзины каждый день в 05:00.

Подключение к шаре

Теперь разберем примеры подключения к нашим шарам из разных систем.

Windows

Для разового подключения можно использовать проводник, прописав в нем адрес сервера через косые линии:

Пример подключения к SMB шаре с компьютера на Windows

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

Подключение сетевого диска в Windows

В открывшемся окне прописываем путь до сетевой папки и выбираем имя диска:

Прописываем путь до сетевой папки, на которую хотим сделать сетевой диск

Сетевой диск настроен.

Но мы может сделать те же действия из командной строки:

net use x: \\samba.dmosk.local\AD ACL /persistent:yes

* где x: — имя сетевого диска; \\samba.dmosk.local\AD ACL — путь до сетевого каталога; persistent:yes — указывает на то, что нужно восстанавливать данный диск каждый раз при входе в систему.

Linux

Монтирование

В Linux мы можем монтировать удаленный каталог с помощью команды mount, например:

mount -t cifs «//192.168.1.15/ad» /mnt -o user=dmosk

* где 192.168.1.15 — IP-адрес сервера; mnt — каталог, куда монтируем сетевую шару; dmosk — пользователь, под которым выполняем подключение к сетевому каталогу.
** в систему должен быть установлен пакет cifs-utils.

Подробнее, процесс монтирования описан в инструкции Как в Linux монтировать шару CIFS.

SMB Browser

Также мы можем увидеть содержимое удаленных папок на samba при помощи клиента smb. Для начала установим данного клиента:

а) на Red Hat / CentOS / Fedora:

yum install samba-client

б) на Debian / Ubuntu / Mint:

apt install samba-client

После вводим команду:

smbclient -L 192.168.1.15 -U staff@dmosk.local

* где 192.168.1.15 — сервер samba, к которому мы пытаемся подключиться; staff@dmosk.local — учетная запись, под которой выполняется подключение.

… мы получим список каталогов, которые расшарены на сервере.

Также мы можем подключиться к конкретной папке, например:

smbclient \\\\192.168.1.15\\ad -U staff@dmosk.local

Мы подключимся клиентом samba — можно выполнить запрос на показ содержимого:

smb: \> ls

Или полный список возможных команд:

smb: \> help

Некоторые опции Samba

Рассмотрим некоторые полезные опции, которые могут пригодится при настройке Samba.

1. hosts allow

Параметр задает список разрешенных хостов или сетей, с которых можно подключаться к серверу. Если его прописать в секцию с настройкой шары, то он будет действовать только для нее, если прописать в [global], то для всех общих папок.

Пример использования параметра.

hosts allow = comp1, 192.168.1., 192.168.160.0/255.255.252.0

* в нашем примере мы разрешим доступ только для компьютера comp1, компьютеров из сетей 192.168.1.0/24 и 192.168.160.0/22.

2. hosts deny

Параметр аналогичный hosts allow, только он наоборот — запрещает доступ для хостов и сетей. Например:

hosts deny = comp2, 192.168.2., 192.168.164.0/255.255.252.0

hosts deny = ALL EXCEPT 192.168.3.

3. interfaces

По умолчанию samba использует все сетевые интерфейсы, кроме локальной петли (127.0.0.1). Параметр interfaces позволит указать, на каком сетевом адаптере файловый сервер должен принимать запросы. Пример:

interfaces = ens32 192.168.1.15/24 192.168.2.15/255.255.255.0

4. Force User/Group

Опции force user и force group позволяют задать пользователя и группу, от которых будет работать подключение пользователя к samba. Параметр может оказаться полезным для создания шары из каталога с уже назначенным владельцем, которого мы не хотим менять.

Прописывается для шары:

force user = apache
force group = apache

* данная настройка позволит подключаться к шаре под пользователем apache.

5. Include

Позволяет подключить дополнительный файл с конфигурацией.

include = /etc/samba/conf.d/shares.conf

* данная опция будет дополнительно подключать конфигурацию из файла /etc/samba/conf.d/shares.conf (прописывается полный путь).

Читайте также

Возможно, эти инструкции будут также Вам полезны:

1. Как в Linux монтировать шару CIFS.

2. Как настроить автоматическое монтирование дисков в Linux.

3. Настройка дисковых квот в Linux.

4. Установка и настройка samba в Linux CentOS.

Samba — это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Ubuntu для других машин, в том числе и Windows.

В этой небольшой инструкции будет рассмотрена простейшая настройка Samba Ubuntu 18.04, а также как настроить общий доступ к папке Ubuntu с несколькими уровнями привилегий.

Мы создадим три общие папки с различными уровнями разрешений. Папку с анонимным доступом, с доступом для пользователей, входящих в определенную группу и доступом лишь для определенного пользователя.

Получить доступ к расшаренным папкам в Ubuntu смогут как Linux так и Widnows машины, с помощью любой программы для работающей по протоколу SMB.

Содержание статьи

  • Подготовка Windows
  • Настройка Samba в Ubuntu
  • Общий доступ к папке Ubuntu
  • Защищенный общий доступ к папке Ubuntu
  • Выводы

Подготовка Windows

Для того чтобы все работало правильно, все машины должны состоять в одной рабочей группе, указанной на сервере Samba. По умолчанию для Windows, Linux и MacOS рабочая группа называется Workgroup. Чтобы узнать какая рабочая группа используется в вашей Windows откройте командную строку (Win+R, затем cmd) и выполните вот такую команду:

net config workstation

share

Нужный нам параметр мы видим в строке Домен рабочей станции. Это и есть рабочая группа.

Теперь, если у компьютера с Samba сервером в вашей сети будет постоянный IP адрес желательно ввести его в файле hosts. Для этого запустите командную строку от имени администратора:

share3

И выполните команду:

notepad C:\Windows\System32\drivers\etc\hosts

В открывшимся файле добавьте строчку с IP адресом компьютера, на который будет установлен Samba:

192.168.0.1 srvr1.domain.com srvr1

Теперь можно переходить к вопросу как расшарить папку Ubuntu.

Начнем, как обычно, с установки. Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:

sudo apt-get install samba samba-common python-glade2 system-config-samba -y

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

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

После создания резервной копии, создайте свой файл конфигурации, этой командой:

 sudo vi /etc/samba/smb.conf

Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes

Рассмотрим подробнее что значат эти строки.

  • workgroup — рабочая группа, как уже говорилось должна одинакова на всех машинах
  • netbios name — имя компьютера, которое будет отображаться в Windows;
  • log file — адрес файла, куда будут складываться сообщения об ошибках и другая информация;
  • security — по умолчанию выполнять аутентификацию на уровне пользователя;
  • name resolve order — очередность разрешения IP адресов по NetBIOS имени. bcast — означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный;
  • passdb backend — способ хранения паролей пользователей;
  • unix password sync — синхронизация паролей пользователей samba с локальными паролями Unix;
  • map to guest — указывает, когда пользователю будет предоставляться гостевой доступ. Доступно три значения — never — никогда, bad user — когда такого пользователя не существует, bad password — когда пароль введен неверно,

Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку Ubuntu для Windows.

Общий доступ к папке Ubuntu

Сначала давайте создадим общую папку доступную всем. То есть с анонимным доступом, без авторизации samba.

Создайте папку, к которой будем открывать доступ, например:

sudo mkdir -p /samba/allaccess

После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:

cd /samba
sudo chmod -R 0755 allaccess
sudo chown -R nobody:nogroup allaccess/

Следующим шагом будет описать папку allaccess в файле настройки samba:

[allaccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Теперь ваш конфигурационный файл должен выглядеть вот так:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes
#==============
[AllAccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Рассмотрим подробнее опции, которые были здесь использованы:

  • path — путь к папке, которую нужно расшарить;
  • browsable — будет ли папка отображаться в списке доступных шар;
  • writable — будет ли папка доступна для записи;
  • read only — папка доступна только для чтения;
  • guest ok, public — будет ли разрешен гостевой доступ;
  • only guest — если установлено yes, то папка будет доступна только гостям;
  • hosts allow — ip адреса, с которых можно получить доступ к этому серверу;
  • valid users — по умолчанию могут авторизоваться все пользователи, если в этом параметре передать список пользователей, то авторизоваться смогут только они;
  • create mask — маска прав для создаваемых файлов.

Чтобы применить изменения, перезапустите сервер Samba:

sudo systemctl restart samba

Настройка Samba Ubuntu для анонимного доступа завершена. Теперь вы можете проверить доступность общей папки allaccess из Windows, для этого нажмите Win+R и выполните:

\\srvr1\allaccess

share5

Вы увидите нашу папку. Если не увидите, проверьте еще раз конфигурацию. Доступ к папке можно получить без авторизации samba. Настойка Samba шары с доступом без авторизации завершена.

Также вы можете подключится к этому серверу из Linux с помощью Nautilus для этого достаточно набрать адрес smb://ip-сервера, в разделе другие места:

Защищенный общий доступ к папке Ubuntu

Чтобы расшарить папку для Windows Ubuntu, к которой будут иметь доступ только пользователи из определенной группы, создадим отдельную папку и опишем ее в файле настройки Samba в Ubuntu.

Сначала создаем папку:

sudo mkdir -p /samba/allaccess/secured

Дальше установим такие права, чтобы доступ к папке могли получить только пользователи из группы securegroup.

Создаем группу:

sudo addgroup securedgroup

Настраиваем права:

cd /samba/allaccess
$ sudo chown -R richard:securedgroup secured
$ sudo chmod -R 0770 secured/

Последний шаг, добавляем настройки в конфигурационный файл samba:

sudo vi /etc/samba/smb.conf

[secured]
path = /samba/allaccess/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes

Перезапустите сервер Samba. Теперь доступ к общей папке в Ubuntu могут получить только пользователи группы securegroup.

Чтобы проверить как это работает добавим пользователя richard в нашу группу:

sudo usermod -a -G securedgroup richard

Чтобы пользователь мог работать с расшаренными папками в Ubuntu, он должен быть в базе данных Samba. Поэтому создадим для него пароль Samba:

sudo smbpasswd -a richard

После ввода команды вам будет предложено ввести новый пароль. Для применения изменений не забудьте перезагрузить файловый сервер.

Если вы хотите чтобы общий доступ к папке Ubuntu мог получить доступ только определенный пользователь замените в конфигурационном файле @securegroup на имя пользователя. Также можно указать несколько пользователей через запятую или несколько групп.

Выводы

Вот и все. Теперь вы знаете как правильно выполняется установка Samba на Ubuntu 18.04, а также ее настройка. Кроме ручного редактирования конфигурационных файлов, для того чтобы расшарить папку в Ubuntu можно воспользоваться графической утилитой system-samba-config. Но после того как мы разобрали все низкоуровневые настройки, с этой утилитой вы справитесь без труда.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как узнать пароли на компьютере windows 10
  • Как сделать из windows 10 pro windows 10 ltsc
  • Windows cmd color text
  • Горячие клавиши windows назад
  • Windows 11 не работает микрофон в discord