61 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Файловый сервер на linux для Windows сетей

На самом деле Ubuntu прекрасно работает с Windows сетью и доменами, просто не все об этом знают.

По не совсем понятной мне причине, даже последних версиях Ubuntu по умолчанию нет клиента для работы с Windows сетями – Smb. Не беда открываем терминал: sudo apt-get install samba идём в Other locations и пишем:

smb://”IP или имя Windows системы”/”имя папки”. И ничего не открывается. Оказывается в Samba по умолчанию не включена поддержка smb2 и smb3 протокола необходимого для сетевой авторизации для всего что Windows 7 и выше. Нужно отредактировать файл /etc/samba/smb.conf и включить поддержку. Но вот беда файл защищён системой, поэтому отредактировать то его можно, а вот сохранить нет. Опять открываем терминал и пишем: sudo nano /etc/samba/smb.conf

Вводим пароль администратора и ищем строку: workgroup = WORKGROUP добавляем enter ниже дописываем client min protocol = SMB2 ещё раз enter client max protocol = SMB3. Чтобы в законченом виде выглядело вот так:

client min protocol = SMB2

client max protocol = SMB3

Теперь нажмите ctrl+O чтобы сохранить файл конфигурации и нажмите ещё раз enter.

Последний штрих перезапустить сервис SMB напишите в терминале: service smb start у меня почему-то эта комманда не проходила, поэтому пришлось перезапустить систему.

Теперь идём Files/Other Locations или Connect to Server и пишем: smb://”IP или имя Windows системы”/”имя папки” и вместо ошибки появляется диалог подключения. Тут тоже всё довольно просто.

User: IP или имя Windows системы компьютера к которому вы подключаетесьимя пользователя которому открыт доступ к этой папке. Например Server1User03 если в сети есть домен авторизации пользователей на другой машине и доступ открыт через домен нужно указывать сервер авторизации например USER-AUTHUser03 опять же если система в той же подсети, она сможет видеть сервер авторизации пользователей в домен не заходя. Обратите внимание, пользователь находится на удалённой системе, а не на вашей поэтому пишем Server1User03. (Единственное исключение если и на Windows и на Ubuntu будет создан пользователь User03 с одинаковым паролем, тогда можно Server1 не писать, но так лучше не делать).

Domain: WORKGROUP – Доменное имя можно оставить как есть, если система не входит в домен, открывать расшаренные папки внутри домена это не мешает.

Password: Пароль пользователя User03 на Windows машине которому открыт доступ к папке.

Если всё сделано правильно, то папка откроется. Если всё равно не открывается, проверьте настроки антивируса, Kaspersky например по умолчанию давит запросы Ubuntu системы даже если она находится в доверенной сети. Надеюсь пост поможет людям которые хотят использовать свою Ubuntu например на рабочем месте, а Windows заточенные админы только разводят руками и говорят “Ну это же Ubuntu, мы тут не знаем”. Достойное место в домашней сети Ubuntu тоже может прекрасно занять особенно на более старом железе, которое медленно тянет Win10. Не могу сказать, что я в восторге от всех этих плясок с терминалом, но в целом очень достойная и главная абсолютно бесплатная ОС.

Файловый сервер для Windows на Ubuntu

Развернуть файловый сервер для Windows машин на Ubuntu достаточно просто. Обычно такой сервер используется для организации файловых хранилищ в рамках Active Directory домена.

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

В любом случае воспользуйтесь Samba – установите ее с помощью менеджера пакетов Synaptic или следующей командой:

Файловый сервер в составе домена Active Directory

Для создания файлового сервера, интегрированного в домен Active Directory, сначала необходимо ввести Вашу машину с Ubuntu в домен.

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

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

Так что по умолчанию расшаренные ресурсы будут располагать скромными возможностями контроля доступа, включая назначение разных прав для пользователя, группы и всех остальных. Но Вы можете это без труда исправить, добавив в ФС поддержку POSIX ACL. Тогда можно будет назначать различные права различным пользователям и группам почти как в Windows.

Поддержку POSIX ACL можно найти в ext3/4, и для её активации нужно только добавить к опциям монтирования нужного раздела параметр acl.

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

Помните еще вот о чем: POSIX ACL не поддерживают наследование прав доступа от родительских каталогов, в то время как в Windows эта возможность есть. Так что в Samba существует дополнительный механизм сохранения информации о наследовании прав доступа, использующий расширенные атрибуты файловой системы. Чтобы Samba корректно обрабатывала наследование прав, кроме acl к опциям монтирования файловой системы добавьте параметр user_xattr, ответственный за включение поддержки расширенных атрибутов.

Например, удобно использовать для организации расшаренных ресурсов отдельные LVM диски. В этом случае строчки в fstab для них выглядят так:

Опция noexec нужна для перестраховки: что на шарах для Windows 100% не должно быть исполняемых файлов Linux.

Установите пакет необходимх утилит для работы с acl на Ubuntu:

Теперь просмотрите расширенные права (т.е. ACL) на файл или каталог следующей командой:

Установите такой командой:

Не забывайте, что механизм POSIX ACL никак не связан с Samba – это только надстройка над стандартным механизмом разграничения прав в Linux. Так что Samba может его использовать, но не способна как-либо изменить или обойти.

Для использования расширенных атрибутов ФС пригодится похожий на acl пакет утилит – attr, поставьте его следующей командой:

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

А для установки выполните:

Следует помнить, что Samba хранит всю информацию о наследовании в бинарном виде в единственном расширенном атрибуте user.SAMBA_PAI. Так что поменять что-то с помощью setfattr не получится, возможно только полное удаление расширенных атрибутов (в некоторых случаях необходимость в этом возникает).

Контролировать наследование прав с Windows машины возможно с помощью штатных инструментов этой системы, или утилитой smbcacls.

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

Если в Вашей системе есть каталог, который нужно расшарить через Samba (и он расположен на диске, подмонтированном с поддержкой acl и user_xattr), настройте его расшаривание – введите нужную информацию в файл /etc/samba/smb.conf.

В первую очередь займитесь общими настройками для добавления в секцию [global] этого файла:

Затем настройте сам расшаренный ресурс. В примере он указан как profiles, а физически на Ubuntu машине расположен по адресу /var/data/profiles:

Существует ряд других опций – вся подробная информация есть в документации по Samba.

Обязательно поставьте правильного владельца и права доступа на расшариваемую папку, иначе в неё может быть запрещена запись на уровне прав Linux. Можете сделать так:

Внимание! Так как Ваша Ubuntu машина введена в домен, вы можете применять пользователей и группы домена в качестве владельцев файлов прямо в Ubuntu.

Проверьте корректность настройки Samba командой:

Далее перезапустите Samba:

Теперь получить доступ к расшаренному ресурсу Вы можете с любой машины домена. Но не забывайте про SGID и Sticky биты для каталогов, предназначенные для наследования группы-владельца и запрещения пользователям удаления не своих файлов – это особенно актуально для многопользовательских хранилищ. При этом, в отличие от редактирования прав из Windows, поменять эти биты на папках на расшаренном ресурсе невозможно – только вручную прямо на Ubuntu компьютере.

Читать еще:  Вайбер сам заходит в сеть

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

Автономный файловый сервер

Далеко не все располагают доменом Active Directory. Поэтому часто появляется необходимость организовать на Linux машине независимое файловое хранилище с собственной системой авторизации. Это несложно.

В этом случае вся информация о пользователях будет храниться в базе данных Samba, а добавлять и удалять пользователей на нее придется вручную.

Главное – нужно определиться с используемым способом доступа к ресурсу. Следует корректно установить значение параметра security в секции [global] файла /etc/samba/smb.conf.

Стандартно применяется значение share или user.

И не забудьте изменить значение параметра workgroup на соответствующее, причем все остальные настройки напрямую будут зависеть от конкретных целей.

Автономный файловый сервер без авторизации

В домашних условиях удобно, когда все видят всех. Для этого просто добавьте 4 строчки в секцию [global] файла /etc/samba/smb.conf (некоторые могут уже быть в наличии):

NOTEBOOK – имя компьютера, которое будет в сети. Также установите дополнительные программы:

Дополнительно для kubuntu необходимо установить smb4k . После редактирования настроек перезапустите службы. В systemd (начиная с 15.04) перезапуск осуществляется так:

Посмотрите «шары» через файловый броузер nautilus, konkueror или следующим образом:

Расшаривание папки на Ubuntu

Файловый сервер на linux для Windows сетей

  • Главная
  • ТЕХНИЧЕСКАЯ
  • LINUX
  • Файловый сервер Samba в домене Windows

Файловый сервер Samba в домене Windows

  • размер шрифта уменьшить размер шрифтаувеличить размер шрифта
  • Печать
  • Эл. почта

В данной статье будет рассмотрен вариант развёртывания файлового сервера Samba на базе операционной системы UBUNTU и организация его взаимодействия с доменов Windows.

Для примера использован следующие исходные данные:

дистрибутив: UBUNTU 16.04.4
имя сервера Linux: 2UBUNTU-16
домен Windows: TESTDOMAIN.LOCAL
контроллеры домена: 2SRV1.TESTDOMAIN.LOCAL , 2SRV2.TESTDOMAIN.LOCAL
администратор контроллера домена: adm

Подготовка

После установки дистрибутива выполняем обновление информации о пакетах и сами пакеты:

sudo apt-get update
sudo apt-get upgrade

Для удобства работы с сервером можно дополнительно установить Webmin (систему управления сервером LINUX через web-интерфейс).

Если есть необходимость, то меняем имя сервера:

hostnamectl set-hostname 2UBUNTU-16

Добавляем доменное имя сервера в файл hosts

sudo nano /etc/hosts

127.0.0.1 localhost
127.0.1.1 2ubuntu-16 2ubuntu-16.testdomain.local

После этого перезагружаем сервер:

Установка Samba

Помимо установки Samba, так же устанавливаем пакеты Kerberos и Winbind (для возможности подключения и взаимодействия с доменом на Windows):

sudo apt install krb5-user winbind samba libnss-winbind libpam-winbind

При установке Kerberos будет запрошена область по умолчанию – нужно указать адрес домена (в нашем случае TESTDOMAIN.LOCAL)

Проверяем доступность контроллера домена:

ping -c 5 TESTDOMAIN.LOCAL

Для успешной работы с доменом нужно установить синхронизацию времени с контроллером домена.

sudo apt install ntp

Настраиваем файл конфигурации службы ntp

sudo nano /etc/ntp.conf

Нужно закомментировать все текущие указанные серверы проверки время и добавить свой домен ( pool TESTDOMAIN.LOCAL)

Перезапускаем службу времени и проверяем статус синхронизации:

sudo systemctl restart ntp
ntpq -p

Запрашиваем тикет у Kerberos у контроллера домена:

kinit Этот адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.

Если не отобразилась информация об ошибке, то запрос прошёл верно и можно проверить результат:

Настройка Samba

Сохраним резервную копию файла конфигурации:

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

Далее редактируем файл конфигурации:

sudo nano /etc/samba/smb.conf

Пример заполнения раздела [global]

[global]
security = ADS
workgroup = TESTDOMAIN
realm = TESTDOMAIN.LOCAL
encrypt passwords = yes
# Default idmap config for local BUILTIN accounts and groups
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# idmap config for the TESTDOMAIN domain
idmap config TESTDOMAIN : backend = rid
idmap config TESTDOMAIN : range = 10000-999999
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes

После сохранения изменений в файле smb.conf выполняем проверку:

Взаимодействие Samba с доменом Windows

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

sudo net ads join -U Этот адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.

В случае отсутствия ошибок проверяем наличия сервера в списке компьютеров домена на стороне контроллера.

Перезагружаем сервис Winbind:

service winbind restart

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

wbinfo –ping-dc
wbinfo -u
wbinfo -g

Чтобы UBUNTU могла использовать не только локальные группы и пользователей, но и доменные данные, нужно отредактировать настройки диспетчера службы имен NSS (Name Services Switch)

sudo nano /etc/nsswitch.conf

Необходимо дописать следующие значения:

passwd: compat winbind
group: compat winbind

После этого можно проверить возможность просмотра пользователей и групп:

getent passwd adm
getent group “пользователи домена”

Добавляем папку общего ресурса:

sudo mkdir -p /srv/samba/public

Назначаем имя владельца и группу для созданной папки:

sudo chown “adm”:”пользователи домена” /srv/samba/public

Редактируем файл конфигурации Samba, чтобы добавить поддержку Windows ACLs и сетевую папку public

sudo nano /etc/samba/smb.conf

[global]
# Windows ACLs Support
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes

[Public]
path = /srv/samba/public/
read only = no

Перезапустим службу Samba (чтобы применить изменения):

service smbd restart && service nmbd restart

Для удобства удалённой настройки разрешений сетевых ресурсов добавим администраторам домена привилегию SeDiskOperatorPrivilege:

net rpc rights grant “TESTDOMAINадминистраторы домена” SeDiskOperatorPrivilege -U “TESTDOMAINadm”

Проверяем подключение привилегий:

net rpc rights list privileges SeDiskOperatorPrivilege -U “TESTDOMAINadm”

Теперь управлять разрешениями для общих ресурсов можно удалённо с сервера Windows. Для этого запускаем оснастку «Управление компьютером» от имени администратора домена, выбираем «Подключиться к другому компьютеру…» и выбираем имя сервера Linux ( 2UBUNTU-16.TESTDOMAIN.LOCAL)

В разделе «Служебные программы» – «Общие папки» – «Общие ресурсы» будут отображаться сетевые ресурсы, доступные на сервере Linux.

Дополнительно:

Дополнительно можно подключать “корзину” для отдельных ресурсов (чтобы сохранять удалённые файлы и папки).

Проверяем наличие соответствующего модуля:

dpkg -l |grep samba-vfs-modules

Устанавливаем, если он отсутствует:

apt install samba-vfs-modules

Добавляем поддержку корзины для общего ресурса Public

sudo nano /etc/samba/smb.conf

[Public]
path = /srv/samba/public/
read only = no
vfs object = recycle
recycle: repository = .recycle/%U
recycle: touch = yes
recycle: keeptree = yes
recycle: versions = yes

«vfs object = recycle» – включение корзины для общего ресурса;
«recycle: repository = .recycle/%U» – папка, куда будут перемещаться удаленные файлы;
«recycle: touch = yes» – обновлять дату при перемещении файла в корзину;
«recycle: keeptree = yes» – сохранять структуру каталогов удаленного файла;
«recycle: versions = yes» – при перемещении в корзину файла с существующим именем, добавлять к началу имени файла префикс «Copy #».

Настройка Samba Linux Mint 19.1

Для расшаривания файлов и папок по сети в Linux Mint существует пакет программ «Samba» который позволяет обращаться к сетевым дискам, папкам и принтерам. Имеется серверная и клиентская часть. В Linux Mint 19.1 данный пакет установлен по умолчанию, расшарить файлы для других пользователей достаточно легко. Отмечу в Linux Mint более ранних версий пакет программ необходимо устанавливать самостоятельно.

Устранение ошибки

Для этого необходимо запустить утилиту «system-config-samba» которая обеспечивает настройку расшаренных ресурсов и добавление пользователей для доступа к ним. Данная утилита запускается с помощью терминала. Забегу наперед не все так просто как описано в интернет. При запуске утилиты у меня возникла ошибка.

Ошибка запуска

[sudo] пароль для alex:

Traceback (most recent call last):

File «/usr/sbin/system-config-samba», line 45, in

File «/usr/share/system-config-samba/mainWindow.py», line 121, in __init__

self.basic_preferences_win = basicPreferencesWin.BasicPreferencesWin(self, self.xml, self.samba_data, self.samba_backend, self.main_window)

File «/usr/share/system-config-samba/basicPreferencesWin.py», line 97, in __init__

Читать еще:  Подключение к беспроводной сети вручную Windows 10

SystemError: could not open configuration file `/etc/libuser.conf’: Нет такого файла или каталога

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

sudo touch /etc/libuser.conf

Но и на всякий случай дадим разрешение на чтение и запись в этот файл:

sudo chmod a+rw /etc/libuser.conf

Все это проделывается в терминале. И только после этого получиться запустить «system-config-samba». Утилиту необходимо запускать от имени супер пользователя.

Настройка сервера Samba

Утилита для настройки сервера Samba благополучно запустилась, на примере рассмотрим как добавить пользователя под именем Alex (Home) и расшарить для него папку «Фото».

Меню программы состоит из трех разделом «Файл», «Настройка» и «Справка».

С помощью меню «Файл» можно добавлять ресурсы, смотреть свойства и удалять их. Меню «Настройка» пригодится для настройки сервера и добавление пользователей. «Справка» сама говорит за себя.

Настройка сервера Samba

В первой вкладке задается имя рабочей группы и ее описание. В нашем случае я оставлю все без изменений меня и так устраивает.

Безопасность

  • ADS — работает как участник домена Active Directory;
  • Domain — проверяет пользователя полагаясь на первичный и резервный контроллер домена Windows NT. Сервер Samba передает контроллеру имя и пароль пользователя и ждет от него ответа. Тут необходимо будет указать имя первичного или резервного контроллера домена;
  • Сервер — сервер Samba пытается проверить имя пользователя и пароль с помощью другого сервера Samba, также необходимо будет указывать имя другого сервера samba;
  • Ресурс — пользователю Samba нет необходимости вводить свое имя и пароль при подключении к серверу, до тех пор пока пользователь не пытается подключиться к определенному общему каталогу этого сервера;
  • Пользователь — пользователи должны представить правильное имя и пароль для сервера Samba.

Шифрование паролей — при включении данного пункта пароли передаются не открытым текстом, а в зашифрованном виде.

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

В своем случае тип аутентификации оставляю «Пользователь», Шифрование паролей «Да», и отключаю гостевые учетные записи.

Добавление пользователей Samba

Необходимо выбрать «Добавить пользователя».

Добавление пользователя

Имя пользователя Unix — из выпадающего списка выбираем существующего пользователя системы (при необходимости его можно создать дополнительно).

Имя пользователя Windows — имя пользователя в системе Windows.

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

С помощью вкладки «Настройки» провели нехитрые манипуляции по настройке сервера Samba.

Расшаривание ресурсов

Необходимо добавить ресурсы к которым необходимо предоставить доступ.

Нажимаем «Добавить ресурс».

Добавление ресурса Добавление ресурса

В первом пункте необходимо указать путь к ресурсу.

Путь ресурса

При необходимости можно поменять название ресурса и внести описание.

Выбираем галочку «Запись разрешена» в том случае если пользователю дозволено не только считывать информацию с ресурса но и вносить туда свои данные. И ставим галочку «Виден».

На вкладке «Доступ» необходимо указать пользователей которые получат доступ к ресурсу.

Доступ

Вот таким образом можно предоставлять те или иные сетевые ресурсы для пользователей. Для проверки, что все сделано правильно переходим на вкладку «Сеть» и выбираем свой сервер.

Проверка ресурсов

Заходим на него и видим расшаренные ресурсы.

Расшаренные ресурсы

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

Вход на ресурс

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

Настройка Samba сервера на Ubuntu

Samba широко применяется именно из за возможности работы с клиентами, использующими разные ОС. Она может быть интегрирована с Active Directory, что, тем не менее, распространенной практикой не является.

Файловый сервер, который будет настраиваться, предназначен для обслуживания 30-50 клиентов.

Будет последовательно настроено две базовые конфигурации: файловое хранилище, доступ к которому имеют все пользователи организации («файлопомойка«) и хранилище, имеющее определенные разграничения доступа.

Читаем описание пакета и проверяем зависимости:

apt-cache show samba | less

apt-get install samba

Если в процессе установки возникает ошибка 404 — это означает, что каких-либо файлов, необходимых для корректной установки в репозиториях найдено не было.

Обновляем списки репозиториев (при необходимости заранее добавив нужные и устанавливаем пакет; && означает, что выполняться вторая часть команды будет только в случае если успешно будет выполнена первая).

apt-get update && apt-get install samba

workgroup = remote-tech-support

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

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

Убираем знак комментария перед параметром

security = user

Настройка базовой конфигурации файлового сервера

Функция Samba сейчас — обеспечивать минимальный функционал — возможность свободного обмена файлами.

Переходим к нижней части конфига и добавляем «шару»:

[Public Share]
comment = Everybody can use that share
read only = no
path = /mnt/fileserver
guest ok = no

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

read only определяет возможность писать в расшаренные файлы

guest ok позволяет или не позволяет неавторизованным пользователям использовать файловый сервер

service smbd restart

Создает каталог для файлового сервера

Теперь логический том размеров 10 Гб, называем его vg0

lvcreate -L 10G -n samba vg0

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

/dev/vg0/samba /mnt/fileserver ext4 defaults 0 0

Обновляем информацию о примонтированных устройствах

Проверяем, отображается ли шара в файловой системе

df |grep fileserver

service smbd restart

Пароли для доступа к файловому серверу

Пароли пользователей для работы с smbd отличаются от паролей системных пользователей (которые задаются в /etc/passwd).

Пароли для работы с Samba задаются при помощи команды smbpasswd

Создаем тестовые директории

chown student TestA

Видим, что владелец TestA student

Владелец TestB — root

Сейчас целью является обеспечить возможность всем пользователям записывать информацию в файлы в обеих директориях.

Создаем новую группу fileserver и добавляем в нее пользователя student

adduser student fileserver

Видим, что тестовые директории имеют группу владельца root.

Устанавливаем на директорию шары group ID bit.

chgrp fileserver fileserver/

chmod g+rws fileserver/

За счет +s права (принадлежность пользователю) будут наследоваться всеми файлами, создаваемыми внутри расшаренного

Проверяем, что значится группа пользователя fileserver

Добавляем в конфиг строку, за счет которой все пользователи, получающие доступ к шаре, будут временно добавляться в группу fileserver

[Public Share]
comment = Everybody can use that share
read only = no
path = /mnt/fileserver
guest ok = no
force group = fileserver
force create mode = 666
force create mode = 777

service smbd restart

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

ALT + F2

Создадим файлы, которые владельцем которых будет student

mkdir TestA TestB

drwxr-sr-x student fileserver TestA
drwxr-sr-x student fileserver TestB

Владелец каталогов student, группа владельца — fileserver. Присутствует security bit (s), установленный ранее.

chown root TestB

Включаем ПК с ОС Windows, находящийся в той же подсети. авторизуемся с реквизитами пользователя student.

В командной строке набираем //server01 (или любое другое имя, данное ранее серверу)
Видим каталог Public share, в котором находятся директории TestA и TestB

Создаем текстовый документ в Public share — убеждаемся в том, что никаких ошибок не возникает.
Смотрим свойства TestB — видим, что владелец каталога root, группа — fileserver. Для TestA — fileserver и student соответственно.

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

Читать еще:  Где найти загрузки на компьютере?

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

Настройка более безопасной конфигурации и разграничение прав

Сейчас мы изменим конфигурацию Samba предоставив каждому пользователю каталог для хранения персональной информации

снимаем знаки комментария со строк, относящихся к секции [Home]. После перезапуска Samba при авторизациии каждый пользователь будет видеть каталог имя которого будет совпадать с именем пользователя, в данном каталоге могут храниться персональные данные, дсотуп к которым будет только у пользователя-владельца каталога (и у root-а).

Устанавливаем значение параметра read only в секции в no, также редактируем значения других параметров:

read only = no
create mask = 0700
directory mask = 0700
valid users = %S

Идем в Windows. Необходимо обновить список расшаренных каталогов поскольку ОС кэширует данные — один из способов — перейти непосредственно в каталог пользователя, в командной строке набираем \server01, затем в поле адреса \server01student

Оказываемся в домашнем каталоге пользователя, где можем создавать файлы и директории. Создаем каталог

Обратно в Linux. Смотрим права и видим, что владелец и группа владельца student

[Accounting]
comment = Share for accounting department
read only = no
path = /mnt/fileserver/Accounting
guest ok = no
force group = +accounting
force create mode = 660
force directory mode = 770

Здесь добавляем безопасности за счет выставления +accounting, в отличие от настроенной ранее конфигурации пользователи не добавляются в группу, а только используют ее для получения доступа к шаре. За счет выставления прав достигается невозможность пользователей не входящих в группу владельца даже читать файлы, созданные Samba.

Соответственно чтобы пользователю назначались права группы пользователей accounting, он должен уже состоять в ней.

[IT]
comment = IT department
read only = no
path = /mnt/fileserver/IT
guest ok = no
force group = +IT
force create mode = 660
force directory mode = 770

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

adduser student IT

Задаем пользователей и группы пользователей:

chmod root.fileserver fileserver

chmod g+wrs fileserver

chmod root.IT IT

chmod root.accounting Accounting

chmod g+wrs Accounting

Проверям корректно ли настроена принадлежность каталогов

Удаляем тестовые каталоги:

rm -R TestA TestB

Возвращаемся в Windows. Поскольку student является членом группы IT — он должен иметь доступ только в каталог, относящийся к департаменту IT. Доступ в другие каталоги для него должен отстутсвовать (он может просматривать содержимое директории Accounting, однако создавать и редактировать файлы не может). Убеждаемся в том, что это действительно так.

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

adduser student internet_dev

chown www-data.internet_dev internet/

chmod g+rws internet/

[internet]
comment = IT department
read only = no
path = /var/www/internet
guest ok = no
valid users = @internet_dev
force group = internet_dev
force create mode = 664
force directory mode = 775

Значение valid users здесь предполагает присутствие пользователей в группе internet_dev, также здесь можно задать список пользователей.
Иные права устанавливаются потому, что с каталогом /var/www/internet будут работать не только пользователи, но и, в данном случае, Apache

В Windows обновим информацию на экране (F5) и попытаемся открыть каталог internet. Если выполненные настройки корректны — успеха данные попытки иметь не будут — будет бесконечно выводиться окно ввода пароля.

adduser student internet_dev

Создадим и откроем документ в Windows — сохранение не выполняем.

В Linux выполняем smbstatus

smbstatus — команда, показывающая испольуземые шары, открытые в них файлы и использующих их пользователей.

Находим ID процесса, отвечающего за поддержание соединения с шарой (допустим, 2456) и убиваем его

Делаем ps aux и среди процессов видим вновь породившийся процесс того же рода, но с другим ID — его восстоздала Samba

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

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

Читайте также про LVM — логические разделы, которые использовались при настройке Samba

Как установить и настроить сервер Samba на Ubuntu 16.04 для общего доступа к файлам

Главное меню » Операционная система Ubuntu » Как установить и настроить сервер Samba на Ubuntu 16.04 для общего доступа к файлам

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

  • smbd : обеспечивает SMB / CIFS обслуживание ( общий доступ к файлам и печати), а также может выступать в качестве контроллера домена Windows.
  • nmbd : обеспечивает сервис имен NetBIOS

Как установить Samba-сервер на Ubuntu 16.04

Samba входит в состав большинства дистрибутивов Linux. Чтобы установить Samba на Ubuntu, просто запустите:

Последняя стабильная версия доступна 4.5.3, выпущена 19 декабря 2016 г. Чтобы проверить версию Samba, запустите

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

Для запуска этих двух служб, выполните следующие команды:

После запуска, smbd будет слушать на порту 139 и 445.

Редактирование файла конфигурации

Там только один конфигурационный файл , который необходимо отредактировать: /etc/samba/smb.conf .

В разделе [global] , убедитесь, что значение workgroup относиться к рабочей группе компьютеров Windows.

Прокрутите вниз к нижней части файла. (В текстовом редакторе nano, нажмите CTRL+W а затем CTRL+V .) Включите новый раздел, как показано ниже. Замените username на необходимое имя пользователя.

Home Share это имя папки , которое будет отображаться в сети Windows. Комментарием является описание общей папки. Следующие 3 строки указывают, что только указанный пользователь valid users имеет право доступа к каталогу /home/username/ , который также доступен для записи. Вышеуказанная конфигурация отключит анонимный доступ.

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

Создание пользователя

Samba содержит по умолчанию user в качестве режима защиты, означает, что клиенты должны ввести имя пользователя и пароль для доступа к общей папке. Чтобы добавить пользователя в Ubuntu, выполните следующую команду:

Вам будет предложено установить пароль Unix. Кроме того, необходимо установить отдельный Samba пароль для пользователя с помощью следующей команды:

Теперь все, что осталось сделать, это перезапустить демон smbd.

Доступ Samba к общей папки из Windows

На компьютере Windows, который находится в той же сети, откройте проводник и нажмите Сеть на левой панели. Вы увидите сервер самбы. Дважды щелкните общую папку и введите имя пользователя и пароль.

Доступ Samba к ресурсу папке с компьютера Ubuntu

В диспетчере файлов, перейдите на вкладку Сеть на левой панели и выберите Сеть Windows.

Выберите рабочую группу, сервер Samba и общую папку, а затем введите имя пользователя и пароль Samba.

Добавление нескольких пользователей или групп

Если нескольким учетным записям необходимо получение доступа к общей папке, то необходимо изменить правомерных пользователей, как показано ниже в файле /etc/samba/smb.conf .

Также используйте smbpasswd для установки пароля Samba для каждого из этих пользователей.

Для того, чтобы разрешить группе пользователей получить доступ к общей папке, используйте следующую конфигурацию /etc/samba/smb.conf .

Затем добавьте в эту группу пользователей

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

Набор sambashare как владельца группы общей папки:

Предоставить право на запись в группе.

Я надеюсь , что эта статья помогла вам настроить сервер Samba на Ubuntu 16.04. Как всегда, если вы нашли этот пост полезным, то отпишитесь в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: