- Samba/ Usershares
- Предварительная настройка
- P10
- Control
- P9
- Управление пользователями
- Настройка общего доступа
- В файловом менеджере
- В консоли
- Просмотр публичных ресурсов
- В файловом менеджере
- В консоли
- Alt linux общие папки
- 61.1.1. Настройка Samba
- 61.1.1.1. Добавление пользователя
- 61.1.1.2. Создание ресурсов общего доступа
- 61.1.1.3. Создание ресурсов общего доступа от имени обычного пользователя
- 61.1.2. Настройка клиента
- 61.1.2.1. Подключение по протоколу SMB в графической среде
- 61.1.2.2. Монтирование ресурса Samba через /etc/fstab
Samba/ Usershares
Usershares — возможность непривилегированным пользователям (non-root) создавать, модифицировать и удалять свои собственные ресурсы для публикации их в сети.
Возможность публиковать свои папки пользователем настроена по умолчанию в дистрибутивах Альт, поэтому чаще всего первый раздел данной статьи можно пропустить.
Предварительная настройка
P10
В ОС Альт c samba , начиная с версии 4.16.7-alt5, существует пакет samba-usershares , который предоставляет файл конфигурации, группу и каталоги для поддержки общих ресурсов пользователей.
Для создания общего ресурса пользователем должны быть выполнены следующие условия:
- Установлен пакет samba-usershares :
# apt-get install samba-usershares
[global] include = /etc/samba/usershares.conf
[global] usershare path = /var/lib/samba/usershares usershare max shares = 100 usershare allow guests = yes usershare owner only = yes usershare prefix deny list = /etc /dev /sys /proc usershare prefix allow list = /home /srv /mnt /media /var
- usershare path — указывает каталог, в котором будут храниться описания пользовательских общих ресурсов (по умолчанию /var/lib/samba/usershares );
- usershare max shares — задаёт максимальное количество определяемых пользователями общих ресурсов. При достижении этого числа, общие каталоги не будут создаваться (net usershare add: maximum number of allowed usershares (10) reached). Если данный параметр закомментирован или его значение равно нулю, пользователи не смогут создавать общие ресурсы (net usershare: usershares are currently disabled);
- usershare allow guests — определяет можно ли общим ресурсам разрешать гостевой доступ. Если данный параметр закомментирован или его значение равно no, пользователи не смогут разрешать общим ресурсам гостевой доступ;
- usershare owner only — определяет может ли предоставить общий доступ каталогу не его владелец. Если данный параметр закомментирован или его значение равно yes, пользователи смогут предоставлять общий доступ только тем каталогам, владельцами которых они являются (net usershare add: cannot share path /tmp/user5 as we are restricted to only sharing directories we own);
- usershare prefix deny list — определяет список запрещённых каталогов (абсолютных путей), подкаталогам которых пользователи не смогут предоставлять общий доступ (info_fn: Error was Path is denied — при попытке создания общего ресурса в подкаталоге из списка запрета);
- usershare prefix allow list — определяет список разрешённых каталогов (абсолютных путей), подкаталогам которых пользователи могут предоставлять общий доступ (info_fn: Error was Path not allowed — при попытке создания общего ресурса вне подкаталога из списка разрешений).
$ groups user wheel uucp proc cdrom floppy cdwriter audio radio users usershares camera vboxusers xgrp scanner
Control
Для управления настройками /etc/samba/usershares.conf можно использовать подсистему control.
Политики управления настройками /etc/samba/usershares.conf :
# control smb-conf-usershares help enabled: разрешить пользователям создавать общие ресурсы (''usershare max shares'' = 100) disabled: запретить пользователям создавать общие ресурсы (''usershare max shares'' = 0) default: запретить пользователям создавать общие ресурсы (параметр ''usershare max shares'' закомментирован) # control smb-conf-usershare-allow-guests help enabled: разрешить предоставление гостевого доступа общему ресурсу (''usershare allow guests'' = yes) disabled: запретить предоставление гостевого доступа общему ресурсу (''usershare allow guests'' = no) default: запретить предоставление гостевого доступа общему ресурсу (параметр ''usershare allow guests'' закомментирован) # control smb-conf-usershare-owner-only help enabled: запретить предоставление общего доступа не владельцу каталога (''usershare owner only'' = yes) disabled: разрешить предоставление общего доступа не владельцу каталога (''usershare owner only'' = no) default: запретить предоставление общего доступа не владельцу каталога (параметр ''usershare owner only'' закомментирован) # control smb-conf-usershare-allow-list help enabled: включить список разрешенных каталогов disabled: отключить список разрешенных каталогов (параметр ''usershare prefix allow list'' закомментирован) # control smb-conf-usershare-deny-list help enabled: включить список запрещенных каталогов disabled: отключить список запрещенных каталогов (параметр ''usershare prefix deny list'' закомментирован)
- отключить возможность предоставления общему ресурсу гостевого доступа:
# control smb-conf-usershare-allow-guests disabled
# control smb-conf-usershare-allow-list disabled
P9
В дистрибутивах с samba до версии 4.16.7-alt5
- В конфигурационном файле Samba ( /etc/samba/smb.conf ) должны быть заданы следующие переменные:
[global] # ----------------------- User Shares Options ------------------------- usershare path = /var/lib/samba/usershares usershare max shares = 100 usershare allow guests = yes usershare owner only = yes
$ groups user wheel uucp proc cdrom floppy cdwriter audio radio users sambashare camera vboxusers xgrp scanner
и перезапустить службы smbd и nmbd:
# systemctl restart smb # systemctl restart nmb
Управление пользователями
Примечание: В данном разделе описывается работа с локальной (tdbsam) базой данных пользователей Samba.
Samba использует отдельную от системной базу данных пользователей. Для возможности доступа пользователя к папке (если запрещен гостевой доступ) необходимо внести его в базу данных Samba и установить пароль для доступа к общим ресурсам (он может совпадать с основным паролем пользователя). Следует учитывать, что в базу данных Samba можно добавлять пользователей, которые уже есть в системе.
Добавить пользователя в базу данных Samba можно, выполнив команду (должен быть установлен пакет samba-client ):
# smbpasswd -a user New SMB password: Retype new SMB password: Added user user.
Можно создать отдельного пользователя, которому разрешить только доступ к Samba-ресурсам и запретить полноценный вход в систему:
# useradd user_samba -d /dev/null -s /usr/bin/nologin # smbpasswd -a user_samba
Примечание: Специальный файловый ресурс [homes] в /etc/samba/smb.conf используется для подключения домашних каталогов пользователей:
[homes] comment = Home Directories browseable = no writable = yes
Для возможности использования данного ресурса, необходимо добавить каждого локального пользователя в список пользователей Samba.
Просмотр списка пользователей Samba:
Смена пароля пользователя Samba:
Настройка общего доступа
В файловом менеджере
Предоставление общего доступа к папке:
- Файловый менеджер Thunar:
- В контекстном меню папки выбрать пункт «Свойства»;
- В открывшемся окне на вкладке «Общий доступ» отметить пункт «Разрешить общий доступ к этой папке», настроить параметры публикации и нажать кнопку «ОК»
- Файловый менеджер Caja:
- В контекстном меню папки выбрать пункт «Опции публикации»;
- В открывшемся окне отметить пункт «Разрешить общий доступ к этой папке», настроить параметры публикации и нажать кнопку «ОК»
В консоли
Команды для настройки общего доступа:
$ net usershare add [комментарий] [пользователь:R|D|F>] [guest_ok=y|n>] $ net usershare delete $ net usershare list $ net usershare info
Например, открыть доступ к папке Общедоступные :
$ net usershare add Share /home/user/Общедоступные/ "" "Everyone:R" "guest_ok=y"
- Share — название опубликованного ресурса;
- /home/user/Общедоступные — абсолютный путь к опубликованной папке;
- «» — пустой комментарий;
- «Everyone:R» — права доступа;
- «guest_ok=y» — возможность подключения без аутентификации.
Просмотр списка опубликованных ресурсов:
Просмотр информации об опубликованных ресурсах:
$ net usershare info [Share] path=/home/user/Общедоступные comment= usershare_acl=Everyone:R,Unix User\user:F, guest_ok=y
Отменить публикацию папки:
$ net usershare delete Share
Просмотр публичных ресурсов
В файловом менеджере
Для подключения к общей папке достаточно выбрать закладку «Обзор сети»/«Просмотр сети» в файловом менеджере и затем нужный компьютер.
Также можно указать в адресной строке файлового менеджера протокол и адрес сервера (smb:/// или smb:///) и нажать Enter . Будут показаны ресурсы с общим доступом:
Для доступа к папке, к которой запрещен анонимный доступ, необходимо указать имя и пароль пользователя Samba:
Примечание: Обращение к домашней папке пользователя выполняется по имени пользователя smb:/// (например, smb://192.168.0.120/user). При каждом таком обращении Samba сначала ищет имя запрошенного ресурса в списке общих ресурсов, и если имя не найдено проверяет наличие в конфигурации ( /etc/samba/smb.conf ) секции [homes]. Есть такая секция есть, то имя трактуется как имя пользователя, и проверяется по базе данных пользователей сервера Samba. Если имя найдено в базе данных пользователей, то Samba предоставляет в качестве общего ресурса домашний каталог этого пользователя:
В консоли
Просмотр списка доступных ресурсов на сервере:
Alt linux общие папки
Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части.
61.1.1. Настройка Samba
После редактирования файла smb.conf , запускайте команду testparm для проверки файла на синтаксические ошибки.
61.1.1.1. Добавление пользователя
#useradd -m user_samba
#passwd user_samba
# smbpasswd -a user_samba
New SMB password: Retype new SMB password: Added user user_samba.
61.1.1.2. Создание ресурсов общего доступа
#chown -R user_samba:users /mnt/sharefolder
#chmod -R ugo+rwx /mnt/sharefolder
[public] #путь к общей папке path=/mnt/sharefolder read only=No #открыть гостевой доступ guest ok=Yes comment = Public
#systemctl restart smb
#systemctl restart nmb
61.1.1.3. Создание ресурсов общего доступа от имени обычного пользователя
Usershare — это возможность, позволяющая обычным пользователям добавлять, изменять и удалять собственные ресурсы общего доступа.
В конфигурационном файле smb.conf должны быть заданы следующие переменные (данная возможность настроена по умолчанию):
[global] # ----------------------- User Shares Options ------------------------- usershare path = /var/lib/samba/usershares usershare max shares = 100 usershare allow guests = yes usershare owner only = yes
#systemctl restart smb
#systemctl restart nmb
Далее следует завершить сеанс и войти в него вновь. Теперь у вас должна появиться возможность настраивать общий доступ samba, используя графический интерфейс.
Для того чтобы предоставить общий доступ на папку в контекстном меню папки выбрать пункт Опции публикации , настроить параметры публикации и нажать кнопку Создать публикацию :
61.1.2. Настройка клиента
61.1.2.1. Подключение по протоколу SMB в графической среде
Для создания подключения по протоколу SMB в графической среде MATE можно, запустить файловый менеджер, указать в адресной строке протокол и адрес сервера:
Для доступа к папке, необходимо указать имя пользователя, пароль и нажать кнопку Подключиться :
61.1.2.2. Монтирование ресурса Samba через /etc/fstab
$ smbclient -L 192.168.88.218 -U%
$ smbclient -L 192.168.88.218 -Uuser_samba
Unable to initialize messaging context Enter WORKGROUP\user_samba's password: Sharename Type Comment --------- ---- ------- public Disk Public IPC$ IPC IPC Service (Samba Server Version 4.10.3) user_samba Disk Home Directories Cups-PDF Printer Cups-PDF open_folder Disk Reconnecting with SMB1 for workgroup listing. Server Comment --------- ------- Workgroup Master --------- ------- WORKGROUP HOST-15
username=имя_пользователя password=пароль
Для защиты информации, права на файл /etc/samba/sambacreds , надо установить так, чтобы файл был доступен на чтение и запись только пользователю-владелецу файла:
# chmod 600 /etc/samba/sambacreds
# chown root: /etc/samba/sambacreds
//СЕРВЕР/ИМЯ_РЕСУРСА /mnt/точка_монтирования cifs credentials=/путь/к/полномочиям/sambacreds 0 0
//192.168.88.218/public /mnt/server_public cifs users,_netdev,x-systemd.automount,credentials=/etc/samba/sambacreds 0 0