Linux samba настройка: Страница не найдена | Losst
Настройка файлового сервера SAMBA в Ubuntu 10.04 / Ubuntu / Howitmake.ru
Файловый сервер сильно упрощает жизнь с обменом документов между сотрудниками внутри локальной сети компании.
Как поднять его и рассказывается в данном руководстве.
Все проделывается на Ubuntu 10.04
Для начала установим необходимые пакеты:
sudo apt-get install samba samba-common libcups2
Редактируем файл smb.conf
sudo nano /etc/samba/smb.conf
находим строку #security = user снимаем с нее комментарий, чтобы она выглядела
security = user
Данный параметр отвечает за доступ пользователей системы к файловому серверу.
Также в секцию [global]
Добавим параметр:
netbios name = Ubuntu
Если файловый сервер предполагается использовать в сети совместно с Windows машинами, а ради этого все и задумывалось, то наш файловый сервер будет виден под именем Ubuntu и к нему можно будет подключиться напрямую, набрав \\ubuntu
(естественно имя можно выбрать по своему усмотрению)
Если файловый сервер планируется использовать в сети совместно с Active Directory, то рекомендуется добавить следующие строки в конфиг.
Они необходимы для того, чтобы samba не пыталась становиться обозревателем домена.
local master = no
domain master = no
preferred master = no
Чтобы повысить скорость соединений с сервером добавим в конфиг:
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
Перезагрузим самбу
sudo /etc/init.d/smbd restart
Добавляем директории для нашего файлового сервера.
sudo mkdir -p /home/samba/public
sudo chown -R root:users /home/samba/public
sudo chmod -R ug+rwx,o+rx-w /home/samba/public
Снова беремся за smb.conf
sudo nano /etc/samba/smb.conf
добавим туда следующие строки
[Public]
comment = All Users
path = /home/samba/public
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
Далее находим секцию [homes]
И закомментируем все что в ней есть, обозначенное (; ) их заменяем на #
И вместо, всего что там есть, вставляем следующее.
[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
create mask = 0700
directory mask = 0700
Сохраняем все изменения и выходим.
Перезагружаем файловый сервер
sudo /etc/init.d/smbd restart
Теперь добавим нового пользователя в систему с именем test входящего в группу users
(таких пользователей можно создать столько, сколько необходимо)
sudo useradd test -m -G users
Создадим ему пароль (пароль нужно создать позаковыристее, после чего, этот пароль мы можем благополучно забыть-больше он нам не понадобится).
sudo passwd test
Теперь добавим это пользователя в базу Samba
( и придумать ему пароль КОТОРЫЙ ОТЛИЧАЕТСЯ ОТ ПАРОЛЯ ДЛЯ ВХОДА В СИСТЕМУ ПОЛЬЗОВАТЕЛЯ Linux который мы указали до этого, сделано это для того чтобы пользователь файл-сервера SAMBA не мог зайти в систему и получить доступ к шеллу, например через SSH)
sudo smbpasswd -a test
Заключение.
После всей проделанной работы, у нас получился файл-сервер, к которому могут подключиться только авторизированные пользователи, набрав \\ubuntu или \\ip-адрес-сервера, после ввода правильного имени пользователя и пароля, у каждого пользователя будет доступ к ТОЛЬКО к двум папкам 1)Public-которую видят все и к папке соответствующей имени пользователя.
Данную систему можно дополнить, например использоанием дисковых квот, также можно настроить антивирусную проверку файлов загружаемых на сервер, для этого обязательно посмотрите статью- Защита файлового сервера SAMBA антивирусом ClamAV
Samba — ALT Linux Wiki
Пример настройки smb.conf для «файлопомойки»[править]
Пример настройки smb.conf для "файлопомойки" с двумя расшаренными ресурсами и принтером, параметры, закомментированные ; - действуют по-умолчанию
workgroup = workgroup server string = Samba Server Version %v map to guest = Bad User ; idmap config * : backend = tdb guest ok = yes cups options = raw security = user ; encrypt passwords = yes ; guest account = nobody [printers] comment = All Printers path = /var/spool/samba browseable = no ; guest ok = no ; writable = No printable = yes # A publicly accessible directory, but read only, except for people in # the "staff" group [public] comment = Public Stuff path = /home/samba public = yes writable = yes ; printable = no write list = +staff ; browseable = yes [Free] path = /mnt/win/Free read only = no ; browseable = yes guest ok = yes
Монтирование ресурса Самбы через /etc/fstab[править]
Пример строчки для монтирование ресурса самбы в /etc/fstab:
//server/public /mnt/server_public cifs users,credentials=/etc/samba/sambacreds,file_mode=0777,dir_mode=0777 0 0
Если монтируется ресурс на Windows XP, добавьте в строку в /etc/fstab параметр vers=1. 0.
Если опустить параметры file_mode=0777,dir_mode=0777, то ресурс будет доступен на запись только root-у, а остальным — только для чтения.
Содержимое /etc/samba/sambacreds (создать самому, например командой mcedit /etc/samba/sambacreds )
username=имя_пользователя password=пароль
Для защиты информации, права на файл /etc/samba/sambacreds, надо установить так, что-бы файл был доступен только хозяину
chmod 600 /etc/samba/sambacreds
и принадлежать root:
chown root: /etc/samba/sambacreds
Более подробно читайте | здесь
Прозрачный доступ к samba-ресурсам с помощью smbnetfs[править]
Smbnetfs
Работа в Windows домене[править]
http://www.altlinux.org/ActiveDirectoryLogin
Работа в домене ALT Linux[править]
Домен
Использование Samba 4 в роли контроллера домена Active Directory[править]
SambaDC
Некоторые типовые проблемы при использовании samba[править]
ОФФТОП: Буду добавлять по мере нахождения багов и костылей
Проблемы с ресурсами Windows[править]
Симптомы:
При подключении к ресурсам на Windows 7, периодически и спонтанно отваливается ресурс.
При монтировании его это выражается в виде чего-то подобного:
mount error(121): Remote I/O error
Код ошибки иногда бывает 5, возможно сообщение о нехватке памяти.
При использовании других способов подключения происходит просто отключение ресурса и невозможно его более примонтировать до перезагрузки Windows.
Причина:
Проблема, как выяснилось, имеет давнюю историю и находится в компании Microsoft. Другими словами — виноват Windows.
Особенно ярко это выражено на 64 битных версиях и связано с переполнением кэша
Решение:
Нужно изменить параметры работы кэша службы сервера Windows.
Для этого на машине с Windows запускаем regedit.exe и в:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache
— установить значение 1 (По умолчанию там стоит 0)
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size
— установить значение 3 (По умолчанию там стоит 1)
После этого, перезапустить службу server (в русской версии сервер) или просто перезагрузить компьютер с win.
Решение найдено тут: http://www.linuxquestions.org/questions
Не показываются компьютеры при просмотре сети в файловых менеджерах[править]
После нахождения уязвимости в Samba просмотр компьютеров в сети (доступный по протоколу версии SMB1) стал недоступен. Подробнее: https://unix.stackexchange.com/questions/453944/samba-network-discovery-fails-through-file-managers-but-works-with-smbtree
Внимание! Использование этой функции небезопасно!
Вы можете использовать версию Samba 4.10 (включить службы smb и nmb) или указать в /etc/samba/smb.conf:
[global] ... client max protocol = NT1 client min protocol = CORE
и выполнить после этого:
systemctl restart smb nmb
Ссылки[править]
Системному администратору
Настройка SAMBA | Руководство сервера Ubuntu
В дополнение к пакету серверных приложений SAMBA для организации совместного доступа к файлам и принтерам, Ubuntu также включает другие мощные серверные приложения, предоставляющие дополнительную функциональность сетевому серверу для Windows-клиентов, аналогичную обеспечиваемой реальными Windows-серверами. Например, Ubuntu предоставляет централизованное управление сетевыми ресурсами, такими как компьютеры и пользователи через службы каталогов, и обеспечивает идентификации и авторизации компьютеров и пользователей через службы аутентификации.
Следующие параграфы рассматривают SAMBA и вспомогательные технологии, такие как сервер облегченного протокола службы каталогов (LDAP) и сервер аутентификации Kerberos более детально. Вы также получите представление о некоторых директивах доступных в конфигурационном файле SAMBA, которые облегчают интеграцию с Windows клиентами и серверами.
Active Directory — это запатентованная реализация службы каталогов от Microsoft, используемая для обеспечения средств распределения информации о сетевых ресурсах и пользователях. Кроме цетрализованного источника информации такого рода, Active Directory также действует как централизованная защищенная база данных для проверки подлинности в сети. Active Directory сочетает возможности традиционно расположенные в различных, специализированных системах каталогов для упрощения интеграции, управления и обеспечения безопасности сетевых ресурсов. Пакет SAMBA может быть настроен на использование сервисов Active Directory контроллера домена Windows.
Серверное приложение LDAP обеспечивает функциональность Службы Каталогов для компьютеров Windows на манер, очень схожий со службами Microsoft Active Directory. Такие службы включают управление атрибутами и взаимоотношениями между компьютерами, пользователями, и группами компьютеров или пользователей, которые работают в сети; и обеспечивают адекватные средства для описания, нахождения и управления этими ресурсами. Свободно доступная реализация LDAP, имеющаяся для вашей системы Ubuntu, называется OpenLDAP. Серверные демоны, отвечающие за обслуживание запросов к каталогу OpenLDAP и передачу данных каталога от одного LDAP сервера к другому в Ubuntu – это slapd и slurpd. OpenLDAP может использоваться в сочетании с SAMBA, для обеспечения доступа к файлам, печати и службам каталогов так же, как это делает контроллер домена Windows, если пакет SAMBA скомпилирован с поддержкой LDAP.
Система обеспечения безопасности аутентификации Kerberos — это стандартизированная служба для предоставления аутентификации компьютерам и пользователям посредством централизованного сервера, который предоставляет зашифрованные билеты установления полномочий, принимаемые в качестве подтверждения авторизации любыми другими компьютерами, использующими Kerberos. Преимущества аутентификации с помощью Kerberos включают обоюдную идентификацию, делегирование, возможность взаимодействия и упрощенное управление доверительными отношениями. Основными демонами сервера для обслуживания аутентификации Kerberos и администрирования базы данных Kerberos в Ubuntu являются krb5kdc и kadmin. SAMBA может использовать Kerberos, как механизм для аутентификации компьютеров и пользователей вместо контроллера домена Windows. Чтобы это сделать, система Ubuntu должна иметь установленную службу Kerberos, и файл /etc/samba/smb.conf
должен быть модифицирован для выбора верной области и режима безопасности. Например, отредактируйте файл /etc/samba/smb.conf
, добавив значения:
realm = ИМЯ_ДОМЕНА
security = ADS
к файлу и сохраните его.
Не забудьте заменить токен ИМЯ_ДОМЕНА в примере выше на фактическое имя вашего домена Windows.
Вам понадобится перезапустить демон SAMBA для того, чтобы изменения вступили в силу. Перезапустите демон SAMBA с помощью следующей команды введенной в терминальной строке:
sudo /etc/init.d/samba restart
Учетные записи компьютеров
Учетные записи компьютеров используются в Службах Каталога для уникальной идентификации компьютерных систем, находящихся в сети, и обрабатываются таким же образом, в плане безопасности, как и учетные записи пользователей. Учетные записи компьютеров могут иметь пароли так же, как и учетные записи пользователей, и проходят авторизацию для доступа к сетевым ресурсам аналогично учетным записям пользователей. Например, если пользователь, имеющий верную учетную запись именно этой сети пытается аутентифицироваться с сетевым ресурсом с компьютера, который не имеет верной учетной записи, то в зависиммости от применяемых к сети политик, пользователю, возможно, будет отказано в доступе к ресурсу, если компьютер, с которого он пытается это сделать, является посторонним.
Учетная запись компьютера может быть добавлена в файл паролей SAMBA, при условии, что имя добавляемого компьютера существует в качестве допустимой учетной записи пользователя в локальной базе паролей. Синтаксис для добавления учетной записи компьютера заключается в использовании команды smbpasswd в терминальной строке следующим образом:
sudo smbpasswd -a -m ИМЯ_КОМПЬЮТЕРА
Не забудьте заменить токен ИМЯ_КОПЬЮТЕРА в приведенном выше примере на фактическое имя того компьютера, для которого хотите создать учетную запись.
Права доступа к файлам
Права доступа к файлу определяют точные привилегии, которые имеет компьютер или пользователь по отношению к отдельной директории, файлу или группе файлов. Такие права могут определяться с помощью редактирования файла /etc/samba/smb.conf
и установки точных разрешений, определяющих доступ к общему каталогу. Например, если вы определили общий ресурс SAMBA, называемый sourcedocs, и желаете дать права доступа только чтение группе пользователей, известной как planning, а так же хотите разрешить запись в общий ресурс группе, называемой authors, и пользователю под именем richard, тогда вам необходимо отредактировать файл /etc/samba/smb.conf
и добавить следующие данные под записью [sourcedocs]:
read list = @planning
write list = @authors, richard
Сохраните файл /etc/samba/smb.conf
для того чтобы изменения вступили в силу.
Другое возможное решение — определить административные права доступа для конкретного разделяемого ресурса. Пользователи, имеющие административные полномочия, могут производить чтение, запись, изменение любой информации, доступной на ресурсе, для которого этим пользователям были явно заданы административные права доступа. Например, если вы хотите определить пользователю melissa административные права доступа к ресурсу sourcedocs, вам необходимо изменить файл /etc/samba/smb.conf
, добавив следующую строку в раздел [sourcedocs]:
admin users = melissa
Сохраните файл /etc/samba/smb.conf
для того чтобы изменения вступили в силу.
Ubuntu включает клиентские приложения и средства для доступа к сетевым ресурсам, разделяемым по протоколу SMB. Например, утилита smbclient разрешает доступ к удаленной файловой системе, наподобие FTP клиента. Для доступа к общей папке, известной под именем documents, предоставляемой удаленным Windows компьютером под названием bill, используя, к примеру, smbclient, вы можете ввести в командной строке команду подобную следующей:
smbclient //bill/documents -U <username>
Затем вам будет предложено ввести пароль для пользователя, указанного после опции -U. После удачной аутентификации, будет предоставлена командная строка, где вы сможете вводить команды для обработки и передачи файлов, синтаксически схожие с командами, используемыми неграфическими FTP-клиентами. Для получения более подробной информации об утилите smbclient, ознакомьтесь с руководством для данной утилиты, воспользовавшись командой:
man smbclient
Используя команду mount, вы можете присоединить удаленный сетевой ресурс, доступный по протоколу SMB, локально. Например, для присоединения к вашей системе Ubuntu в каталог /mnt/pcode совместно используемой папки с названием project-code, находящейся на сервере Windows под именем development, используя имя пользователя dlightman, вам следует ввести такую команду:
mount -t smbfs -o username=dlightman //development/project-code /mnt/pcode
Затем вам будет предложено ввести пароль и, после успешной аутентификации, содержимое совместно используемого ресурса будет доступно локально через точку монтирования, указанную в качестве последнего параметра в команде mount. Для отключения разделяемого ресурса просто используйте команду umount, как вы это делали с другими присоединенными файловыми системами. Например:
umount /mnt/pcode
Учетные записи пользователей
Учетные записи пользователей определяют лиц с некоторым набором прав для использования определенных ресурсов компьютера и сетевых ресурсов. Обычно, в сетевой среде, учетная запись пользователя предоставляется каждому лицу имеющему доступ к компьютеру или сети, где политики и разрешения определяют затем точные права доступа, которыми обладает учетная запись. Для определения сетевых пользователей SAMBA вашей системы Ubuntu вы можете использовать команду smbpasswd. Например для того, чтобы добавить пользователя SAMBA с именем jseinfeld в вашу систему Ubuntu, вам необходимо ввести следующую команду:
smbpasswd -a jseinfeld
Затем приложение smbpasswd запросит у вас пароль для этого пользователя:
Новый пароль SMB:
Введите пароль, который вы хотите установить для пользователя, и приложение smbpasswd предложит поторить ввод пароля:
Введите пароль SMB еще раз:
Подтвердите пароль и приложение smbpasswd добавит запись для пользователя в файл паролей SAMBA.
Группы определяют набор компьютеров или пользователей, имеющих одинаковый уровень доступа к определенным сетевым ресурсам, и предоставляют средство для структурирования контроля доступа к ресурсам. Например, если группа qa определена и в нее входят пользователи freda, danika и rob, а в другую существующую группу support входят danika, jeremy и vincent тогда определенный сетевой ресурс, настроенный для разрешения доступа группе qa, будет доступен для пользователей freda, danika, и rob, но не для jeremy или vincent-а. Так как пользователь danika входит в обе группы, qa и support, она будет иметь доступ к ресурсам, настроенным для доступа обеих групп, в то же время все другие пользователи будут иметь доступ только к тем ресурсам, которые непосредственно доступны для группы, в которую они входят.
Для обозначения групп в файле конфигурации SAMBA, /etc/samba/smb.conf
, используется следующий синтаксис: перед названием группы пишется символ «@». Например, если вы хотите определить группу с именем sysadmin в определенной секции файла /etc/samba/smb. conf
, вам нужно ввести имя группы как @sysadmin.
Групповые политики
Групповая политика обозначает некоторые параметры конфигурации SAMBA, относящиеся к учетным записям, принадлежащим домену или рабочей группе, а так же другие глобальные параметры сервера SAMBA. Например, если сервер SAMBA принадлежит рабочей группе компьютеров Windows, называемой LEVELONE, можно отредактировать файл /etc/samba/smb.conf
, изменив соответствующим образом следующий параметр:
workgroup = LEVELONE
Сохраните файл и перезапустите демон SAMBA для того, чтобы изменения вступили в силу.
К другим важным параметрам глобальной политики относится параметр netbios name, который определяет имя NETBIOS сервера, сообщаемое Вашей системой Ubuntu другим машинам сети Windows. Это имя будет распознано всеми Windows-клиентами, а так же другими компьютерами, способными к обзору сети по протоколу SMB. Кроме того, можно указать имя и местоположение файла журнала сервера SAMBA, используя параметр log file в файле /etc/samba/smb. conf
.
Несколько дополнительных директив, контролирующих глобальную групповую политику, включают определения глобального характера для всех разделяемых ресурсов. Например, установка определенных параметров в секции [global] файла /etc/samba/smb.conf
будет влиять на все разделяемые ресурсы, если переопределяющая директива не будет помещена в секцию конкретного разделяемого ресурса. Можно определить все общие катагоги как просматриваемые всеми клиентами в сети, поместив параметр browseable, который принимает логическое значение, в секцию [global] файла /etc/samba/smb.conf
. Таким образом, если вы добавляете строку:
browseable = true
в секцию [global] файла /etc/samba/smb.conf
, все совместно используемые через SAMBA ресурсы вашей системы Ubuntu смогут просматриваться всеми авторизованными клиентами, если только секция конкретного разделяемого каталога не содержит строку browseable = false, которая переопределит глобальный параметр.
Другим примером, работающим подобным образом, являются директивы public и writeable. Директива public принимает логическое значение и определяет является ли конкретный разделяемый ресурс видимым всем клиентам, авторизованным или неавторизованным. Директива writeable также принимает логическое значение и определяет доступен ли конкретный разделяемый ресурс на запись для всех без исключения сетевых клиентов.
Как установить и настроить Samba в Ubuntu
Если у вас есть сеть, состоящая из компьютеров под управлением Windows и Linux, и вы хотите включить обмен между ними. Вы можете достичь этого с помощью полезного инструмента Samba. Это инструмент с открытым исходным кодом, который позволяет вам получать доступ к общим ресурсам, включая файлы, принтеры и т. Д.
В этой статье мы покажем вам, как установить и настроить Samba в качестве системы хранения файлов для ОС Windows и Linux. Мы также покажем вам, как получить доступ к общим файлам Samba с помощью других клиентских ОС Linux и Windows. Прежде чем получить доступ к общим ресурсам, убедитесь, что у вас есть серверная и клиентская ОС в одной IP-подсети.
В этой статье я использую Ubuntu 18.04 LTS для установки и настройки сервера Samba.
Установка Samba в Ubuntu
Запустите терминал, нажав сочетание клавиш Ctrl + Alt + T , затем введите следующую команду для установки Samba.
$ sudo apt install samba
Проверка установки SAMBA
Чтобы проверить, успешно ли Samba установлена и работает, введите следующую команду. Он покажет статус службы Samba.
$ sudo systemctl status nmbd
Вы можете видеть вышеупомянутый статус, что Samba активен и работает.
Конфигурация Samba
Когда вы закончите установку, вам нужно будет ее настроить.
1. Сначала нам нужно будет создать каталог Samba, в котором будут храниться все общие данные. Откройте Терминал и выполните следующую команду от имени sudo:
$sudo mkdir /samba
Он создаст новый подкаталог samba в корневом каталоге.
2. Сделайте резервную копию файла конфигурации, скопировав его в тот же или другой каталог. Чтобы скопировать файл, выполните следующую команду от имени sudo:
$ sudo cp /etc/samba/smb.conf /etc/samba/smb_backup.conf
Он сделает резервную копию файла в том же каталоге.
3. Теперь отредактируйте файл конфигурации. Файл конфигурации Samba находится в / etc / samba / в файле с именем smb.conf. Вы можете использовать Gedit, Nano или Vim для редактирования любого файла конфигурации. Чтобы отредактировать файл с помощью редактора nano, откройте Terminal и выполните следующую команду от имени sudo:
$ sudo nano /etc/samba/smb.conf
Настройка общих ресурсов Samba
Теперь мы настроим наш новый каталог samba в качестве общего ресурса. Для этого нам нужно будет добавить следующие строки в файл конфигурации Samba.
Добавьте следующую строку в конец файла smb.conf.
[samba-share] comment = Samba on Ubuntu path = /samba read only = no browsable = yes
Где
- [samba-share] = имя ресурса
- comment = Добавить краткое описание ресурса
- Path = Это каталог вашего ресурса.
- Только для чтения = Указывает, разрешено ли пользователю писать
- Browsable = следует ли указывать общий ресурс в списке общих ресурсов
Нажмите Ctrl + O для сохранения и Ctrl + X выходить.
Настройка учетной записи пользователя Samba
Теперь настройте учетную запись пользователя Samba. Samba использует системную учетную запись для доступа к общему ресурсу, но не принимает пароль системной учетной записи. поэтому нам нужно будет установить пароль для этой учетной записи, введя следующую команду как sudo. При запросе пароля введите новый пароль.
$ sudo smbpasswd -a username
Перезапустите службу Samba
После завершения всех настроек перезапустите службу Samba, выполнив следующую команду:
$ sudo systemctl restart smbd.service
Как уже говорилось, вы должны быть в LAN для доступа к файлам с сервера Samba. Это означает, что IP-адрес вашего сервера Samba и клиентов, подключающихся к нему, должны находиться в одной сети.
Например, в моем сценарии у меня есть один сервер Samba и два клиента: один — Linux, а другой — Windows. Все три машины находятся в одной сети.
- IP-адрес Samba (сервер): 192.168.36.129/24
- IP-адрес Linux (клиент): 192.168.36.130/24
- IP-адрес Windows (клиент): 192.168.36.1/24
Настройка IP-адреса сервера Samba
Вы можете проверить IP-адрес любой машины, запустив ifconfig в Терминале.
$ ifconfig
Ниже приведена конфигурация IP моего сервера Samba:
Метод 1: Подключение из Linux
Существует два способа подключения общего ресурса Samba из клиента Linux.
1. Использование командной строки
2. Использование GUI
Ниже приведена конфигурация IP-адреса моего клиента Linux:
1. Использование командной строки
Для подключения общего ресурса Samba через командную строку Linux вам потребуется smbclient tool. Чтобы установить smbclient, откройте Терминал и выполните следующую команду от имени sudo:
$ sudo apt install smbclient
После завершения установки выполните команду, используя следующий синтаксис для доступа к общему ресурсу Samba.
$ sudo smbclient //[IP_address or Host_name]/share_name –U username
- [IP_address or Host_name] — это IP-адрес или имя хоста сервера Samba
- [share_name] — это имя общего ресурса Samba
- [username] — это имя пользователь, который обращается к общему ресурсу
, запросит пароль. После ввода пароля вы войдете в Samba CLI. Вы можете набрать help , чтобы увидеть список различных команд.
2. Использование GUI
Чтобы получить доступ к общему ресурсу Samba через графический интерфейс, откройте диспетчер файлов Linux. Нажмите Connect to Server в левой части окна диспетчера файлов.
В окне Connect to Server введите адрес сервера Samba в следующем синтаксисе и нажмите Connect .
smb: // [IP_address or Host_name] / [share_name]
Появится следующий экран. В параметре Connect As выберите Registered User .
Введите имя пользователя и пароль Samba. Оставьте домен по умолчанию и нажмите Connect .
Вы увидите, что соединение установлено. Теперь вы можете получить доступ к файлам на сервере Samba.
Способ 2. Подключение из Windows
Вы можете подключиться к общему ресурсу Samba с помощью ОС Windows двумя способами:
1. С помощью утилиты запуска
2. С помощью проводника
Ниже приведена конфигурация IP-адреса клиентского компьютера My Windows:
1. Использование утилиты Run
Нажмите клавишу Windows + R , чтобы запустить утилиту Run . Введите адрес в следующем синтаксисе для доступа к общему ресурсу Samba и нажмите Enter.
\\ [IP-адрес] \ [имя_ресурса]
Будет предложено ввести учетные данные. Введите учетные данные для общего ресурса Samba, затем нажмите OK .
Вы увидите, что соединение установлено. Теперь вы можете получить доступ к файлам на сервере Samba.
2.Использование проводника
Запустите проводник в окне. На левой панели щелкните правой кнопкой мыши This PC . Затем выберите Добавить сетевое расположение из раскрывающихся меню.
Запустится мастер Add Network Location . Продолжайте нажимать Next , пока не появится следующий экран. Добавьте общий адрес Samba, следуя синтаксису, и нажмите Next .
\\ [IP-адрес] \ имя_ресурса
На следующем экране вы можете изменить имя общего расположения. Нажмите Next , а затем нажмите Finish , чтобы завершить процесс.
Когда вышеуказанный процесс будет завершен, он запросит учетные данные, введите учетные данные для общего ресурса Samba и нажмите OK .
Вы увидите, что соединение установлено. Теперь вы можете получить доступ к файлам на сервере Samba.
Поэтому, чтобы подвести итог, мы узнали, как установить и настроить Samba в Ubuntu 18.04 LTS для создания общих ресурсов. Мы узнали, как подключить эти ресурсы с помощью ОС Linux и Windows.
Установка и настройка файлового Samba сервера на Centos
Октябрь17
Возникла необходимость поднять дома файловый сервер. Выбор пал на Samba под Centos. Название довольно экзотичное и сразу же навевает мысли о Бразилии, их вечных праздниках танцев и карнавалах! Отличное название для скучной утилиты, авторы были большие оригиналы)
Но, перейдем к делу! Наша цель: на выходе иметь файловый сервер на Linux оси, где у каждого пользователя будет своя домашняя папка. Доступ к этой папке будет осуществляться через протокол SMB. Так же все пользователи должны иметь доступ к одному/нескольким паблик папкам с правами read/write — для возможности обмена информацией.
За дефолтные настройки сервера возьмем рандомные: hostname: SMB.feanor184.ru с IP адресом 192.168.0.15
Для начала нам нужно поставить Centos( как установить Centos? ).
Отключаем SELinux
SELinux представляет собой расширение для обеспечения безопасности. В принципе чтобы построить безопасный сервер его можно и не использовать, потому что обычно от него только одни лишние проблемы, чем преимущества. Если до этого вы настраивали Centos — то, возможно. он уже отключен. Тогда просто пропускаем данный шаг. Для тех же. кто еще этого не сделал, нужно выполнить следующие шаги:
Открываем /etc/selinux/config:
Ставим SELINUX=disabled:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Перезагружаем систему:
reboot
Установка Samba
Теперь приступаем непосредственно к установке самой Samba:
yum install cups-libs samba samba-common
Редактируем smb.conf:
nano /etc/samba/smb.conf
Секция [global] для того чтобы пользователи могли войти на Samba сервер:
# Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. security = user passdb backend = tdbsam
Затем сделаем систему связи для автозапуска Samba:
chkconfig --levels 235 smb on /etc/init.d/smb start
Добавляем Samba доступы
Создадим каталог для обмена файлами и дадим права:
mkdir -p /home/shares/allusers chown -R root:users /home/shares/allusers/ chmod -R ug+rwx,o+rx-w /home/shares/allusers/
Теперь добавим его в /etc/samba/smb. conf:
[allusers] comment = All Users path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes
Если нужно чтобы у всех пользователей была возможность читать и писать в свои домашние каталоги через Samba, добавим следующие строки smb.conf (другие секции [homes] должны быть закомментированы!):
[homes] comment = Home Directories browseable = no valid users = %S writable = yes create mask = 0700 directory mask = 0700
После изменений обязательно перезагружаем Samba:
/etc/init.d/smb restart
Добавление и управление пользователями
В примере добавляем пользователя Feanor:
useradd Feanor -m -G users
Установим пароль для нового пользователя( напр. 123456 ):
passwd 123456
Теперь добавим его в базу данных Samba:
smbpasswd -a Feanor
И наконец тестируем работу войдя в систему с десктопа при помощи файлового менеджера (проводника Windows) по адресу \\192. 168.0.15 или \\192.168.0.15\Feanor. В качестве логина будет Feanor с выбранным вами ранее паролем( 123456 ).
Другие статьи
Настройка Samba на сервере с сервисом Squid
Настройка Samba на сервере с сервисом Squid
Пожалуйста, включите Javascript в браузере!
Настройка Samba на сервере с сервисом Squid
Чтобы настроить сервис Samba, выполните следующие действия:
- Добавьте Samba в автозагрузку. Для этого выполните одно из следующих действий в зависимости от используемой операционной системы:
- Добавьте в файл /etc/samba/smb.conf следующие параметры:
[global]
workgroup = <NetBIOS-имя домена Active Directory>
password server = <DNS-имя контроллера домена Active Directory>
realm = <имя домена Active Directory в верхнем регистре>
security = ads
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind use default domain = no
- Добавьте сервер в домен Active Directory. Для этого выполните команду:
net ads join -U <администратор домена>
Отобразится предложение ввести пароль администратора домена или пользователя с правами администратора домена.
- Введите пароль администратора и нажмите на клавишу ENTER.
Сервер будет добавлен в домен Active Directory.
- Проверьте добавление сервера в домен Active Directory. Для этого выполните команду:
net ads testjoin
Если сервер добавлен в домен Active Directory, в консоли отобразится
Join is OK
. - Запустите службу winbind. Для этого выполните команду:
systemctl start winbind
- Добавьте службу winbind в автозагрузку. Для этого выполните команду:
systemctl enable winbind
- Если вы используете операционную систему Ubuntu или Debian, вам требуется добавить пользователя proxy в группу winbindd_priv. Для этого выполните команду:
usermod -a -G winbindd_priv proxy
Настройка Samba будет завершена. Перейдите к проверке параметров Samba.
В начало
Настройка Samba сервера / HowTo / In Host We TRUST
Для настройки файлового хранилища на вашем Linux VPS можно воспользоваться пакетом samba который есть во всех репозиториях Linux систем. В результате настройки Samba сервера мы получим сетевую папку которую можно смонтировать как в Linux так и в Windows системе.
1. Установка samba сервера
Команда для Debian/Ubuntu
apt-get install samba -y
Команда для CentOS
yum install samba -y
2. Создание пользователя Samba сервера
Добавляем пользователя user1 в систему без возможности авторизации по ssh а так же создаем для него группу users
useradd user1 -M -G users -s /sbin/nologin
импортируем пользователя на samba сервер и устанавливаем ему пароль
smbpasswd -a user1
Создаем директорию для файлов пользователя
mkdir /mnt/user1 && chown user1:users /mnt/user1
3. Редактируем конфигурационный файл /etc/samba/smb.conf Samba сервера
Вариантов авторизации на Samba сервере может быть несколько:
а) по пользователю
b) по ip адресу
с) без авторизации (свободный доступ всем)
Вариант а
Добавляем в конец конфигурационного файла /etc/samba/smb.conf
[user1]
path = /mnt/user1
valid users = @user1
force group = users
create mask = 0660
directory mask = 0771
writable = yes
browseable = yes
Вариант b
[user1]
path = /mnt/user1
browsable = yes
writable = yes
guest ok = yes
read only = no
hosts allow = 185.246.116.155
В этом случае сетевая папка будет иметь аналогичное имя [user1], файлы так же будут храниться в директории /mnt/user1 но доступ к сетевой шаре будет разрешен только с указанного ip адреса.
Вариант с
[user1]
path = /mnt/user1
browseable = Yes
guest ok = Yes
writeable = Yes
public = yes
4. Перезапускаем Samba сервер и пробуем подключаться к нашей сетевой шаре.
/etc/init.d/samba restart
1. В окне Мой компьютер нажимаем: Подключить сетевой диск
2. Вводим IP сервера сетевой шары и папку: \\185.220.35.7\user1
3. Жмем Готово и в открывшемся окне вводим логин и пароль пользователя user1.
В итоге получаем подключенную сетевую папку в виде диска Z:
Для подключения сетевой папки в Linux системах нужно выполнить команду:
/sbin/mount.cifs //185.220.35.7/user1 /home/test/docs -o user=user1,password=testuser,uid=1000,gid=1000
где:
//185.220.35.7/user1 — адрес сетевой папки
/home/test/docs — точка монтирования.
Как настроить общий ресурс Samba для организации в Ubuntu 16.04
Автор выбрал Фонд технического образования для получения пожертвования в рамках программы Write for DOnations.
Введение
Samba — это реализация с открытым исходным кодом сетевого протокола SMB / CIFS, используемого в средах Windows для общих служб, таких как доступ к файлам и принтерам и Active Directory. Samba также может использоваться для создания кроссплатформенных общих файловых ресурсов в конфигурации, называемой автономным сервером .
В этом руководстве вы установите и настроите автономный сервер Samba для обеспечения сетевых хранилищ файлов или общих ресурсов для гипотетической небольшой организации под названием Example.com . У этой организации есть несколько требований к общим файловым ресурсам: 1. Каждому сотруднику нужен личный частный файловый ресурс; 2. Все сотрудники должны иметь доступ для чтения и записи к общему файловому ресурсу; 3. Пользователь с правами администратора должен иметь доступ для чтения и записи ко всем личным акциям и право собственности на общую акцию.
Ваш сервер Samba будет соответствовать всем этим требованиям. Вы также узнаете, как получить доступ к общим ресурсам из Windows, Linux и macOS.
Предварительные требования
Перед тем, как вы начнете это руководство, вам понадобится следующее:
Сервер Ubuntu 16. 04 с пользователем sudo без полномочий root. Пожалуйста, обратитесь к руководству по начальной настройке сервера Ubuntu 16.04 для получения дополнительной информации. Samba имеет скромные требования к оперативной памяти и процессору и будет хорошо работать на сервере 1 ГБ. У вас с большей вероятностью закончится место для хранения, поэтому это должно быть вашим основным соображением при выборе размера сервера.
Входящие TCP-соединения разрешены через порт
445
. Если вы используете брандмауэр UFW, обратитесь к разделу «Как настроить брандмауэр с UFW на облачном сервере Ubuntu и Debian». Если вы используете другой или внешний брандмауэр, обратитесь к соответствующей документации.
Шаг 1 — Установка Samba
Начнем с установки Samba с помощью системы управления пакетами Ubuntu.
Перед установкой новых пакетов давайте обновим локальный индекс пакетов, включив в него самые последние версии из репозиториев Ubuntu:
Затем установите Samba:
- sudo apt-get install samba
Эта команда установит и запустит сервер Samba smbd
и сервер Samba NetBIOS nmbd
. nmbd
не требуется для этого руководства, поэтому в интересах безопасности вы можете остановить и отключить его с помощью systemctl
:
- sudo systemctl stop nmbd.service
- sudo systemctl отключить nmbd.service
Команда sudo systemctl disable nmbd.service
при запуске выдаст следующий результат:
Вывод
nmbd.service не является собственной службой, перенаправляет на systemd-sysv-install
Выполнение / lib / systemd / systemd-sysv-install отключить nmbd
insserv: предупреждение: текущий начальный уровень (и) запуска (пустые) скрипта `nmbd 'переопределяет значения LSB по умолчанию (2 3 4 5).insserv: предупреждение: текущий стоп-уровень (и) выполнения (0 1 2 3 4 5 6) скрипта `nmbd 'отменяет значения по умолчанию LSB (0 1 6).
В этих выходных данных сообщается, что, поскольку nmbd
не имеет собственной конфигурации управления systemd
, она отключается старой системой инициализации SysV.
Чтобы избежать проблем с безопасностью, которые могут возникнуть при запуске ненастроенной сетевой службы, давайте остановим сервер Samba до тех пор, пока не будут введены сведения о конфигурации:
- sudo systemctl stop smbd.служба
Samba теперь установлена и готова к настройке.
Шаг 2. Настройка глобальных параметров Samba
Давайте определим, как сервер Samba будет себя вести, изменив его файл конфигурации, расположенный по адресу /etc/samba/smb.conf
. Этот файл состоит из двух частей: раздела [global]
и раздела [share]
. Раздел [global]
настраивает поведение сервера Samba, а разделы [shared]
настраивают общие файловые ресурсы.Начнем с установки директив в разделе [global]
.
Вместо того, чтобы редактировать /etc/samba/smb.conf
напрямую, переименуйте его в smb. conf.original
и создайте новый файл с именем smb.conf
:
- sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
Перед редактированием /etc/samba/smb.conf
давайте проверим доступные интерфейсы, чтобы сообщить Samba, какие из них она должна распознавать.Введите следующее:
Выход
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
ссылка / петля 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00
2: eth0: mtu 1500 qdisc pfifo_fast состояние UP режим DEFAULT группа по умолчанию qlen 1000
ссылка / эфир 02: 21: 2c: 03: ef: e2 brd ff: ff: ff: ff: ff: ff
Эти выходные данные показывают, что lo
— это интерфейс обратной связи, а eth0
— внешний сетевой интерфейс, хотя ваш внешний интерфейс может отличаться. Обратите внимание на оба варианта: вы включите их с директивой interfaces
в раздел [global]
файла smb.conf
.
Давайте начнем редактировать этот файл с помощью nano
или вашего любимого редактора:
- sudo nano /etc/samba/smb.conf
Раздел [global]
этого файла будет определять имя сервера, роль и другие детали, включая сетевые интерфейсы:
/ etc / samba / smb.conf
[глобальный]
строка сервера = samba_server
роль сервера = автономный сервер
interface = lo your_network_interface
привязать только интерфейсы = да
отключить netbios = да
smb-порты = 445
файл журнала = /var/log/samba/smb.log
максимальный размер журнала = 10000
В этих директивах указывается следующее:
-
строка сервера
— это идентифицирующая информация, которая будет предоставляться пользователям во время соединений. Вы можете использоватьsamba_server
или другое имя, которое будет идентифицировать ваш сервер. В этом руководстве вы увидите строкуsamba.example.com
для обозначения общего ресурса Samba для организации Example.com . -
роль сервера
— определяет, какой тип сервера Samba будет создан. В данном случае этоавтономный сервер
, то есть файловый ресурс. Другие типы серверов включают рядовые серверы домена и контроллеры домена. -
интерфейсы
— это сетевые интерфейсы, к которым будет привязана Samba.lo
— это интерфейс обратной петли (127.0.0.1), который требуется. Вам также необходимо будет включить внешний сетевой интерфейс, который вы вывели ранее. Обычно этоeth0
. -
bind interfaces only
— Это гарантирует, что Samba привязывается только к интерфейсам, перечисленным в строкеinterfaces
. В качестве меры безопасности это заставляет Samba игнорировать пакеты, не соответствующие указанным интерфейсам -
disable netbios
— отключает все функции NetBIOS, которые не нужны на автономном сервере.Это упрощает процесс разрешения имен серверов и транспортировку трафика SMB. -
smb ports
— устанавливает порт, который Samba будет прослушивать. Порт445
— стандартный порт для Samba. -
файл журнала
— Устанавливает имя и расположение файла журнала Samba. -
максимальный размер журнала
— устанавливает ограничение на размер файла журнала. Число указано в байтах и равно 10 МБ. При установке этого предела размера следует помнить о некоторых вещах: при его достижении Samba сгенерирует новый файл журнала и переместит старое содержимое в дубликат с файлом.старое расширение
. Если предел будет превышен снова, существующий файл.old
будет уничтожен. Это предотвращает переполнение дискового пространства / раздела содержимым одного файла журнала. Поэтому вы должны определить размер файла, который имеет смысл для ваших системных ресурсов.
Если вы хотите вести более подробный журнал во время настройки сервера, добавьте следующую строку в раздел [global]
:
/etc/samba/smb.conf
log level = 3 passdb: 5 auth: 5
Устанавливает уровень журнала на 3 (информация), увеличивая степень детализации информации журнала по сравнению с настройкой по умолчанию 1.Более высокое значение 5 для классов отладки passdb
и auth
предоставляет больше информации, относящейся к аутентификации пользователя.
Сохраните и закройте файл, когда закончите создание этого раздела.
Каждый раз, когда вы редактируете smb.conf
, вы должны запускать утилиту Samba testparm
, чтобы проверить отсутствие синтаксических ошибок:
Выполнение команды testparm
для файла smb.conf
дает следующий результат:
Выходные данные
Загрузить файлы конфигурации smb из / etc / samba / smb. conf
Загруженный файл служб в порядке.
Роль сервера: ROLE_STANDALONE
Нажмите Enter, чтобы увидеть дамп определений ваших сервисов
Нажатие ENTER
дает следующий результат:
Выход
# Глобальные параметры
[Глобальный]
строка сервера = samba_server
interface = lo your_network_interface
привязать только интерфейсы = Да
роль сервера = автономный сервер
файл журнала = /var/log/samba/smb.log
максимальный размер журнала = 10000
smb-порты = 445
отключить netbios = Да
Конфигурация idmap *: backend = tdb
Если testparm
сообщает Загруженный файл служб в порядке.
, то нет синтаксических ошибок, которые останавливали бы запуск сервера Samba.
Настройка раздела [global]
— это все, что требуется для запуска сервера Samba. Однако его функциональность будет ограничена без настройки общих ресурсов. Общий ресурс состоит из двух частей: пользователя и каталога, которые должны быть созданы и настроены для обеспечения возможности входа в систему и тестирования. В следующем разделе будет объяснено, как создавать пользователей, которые могут получить доступ к общим ресурсам.
Шаг 3 — Создание пользователей
На этом этапе мы создадим пользователей, которые могут получить доступ к общим ресурсам.Им потребуется доступ в качестве пользователей Samba и системы для аутентификации на сервере Samba при входе в систему, чтении и записи в файловую систему.
В гипотетической компании Example.com есть четыре сотрудника, которых нужно добавить на сервер Samba и создать в качестве пользователей в системе Linux: david , mike , jane и lucy . В дополнение к этим четырем, будет администратора и пользователя, который сможет получить доступ и управлять личными общими папками.Этот пользователь также будет владеть общими общими папками, к которым может получить доступ каждый.
Первым шагом к добавлению системных пользователей является создание домашних каталогов для каждого из них. Вместо использования стандартных домашних каталогов по адресу / home / user
, каталоги и данные Samba будут расположены по адресу / samba /
. Хранение данных Samba в одном месте и отдельно от других пользовательских данных облегчит будущие задачи управления, такие как резервное копирование.
Примечание: Пользователи, созданные в этом руководстве, не предназначены для входа по SSH.Если у ваших пользователей уже есть учетные записи на сервере, вам следует создать для них специального пользователя Samba, чтобы следовать этому руководству.
В следующем разделе будет объяснен процесс добавления первого пользователя, david , но вам нужно будет повторить этот процесс для mike , jane и lucy .
Первым шагом является создание каталога, в котором будут храниться данные Samba, в корне файловой системы. Этот каталог будет называться / samba /
, а его групповое владение будет установлено на sambashare
, группу, которая была создана при установке Samba.
Выполните следующие команды, чтобы создать каталог / samba /
и установить принадлежность группы sambashare
:
- судо mkdir / самба /
- судо chown: sambashare / samba /
Затем создайте домашний каталог david в каталоге / samba /
:
Теперь добавьте david в качестве системного пользователя с помощью следующей команды:
- sudo adduser --home / samba / david --no-create-home --shell / usr / sbin / nologin --ingroup sambashare david
Опции делают следующее:
-
--home
— Устанавливает расположение домашнего каталога пользователя. -
--no-create-home
— Это останавливает командуadduser
от создания домашнего каталога david . Если бы система создала этот каталог, он был бы заполнен файлами конфигурации, такими как.bash_history
, которые не нужны для текущей настройки. -
--shell
— устанавливает, какая оболочка david будет выделена при входе в систему по SSH. Для доступа к общему ресурсу Samba вход по SSH не требуется; установка значения/ usr / sbin / nologin
отключит вход по SSH. -
--in-group sambashare
— добавляет пользователя в группуsambashare
, предоставляя им доступ для чтения и записи к своим собственным общим ресурсам и к общей общей папке.
Вам будет предложено ввести пароль, когда вы запустите эту команду. Выберите уникальный пароль, не основанный на словаре, состоящий из 10 или более символов.
Теперь, когда существует системный пользователь david , вы можете установить владельца и разрешения для его домашнего каталога Samba:
- Судо Чоун Дэвид: Самбашаре / Самба / Дэвид /
- судо chmod 2770 / самба / давид /
Установка разрешений для каталога на 2770
означает, что новые файлы или каталоги, созданные в / samba / david /
, унаследуют групповое владение родительским каталогом, а не основной группой пользователя, создавшего файл или каталог. Это означает, например, что если пользователь admin, должен создать новый каталог в общей папке david , david сможет читать и писать в него.
Затем добавьте david на сервер Samba. Samba ведет собственную базу данных пользователей и паролей, которую использует для аутентификации логинов. Чтобы войти в систему, все пользователи должны быть добавлены на сервер Samba и включены. Выполните следующие команды smbpasswd
для выполнения обеих задач:
- sudo smbpasswd -a david
- судо smbpasswd -e давид
Используемые здесь параметры делают следующее:
-
-a
— Это добавляет пользователя на сервер Samba, не активируя его. -
-e
— включает ранее добавленного пользователя.
Пароль, который вы здесь вводите, будет использоваться для доступа к общему ресурсу Samba и может отличаться от системного пароля.
Пользователь david теперь существует как системный пользователь без возможности подключиться к серверу по SSH. У него есть домашний каталог / samba / david
, и он зарегистрирован и включен как пользователь Samba.
Повторите этот процесс для каждого пользователя Samba ( mike , jane и lucy ).
Чтобы создать пользователя admin , выполните следующие команды, изменив домашний каталог на / samba / every /
:
- sudo mkdir / samba / все
- sudo adduser --home / samba / every --no-create-home --shell / usr / sbin / nologin --ingroup sambashare admin
- sudo chown администратор: sambashare / samba / все /
- sudo chmod 2770 / самба / все /
- sudo smbpasswd -a администратор
- sudo smbpasswd -e администратор
Помимо создания пользователя admin , давайте создадим группу под названием admins , чтобы упростить управление сервером. Имея разрешения на чтение и запись для каждого общего ресурса, эта группа может упростить работу по добавлению и удалению пользователей. Например, если отдельные пользователи работают как администраторы , а затем покидают организацию, их необходимо отдельно удалить из каждой общей папки. Новых администраторов также необходимо вручную добавлять к каждой общей папке. Создание группы admins и предоставление этой группе доступа для чтения и записи к общим ресурсам означает, что для добавления и удаления пользователей требуется только одна команда.
Выполните следующие команды, чтобы создать новую группу с именем admins и добавить пользователя admin в эту группу:
- sudo groupдобавить администраторов
- sudo usermod -G администраторы админ
Дополнительные пользователи могут быть добавлены в группу admins , выполнив вторую команду: sudo usermod -G admins admin
и заменив admin
другим пользователем.
Конфигурация системы завершена, пользователи организации Example.com установлены как пользователи системы и Samba. Давайте перейдем к настройке сервера Samba, чтобы эти пользователи могли получить доступ к своим общим каталогам.
Шаг 4 — Настройка общих ресурсов Samba
Каждый общий ресурс будет иметь свой собственный раздел в основном файле конфигурации Samba, /etc/samba/smb.conf
, после глобальных параметров. Эти разделы будут определять, как будет работать каждая акция.
Используйте текстовый редактор nano
еще раз, чтобы открыть и отредактировать этот файл:
- sudo nano /etc/samba/smb.conf
В следующем блоке конфигурации будет определена личная папка каждого пользователя:
/etc/samba/smb.conf
...
[share_name]
путь =
просматриваемый =
только чтение =
принудительно создать режим =
принудительный режим каталога =
действительные пользователи =
Эти варианты включают:
-
share_name
— это имя общего ресурса, который вы будете использовать при входе в систему. -
путь
— это абсолютный путь к общему ресурсу в файловой системе. -
просматриваемый
— устанавливает, могут ли другие пользователи видеть общий ресурс. Включение этой опции позволяет другим пользователям сервера Samba видеть только наличие общего ресурса. Он не предоставляет никаких разрешений на чтение или запись. -
только чтение
— Устанавливает, могут ли действительные пользователи,
, писать в общую папку. -
Принудительное создание режима
— принудительно устанавливает разрешения для любого файла, записываемого в общий ресурс. -
принудительный режим каталога
— принудительно устанавливает разрешения для любого каталога, созданного в общей папке. -
допустимые пользователи
— это список пользователей, у которых есть доступ к общему ресурсу. Этот параметр может принимать имена пользователей или системные группы, такие как admins . Группы должны быть указаны с@
впереди, например.@admins
.
Добавьте следующий блок конфигурации общего ресурса для david , определяя его домашний каталог, разрешения для владельца группы этого каталога и пользователей, которые должны иметь доступ к его общему ресурсу:
/ etc / samba / smb.conf
[Дэвид]
путь = / самба / давид
browseable = нет
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
допустимые пользователи = david @admins
Обратите внимание, что права доступа к каталогу устанавливают групповое владение родительским каталогом.
Создайте общий блок для mike , jane и lucy . Измените только общий ресурс [имя]
, путь
и действительные пользователи
, чтобы отразить каждое из имен пользователей.
Общий ресурс [все]
будет отличаться от других как [имя],
, путь
, допустимые пользователи
и доступные для просмотра параметры
и будет выглядеть следующим образом:
/etc/samba/smb.conf
...
[каждый]
путь = / самба / все
browseable = да
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
действительные пользователи = @sambashare @admins
Предоставление группе sambashare
доступа для чтения и записи к общему ресурсу позволяет всем пользователям получить доступ к общему ресурсу, поскольку они были добавлены в эту группу при создании.
Полный файл smb.conf
будет выглядеть так:
/etc/samba/smb.conf
[глобальный]
строка сервера = samba_server
роль сервера = автономный сервер
interface = lo your_network_interface
привязать только интерфейсы = да
отключить netbios = да
smb-порты = 445
файл журнала = /var/log/samba/smb. log
максимальный размер журнала = 10000
[Дэйвид]
путь = / самба / давид
browseable = нет
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
допустимые пользователи = david @admins
[Майк]
путь = / самба / майк
browseable = нет
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
допустимые пользователи = mike @admins
[Джейн]
путь = / самба / Джейн
browseable = нет
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
допустимые пользователи = jane @admins
[Люси]
путь = / самба / люси
browseable = нет
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
действительные пользователи = lucy @admins
[каждый]
путь = / самба / все
browseable = да
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
действительные пользователи = @sambashare @admins
Сохраните и закройте файл, когда закончите редактирование.
Проверьте конфигурацию еще раз:
В результате будет получен следующий результат:
Вывод
Загрузить файлы конфигурации smb из /etc/samba/smb.conf
rlimit_max: увеличение rlimit_max (1024) до минимального лимита Windows (16384)
Раздел обработки "[Дэвид]"
Раздел обработки "[Джейн]"
Раздел обработки "[mike]"
Раздел обработки "[Люси]"
Раздел обработки "[все]"
Загруженный файл служб в порядке.
Роль сервера: ROLE_STANDALONE
Нажмите Enter, чтобы увидеть дамп определений ваших сервисов
После завершения проверки конфигурации запустим сервер Samba с systemctl
:
- sudo systemctl start smbd.служба
Сервер Samba запущен и готов принимать вход в систему. Следующим шагом является вход на сервер Samba, чтобы проверить, работает ли он должным образом. В следующем разделе рассматривается вход на сервер Samba из Windows, Linux и macOS.
Шаг 5 — Вход на сервер Samba
В этом разделе мы расскажем, как получить доступ к общим ресурсам Samba, которые мы создали в Linux, Windows и macOS.
Linux — Командная строка
Вы можете использовать инструмент smbclient
для доступа к Samba из командной строки.Этот пакет не включен по умолчанию в большинство дистрибутивов Linux, поэтому вам нужно будет установить его с помощью локального диспетчера пакетов.
На серверах Debian и Ubuntu установите smbclient
с помощью следующей команды:
- sudo apt-get update
- sudo apt-get install smbclient
В системах Fedora используйте следующее:
- sudo dnf обновить
- Судо Самба-клиент
и на CentOS:
- sudo yum обновить
- sudo yum установить samba-client
Примечание: В некоторых дистрибутивах Linux smbclient
выдает следующее сообщение об ошибке:
Вывод
smbclient: не удается загрузить / etc / samba / smb. conf - запустить testparm для его отладки
Если вы видите это сообщение об ошибке, убедитесь, что вы создали файл по адресу /etc/samba/smb.conf
.
smbclient
использует следующий формат для доступа к общим ресурсам Samba:
- smbclient // your_samba_hostname_or_server_ip / share -U имя пользователя
Для доступа к общему ресурсу вы можете использовать IP-адрес вашего сервера или имя хоста, которое вы определили в /etc/samba/smb.conf
.В этом примере имя хоста samba.example.com
используется для доступа к общему ресурсу david на сервере Samba, созданном вами на предыдущих этапах:
- smbclient //samba.example.com/david -U david
Если Дэвид хочет получить доступ к общей папке ( каждый
), измените команду на:
- smbclient //samba. example.com/everyone -U Дэвид
После выполнения команды smbclient
вам будет предложено ввести пароль Samba и вы войдете в интерфейс командной строки, напоминающий текстовый интерфейс FTP:
smb: \>
Этот интерфейс наиболее полезен для проверки имен пользователей и паролей и доступа для чтения и записи.Например, вы можете создать каталог и перечислить его содержимое следующим образом:
Вы должны увидеть следующий результат:
Выход
. Д 0 Пт 2 фев 14:49:01 2018
.. D 0 Ср 24 янв 12:11:33 2018
тест D 0 пт 2 фев 14:49:01 2018
Удалите каталог, набрав:
Управление данными в общей папке часто упрощается с помощью инструмента с графическим интерфейсом.В следующем разделе мы рассмотрим встроенные инструменты графического интерфейса для KDE.
Linux — KDE с Dolphin
Dolphin — это файловый менеджер по умолчанию в KDE, который имеет встроенные функции для доступа к общим папкам Samba.
После открытия Dolphin выполните следующие действия:
- Выберите Network из списка Places .
- Щелкните Добавить сетевую папку .
- Выберите опцию для сетевого диска Microsoft Windows .
- Нажмите Далее
- Введите данные для общего ресурса Samba:
- Имя — это запоминающееся имя, которое будет отображаться в виде закладки в Dolphin для общего ресурса.
- Сервер — это имя хоста или IP-адрес сервера Samba. В этом примере это будет
samba.example.com
. - Папка — это имя общего ресурса, установленного в
smb.conf
.
- Щелкните Сохранить и подключить .
- Введите имя пользователя и пароль для пользователя, с которым вы собираетесь получить доступ к общему ресурсу Samba.
- Щелкните ОК .
Dolphin теперь подключится и откроет общий ресурс Samba, который будет выглядеть следующим образом:
Теперь вы можете использовать общий ресурс Samba как локальный каталог для копирования, удаления и переименования файлов и каталогов. Общая папка также появится в виде постоянной закладки в местах сети .
MacOS — Командная строка
MacOS поставляется с предустановленными инструментами командной строки, которые можно использовать для доступа к общему ресурсу Samba.Откройте терминал с помощью Launchpad, щелкнув значок Terminal .
Это откроет терминал командной строки в вашем домашнем каталоге. Чтобы смонтировать общий ресурс Samba, вы можете создать новый каталог, который будет действовать как точка монтирования для общего ресурса. Точка монтирования — это место, где соединяются две файловые системы: в данном случае ваша локальная файловая система и удаленная файловая система Samba.
Создайте новый каталог с именем samba
:
Затем смонтируйте общий ресурс Samba в новом каталоге samba
. Эта команда имеет вид:
- sudo mount_smbfs // имя пользователя @ your_samba_hostname_or_server_ip / share ./mount_point
Подстановка деталей с Example.com на пользователя david выглядит так:
- sudo mount_smbfs //[email protected]/david ./samba
В каталоге samba
теперь будет отображаться содержимое общего ресурса david в примере .com Samba-сервер. Файлы и каталоги можно манипулировать с помощью обычных инструментов, таких как ls
, rm
и mkdir
; однако каталог samba
будет принадлежать пользователю root после монтирования общего ресурса. Поэтому вам нужно будет использовать sudo
для доступа к каталогу samba
и его содержимому.
Чтобы отключить общий ресурс Samba, запустите команду umount
из того же каталога, в котором вы выполнили команду mkdir
:
В следующем разделе мы рассмотрим доступ к общему ресурсу Samba с помощью настольного графического интерфейса пользователя в macOS.
MacOS — Настольный компьютер
MacOS также может получить доступ к общим ресурсам Samba с помощью приложения Finder.
Выполните следующие шаги:
- Откройте Finder и щелкните Перейти в строке меню.
- Щелкните Подключиться к серверу в списке параметров.
- Используйте URL-адрес в формате
smb: //
, который включает ваше имя пользователя, имя вашего хоста или IP-адрес сервера и имя вашего общего ресурса:smb: // username @ your_samba_hostname_or_server_ip / share
.В показанном здесь примере вы увидите имя пользователя david и имя хостаsamba.example.com
. - Добавьте в закладки общий ресурс Samba, нажав кнопку с символом + .
- Нажмите Подключите
- Выберите Зарегистрированного пользователя
- Введите имя пользователя и пароль для общего доступа Samba.
- Решите, хотите ли вы, чтобы macOS сохраняла пароль.
- Щелкните Подключите .
После успешного подключения к общему ресурсу Samba он появится в Finder, как показано здесь:
В следующем разделе будет рассмотрено, как получить доступ к общим ресурсам Samba из Windows 10.
Windows 10 — Командная строка
Для подключения общего ресурса Samba из командной строки Windows требуется только одна команда:
- net use буква_диска \\ your_samba_hostname_or_server_ip \ share
Замените переменные из общего ресурса пользователя david и установите букву диска X:
:
- чистое использование X: \\ samba.example.com \ david
При вводе этой команды вам будет предложено ввести имя пользователя и пароль david . После их ввода вы получите подтверждение об успешном подключении общего ресурса:
Выходные данные
Введите имя пользователя для samba.example.com: david
Введите пароль для samba.example.com:
Команда успешно выполнена.
Теперь вы сможете просматривать общий ресурс Samba в проводнике и управлять файлами и каталогами, как если бы они были локальными для вашего компьютера.
В следующем разделе мы рассмотрим использование инструментов Windows GUI для доступа к общему ресурсу Samba.
Windows 10 — Рабочий стол
Windows 10 также имеет встроенную возможность подключения к общему ресурсу Samba. Следующие шаги подключат вас к общему ресурсу Samba и сохранят его в качестве закладки с помощью проводника Windows. Начните эти шаги, открыв проводник:
- Щелкните правой кнопкой мыши This PC .
- Щелкните Добавить сетевое расположение , а затем Далее на следующей странице.
- Щелкните Выберите пользовательское сетевое расположение .
- Нажмите Далее
- Введите адрес сервера Samba в стиле Windows и имя общего ресурса. Windows использует следующую форму URL-адреса Samba:
\\ your_samba_hostname_or_server_ip \ share \
.
В примере изображения имя сервера —samba.example.com
, а имя общего ресурса —david
:\\ samba.example.com \ david
. - Щелкните Далее .
- Введите имя пользователя и пароль для пользователя.
- Решите, хотите ли вы, чтобы Windows запоминала пароль.
- Щелкните ОК .
Проводник теперь подключится к общему ресурсу Samba. Как только соединение будет успешно завершено, новое местоположение будет создано под Этот компьютер в проводнике:
Теперь вы сможете использовать эту папку для управления файлами и папками в общей папке Samba, как если бы это была локальная папка.
Заключение
В этой статье вы создали кросс-платформенные онлайн-файловые ресурсы с помощью сервера Samba.Вы также получали доступ к этим общим папкам из Windows, Linux и macOS.
общих ресурсов Samba стали настолько распространенными, что многие приложения могут получать доступ к хранящимся в них данным. Эти приложения могут расширить функциональность и полезность ваших общих ресурсов Samba. Например, мобильная версия медиаплеера VLC может подключаться и транслировать музыку и видео с вашего общего ресурса Samba. Чтобы получить к нему доступ, выберите open MRL и используйте стандартный URL Samba: smb: // username @ your_samba_hostname_or_server_ip / share
.Вы также можете использовать общий ресурс Samba в качестве места назначения для ваших резервных копий с помощью межплатформенной утилиты резервного копирования BackupPC.
Помимо того, что Samba действует как простой файловый ресурс, она может работать с Windows Active Directory как контроллер домена или как член домена. Пользовательская документация Samba Wiki содержит дополнительную информацию о том, как это сделать.
Как установить и настроить Samba в Ubuntu 18.04
Samba — это бесплатная повторная реализация протокола общего доступа к файлам SMB / CIFS с открытым исходным кодом, которая позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.
В этом руководстве объясняется, как установить Samba в Ubuntu 18.04 и настроить его как автономный сервер для обеспечения совместного использования файлов в различных операционных системах по сети.
Мы создадим следующие общие ресурсы Samba и пользователей.
Пользователи:
- sadmin — Административный пользователь с доступом для чтения и записи ко всем общим ресурсам.
- josh — Обычный пользователь со своим личным файловым хранилищем.
Общие ресурсы:
- пользователей — этот общий ресурс будет доступен с разрешениями на чтение и запись для всех пользователей.
- josh — этот общий ресурс будет доступен с разрешениями на чтение и запись только для пользователей josh и sadmin.
Общие файловые ресурсы будут доступны со всех устройств в вашей сети. Позже в этом руководстве мы также предоставим подробные инструкции о том, как подключиться к серверу Samba из клиентов Linux, Windows и macOS.
Предварительные требования #
Прежде чем продолжить, убедитесь, что вы вошли в систему Ubuntu 18.04 как пользователь с привилегиями sudo.
Установка Samba в Ubuntu #
Samba доступна из официальных репозиториев Ubuntu. Чтобы установить его в вашей системе Ubuntu, выполните следующие действия:
Начните с обновления индекса пакетов apt:
sudo apt update
Установите пакет Samba с помощью следующей команды:
sudo apt install samba
После завершения установки служба Samba запустится автоматически. Чтобы проверить, запущен ли сервер Samba, введите:
sudo systemctl status smbd
Результат должен выглядеть примерно так, как показано ниже, показывая, что служба Samba активна и работает:
● smbd.service - Samba SMB Daemon Загружено: загружено (/lib/systemd/system/smbd.service; включено; предустановка поставщика: включено) Активен: активен (работает) с 27.11.2019 09:25:38 UTC; 2мин 12с назад Документы: человек: smbd (8) мужчина: самба (7) мужчина: smb.conf (5) Главный PID: 15142 (smbd) Статус: «smbd: готов к обслуживанию соединений... " Задач: 4 (лимит: 1152) CGroup: /system.slice/smbd.service ...
На этом этапе Samba установлена и готова к настройке.
Настройка брандмауэра #
Если у вас есть брандмауэр, работающий в системе Ubuntu, вам необходимо разрешить входящие UDP-соединения на портах 137
и 138
и TCP-соединения на портах 139
и 445
.
Предполагая, что вы используете UFW
для управления своим брандмауэром, вы можете открыть порты, включив профиль «Samba»:
sudo ufw allow «Samba»
Настройка глобальных параметров Samba #
Перед внесением изменений в файла конфигурации Samba, создайте резервную копию для использования в будущем:
sudo cp / etc / samba / smb.conf {,. backup}
Файл конфигурации по умолчанию, который поставляется с пакетом Samba, настроен для автономного сервера Samba. Откройте файл и убедитесь, что роль сервера
установлена на автономный сервер
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
...
# Большинство людей захотят "автономный сервер" или "рядовой сервер".
# Для запуска как «контроллер домена Active Directory» сначала потребуется
# запуск "samba-tool domain provision" для очистки баз данных и создания
# новый домен. роль сервера = автономный сервер
...
По умолчанию Samba прослушивает все интерфейсы. Если вы хотите ограничить доступ к серверу Samba только из вашей внутренней сети, раскомментируйте следующие две строки и укажите интерфейсы для привязки:
/etc/samba/smb.conf
...
# Конкретный набор интерфейсов / сетей для привязки
# Это может быть либо имя интерфейса, либо IP-адрес / сетевая маска;
# имена интерфейсов обычно предпочтительны
интерфейсы = 127.0.0.0/8 eth0
# Связывайтесь только с указанными интерфейсами и / или сетями; вы должны использовать
# параметр 'interfaces' выше, чтобы использовать это.
# Рекомендуется включить эту функцию, если ваша машина Samba
# не защищен брандмауэром или сам является брандмауэром. Однако это
Параметр # не может правильно обрабатывать динамические или нешироковещательные интерфейсы.
привязать только интерфейсы = да
...
После этого запустите утилиту testparm
, чтобы проверить файл конфигурации Samba на наличие ошибок. Если нет синтаксических ошибок, вы увидите Loaded services file OK.
Наконец, перезапустите службы Samba с помощью:
sudo systemctl restart smbd
sudo systemctl restart nmbd
Создание пользователей Samba и структуры каталогов #
Для упрощения обслуживания и гибкости вместо использования стандартных домашних каталогов ( / home / user
) все каталоги Samba и данные будут расположены в каталоге / samba
.
Чтобы создать каталог / samba
, введите:
sudo mkdir / samba
Установите для группы владение sambashare
.Эта группа создается во время установки Samba, позже мы добавим в эту группу всех пользователей Samba.
sudo chgrp sambashare / samba
Samba использует систему разрешений пользователей и групп Linux, но имеет свой собственный механизм аутентификации, отличный от стандартной аутентификации Linux. Мы создадим пользователей с помощью стандартного инструмента Linux useradd
, а затем установим пароль пользователя с помощью утилиты smbpasswd
.
Как мы упоминали во введении, мы создадим обычного пользователя, который будет иметь доступ к его личному файловому ресурсу, и одну административную учетную запись с доступом для чтения и записи ко всем общим папкам на сервере Samba.
Создание пользователей Samba #
Чтобы создать нового пользователя с именем josh
, используйте следующую команду:
sudo useradd -M -d / samba / josh -s / usr / sbin / nologin -G sambashare josh
Параметры useradd
имеют следующие значения:
-
-M
-не создавать домашний каталог пользователя. Мы создадим этот каталог вручную. -
-d / samba / josh
— установить домашний каталог пользователя на/ samba / josh
. -
-s / usr / sbin / nologin
— отключить доступ к оболочке для этого пользователя. -
-G sambashare
— добавить пользователя в группуsambashare
.
Создайте домашний каталог пользователя и установите владельца каталога на пользователя josh
и группу sambashare
:
sudo mkdir / samba / josh
sudo chown josh: sambashare / samba / josh
Следующая команда добавит бит setgid в каталог / samba / josh
, чтобы вновь созданные файлы в этом каталоге унаследовали группу родительского каталога.Таким образом, независимо от того, какой пользователь создает новый файл, у файла будет владелец группы sambashare
. Например, если вы не установите права доступа к каталогу 2770
и пользователь sadmin
создаст новый файл, пользователь josh
не сможет читать / писать в этот файл.
sudo chmod 2770 / samba / josh
Добавьте учетную запись пользователя josh
в базу данных Samba, установив пароль пользователя:
sudo smbpasswd -a josh
Вам будет предложено ввести и подтвердить пользовательский пароль.
Новый пароль SMB:
Введите новый пароль SMB еще раз:
Добавлен пользователь josh.
После установки пароля для включения учетной записи Samba запустите:
sudo smbpasswd -e josh
Включенный пользователь josh.
Чтобы создать другого пользователя, повторите тот же процесс, что и при создании пользователя josh
.
Далее давайте создадим пользователя и группу sadmin
. Все члены этой группы будут иметь права администратора. Позже, если вы захотите предоставить административные права другому пользователю, просто добавьте этого пользователя в группу sadmin
.
Создайте пользователя с правами администратора, набрав:
sudo useradd -M -d / samba / users -s / usr / sbin / nologin -G sambashare sadmin
Приведенная выше команда также создаст группу sadmin
и добавит пользователь в группы sadmin
и sambashare
.
Установите пароль и включите пользователя:
sudo smbpasswd -a sadmin
sudo smbpasswd -e sadmin
Затем создайте общий каталог Users
:
sudo mkdir / samba / users
Установите владельца каталога на пользователя sadmin
и группу sambashare
:
sudo chown sadmin: sambashare / samba / users
Этот каталог будет доступен для всех аутентифицированных пользователей.Следующая команда chmod
предоставляет доступ для записи / чтения членам группы sambashare
в каталоге / samba / users
:
sudo chmod 2770 / samba / users
Настройка общих ресурсов Samba #
Откройте файл Файл конфигурации Samba и добавьте разделы:
sudo nano /etc/samba/smb.conf
/etc/samba/smb. conf
[users]
путь = / самба / пользователи
browseable = да
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
допустимые пользователи = @sambashare @sadmin
[Джош]
путь = / самба / Джош
browseable = нет
только чтение = нет
принудительно создать режим = 0660
принудительный режим каталога = 2770
допустимые пользователи = josh @sadmin
Параметры имеют следующие значения:
-
[пользователи]
и[josh]
— Имена общих ресурсов, которые вы будете использовать при входе в систему. -
путь
— Путь к общему ресурсу. -
просматриваемый
— Следует ли указывать общий ресурс в списке доступных общих ресурсов. Если установить значениеno
, другие пользователи не смогут видеть общий ресурс. -
только чтение
— Могут ли пользователи, указанные в списке допустимых пользователей -
Режим принудительного создания
— Устанавливает разрешения для вновь созданных файлов в этом общем ресурсе. -
принудительный режим каталога
— устанавливает разрешения для вновь созданных каталогов в этом общем ресурсе. -
допустимые пользователи
— список пользователей и групп, которым разрешен доступ к общему ресурсу. Группы имеют префикс@
.
Дополнительные сведения о доступных параметрах см. На странице документации файла конфигурации Samba.
После этого перезапустите службы Samba с помощью:
sudo systemctl restart smbd
sudo systemctl restart nmbd
В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows .
Подключение к общему ресурсу Samba из Linux #
Пользователи Linux могут получить доступ к общему ресурсу samba из командной строки, используя файловый менеджер или смонтировать общий ресурс Samba.
Использование клиента smbclient #
smbclient
— это инструмент, который позволяет получить доступ к Samba из командной строки. Пакет smbclient
не предустановлен в большинстве дистрибутивов Linux, поэтому вам нужно будет установить его с помощью диспетчера пакетов распространения.
Чтобы установить smbclient
в Ubuntu и Debian, запустите:
sudo apt install smbclient
Чтобы установить smbclient
на CentOS и Fedora, запустите:
sudo yum install samba-client
Синтаксис для доступа общий ресурс Samba выглядит следующим образом:
mbclient // samba_hostname_or_server_ip / share_name -U имя пользователя
Например, для подключения к общему ресурсу с именем josh
на сервере Samba с IP-адресом 192.168.121.118
от имени пользователя josh
вы должны запустить:
smbclient //192. 168.121.118/josh -U josh
Вам будет предложено ввести пароль пользователя.
Введите пароль РАБОЧЕЙ ГРУППЫ \ josh:
После ввода пароля вы войдете в интерфейс командной строки Samba.
Попробуйте «help», чтобы получить список возможных команд.
smb: \>
Монтирование общего ресурса Samba #
Чтобы смонтировать общий ресурс Samba в Linux, сначала необходимо установить пакет cifs-utils
.
В Ubuntu и Debian запустить:
sudo apt install cifs-utils
В CentOS и Fedora запустить:
sudo yum install cifs-utils
Затем создать точку монтирования:
sudo mkdir / mnt / smbmount
Подключите общий ресурс с помощью следующей команды:
sudo mount -t cifs -o username = username // samba_hostname_or_server_ip / sharename / mnt / smbmount
Например, чтобы смонтировать общий ресурс с именем josh
на сервере Samba с IP-адресом 192. 168.121.118
как пользователь josh
к точке монтирования / mnt / smbmount
, которую вы должны запустить:
sudo mount -t cifs -o username = josh //192.168.121.118/josh / mnt / smbmount
Вам будет предложено ввести пароль пользователя.
Пароль для josh@//192.168.121.118/josh: ********
Используя GUI #
Files, файловый менеджер по умолчанию в Gnome имеет встроенную возможность доступа к общим ресурсам Samba.
- Откройте файлы и щелкните «Другие расположения» на боковой панели.
- В поле «Подключиться к серверу» введите адрес общего ресурса Samba в следующем формате:
smb: // samba_hostname_or_server_ip / sharename
. - Нажмите «Подключиться», появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из macOS #
В macOS вы можете получить доступ к общему ресурсу Samba из командной строки или с помощью Finder файлового менеджера macOS по умолчанию.Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.
- Откройте «Finder», выберите «Перейти» и нажмите «Подключиться к».
- В поле «Подключиться к» введите адрес общего ресурса Samba в следующем формате:
smb: // samba_hostname_or_server_ip / sharename
. - Нажмите «Подключиться», появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из Windows #
Пользователи Windows также могут подключиться к общему ресурсу Samba как из командной строки, так и из графического интерфейса. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью проводника Windows.
- Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
- Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
- В поле «Интернет или сетевой адрес» введите адрес общего ресурса Samba в следующем формате:
\\ samba_hostname_or_server_ip \ sharename
. - Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:
- В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
- Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
- Нажмите «Готово», и файлы на сервере Samba будут показаны.
Заключение #
В этом руководстве вы узнали, как установить сервер Samba на Ubuntu 18.04 и создавать разные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.
Настройка Linux Samba (SMB) — Как настроить Samba (общий доступ к файлам в Linux Windows)
Совместное использование ресурсов, таких как файловые системы и принтеры, в системах Microsoft Windows осуществляется с помощью протокола, называемого блоком сообщений сервера или SMB. Для работы с такими общими ресурсами в сети, состоящей из систем Windows, система RHEL должна поддерживать SMB.Используемая для этого технология называется SAMBA. Это обеспечивает интеграцию между системами Windows и Linux. Кроме того, это используется для обеспечения совместного использования папок между системами Linux. SAMBA состоит из двух частей: сервера Samba и клиента Samba.
Когда система RHEL получает доступ к ресурсам в системе Windows, она делает это с помощью клиента Samba. В системе RHEL по умолчанию установлен клиент Samba.
Когда система RHEL предоставляет ресурсы системе Windows, она использует пакет Samba Server или просто Samba.Он не устанавливается по умолчанию и должен быть настроен исключительно.
Установка SAMBA в Linux Redhat / CentOS
Независимо от того, установлена ли Samba в вашей системе RHEL, Fedora или CentOS, ее можно проверить с помощью следующей команды: «
$ об / мин -q самба
Результатом может быть « package samba is not installed » или что-то вроде « samba-3. 5.4-68.el6_0.1.x86_64 », показывающее версию Samba, присутствующую в системе.
Для установки Samba вам необходимо стать пользователем root с помощью следующей команды (введите пароль root, когда будет предложено):
$ su —
Затем используйте Yum для установки пакета Linux Samba:
# yum install samba
Это установит пакет samba и пакет зависимостей samba-common.
Прежде чем вы начнете использовать или настраивать Samba, необходимо настроить брандмауэр Linux (iptables), чтобы разрешить трафик Samba.Из командной строки это достигается с помощью следующей команды:
# firewall-cmd —enable —service = samba
Настройка Linux SAMBA
Конфигурация Samba предназначена для присоединения системы RHEL, Fedora или CentOS к рабочей группе Windows и настройки каталога в системе RHEL, который будет действовать как общий ресурс, к которому могут получить доступ аутентифицированные пользователи Windows.
Для начала вы должны получить привилегии суперпользователя с помощью (при появлении запроса введите пароль суперпользователя):
$ su —
Отредактируйте файл конфигурации Samba:
# vi / etc / samba / smb.конф
Раздел smb.conf [global]
Файл smb.conf разделен на несколько разделов. раздел [global] , который является первым разделом, имеет настройки, которые применяются ко всей конфигурации Samba. Однако настройки в других разделах файла конфигурации могут иметь приоритет над глобальными настройками.
Для начала установите рабочую группу, которая по умолчанию установлена как «MYGROUP»:
рабочая группа = MYGROUP
Поскольку большинство сетей Windows по умолчанию называются WORKGROUP, настройки должны быть изменены как:
рабочая группа = рабочая группа
Настроить общий ресурс
На следующем шаге необходимо настроить общий ресурс, который будет доступен из других систем в сети Windows. Этому разделу необходимо дать имя, под которым он будет ссылаться при совместном использовании. В нашем примере предположим, что вы хотите предоставить общий доступ к каталогу в вашей системе Linux, расположенному в / data / network-applications. Вам нужно будет дать всему разделу название [NetApps], как показано ниже в нашем файле smb.conf :
[NetApps]
путь = / data / network-applications
записываемый = да
можно просматривать = да
действующих пользователей = администратор
Когда пользователь Windows переходит на сервер Linux, он видит общий сетевой ресурс с надписью
«NetApps».
На этом мы завершаем изменения в файле конфигурации Samba.
Создание пользователя Samba
Любой пользователь, желающий получить доступ к любому совместно используемому ресурсу Samba, должен быть настроен как Пользователь Samba и иметь пароль. Это достигается с помощью команды smbpasswd от имени пользователя root. Поскольку вы определили «администратор» как пользователя, имеющего право доступа к каталогу « / data / network-applications » системы RHEL, вы должны добавить «администратора» в качестве пользователя Samba.
Вы должны получить права суперпользователя с помощью следующей команды (при появлении запроса укажите пароль суперпользователя):
$ su —
Добавить «администратора» как пользователя Windows —
# smbpasswd -a администратор
Система ответит
Новый пароль SMB: <Введите пароль>
Введите новый пароль SMB еще раз: <Введите пароль еще раз>
Это приведет к следующему сообщению:
Добавлен администратор пользователя
Также необходимо будет добавить ту же учетную запись, что и простой пользователь Linux, используя тот же пароль, который мы использовали для пользователя samba:
# adduser administrator
# passwd administrator
Изменение пароля для администратора пользователя
Новый пароль UNIX: ********
Повторите новый пароль UNIX: ********
passwd: все токены аутентификации успешно обновлены.
Теперь пора проверить файл конфигурации samba на наличие ошибок. Для этого вы можете использовать инструмент командной строки « testparm » как root:
# testparm
Загрузите файлы конфигурации smb из /etc/samba/smb.conf
Rlimit_max: rlimit_max (1024) ниже минимального лимита Windows (16384)
Секция обработки «[NetApps]»
Загруженный файл служб в порядке.
Роль сервера: ROLE_STANDALONE
Нажмите Enter, чтобы увидеть дамп определений ваших сервисов
Если вы хотите, чтобы пользователи Windows автоматически аутентифицировались на вашем общем ресурсе Samba, без запроса имени пользователя и пароля, все, что вам нужно, — это добавить пользователя и пароль samba точно так же, как имена пользователей и пароль клиентов Windows.Когда система Windows обращается к общему ресурсу Samba, она автоматически пытается войти в систему, используя те же учетные данные, что и пользователь, вошедший в систему Windows.
Запуск службы имен Samba и NetBios на RHEL
Службы Samba и NetBios Nameservice или NMB должны быть включены, а затем запущены, чтобы они вступили в силу:
# systemctl enable smb.service
# systemctl start smb.service
# systemctl enable nmb.сервис
# systemctl start nmb.service
Если службы уже были запущены, возможно, вам придется перезапустить их снова:
# systemctl restart smb.service
# systemctl restart nmb.service
Если вы не используете команду systemctl, вы также можете запустить Samba более классическим способом:
[root @ gateway] service smb start
Запуск служб SMB: [OK]
Чтобы настроить вашу систему Linux на автоматический запуск службы Samba при загрузке, указанную выше команду необходимо вставить в файл / etc / rc. локальный файл . Для получения дополнительной информации об этом вы можете прочитать нашу популярную статью
«Процесс инициализации Linux и различные уровни запуска».
Доступ к общим ресурсам Samba из Windows
Теперь, когда вы настроили ресурсы Samba и службы запущены, их можно протестировать на совместное использование из системы Windows. Для этого откройте проводник Windows и перейдите на страницу «Сеть». Windows должна показать систему RHEL. Если вы дважды щелкните значок RHEL, вам будет предложено ввести имя пользователя и пароль.Теперь необходимо ввести имя пользователя «администратор» с назначенным паролем.
Опять же, если вы вошли на свою рабочую станцию Windows, используя ту же учетную запись и пароль, что и у службы Samba (например, администратора), вам не будет предлагаться какая-либо аутентификация, поскольку операционная система Windows автоматически аутентифицируется в службе RHEL Samba, используя эти полномочия.
Доступ к общим ресурсам Windows с рабочей станции или сервера RHEL
Для доступа к общим ресурсам Windows из вашей системы RHEL может потребоваться установить пакет samba-client, если он не установлен по умолчанию.Для этого вы должны получить привилегии root с (при появлении запроса введите пароль root):
$ su —
Установите samba-client с помощью следующих команд:
# yum install samba-client
Чтобы просмотреть любой общий ресурс в системе Windows и получить к нему доступ, вы можете перейти в Места> Сеть . При нажатии на значок сети Windows откроется список доступных для доступа рабочих групп.
Как установить Samba в Linux / Windows
Время чтения: 9 минут.
Что такое самба?
Прежде чем мы начнем установку, давайте узнаем, что такое Samba и как мы можем ее использовать.Samba — это бесплатное программное обеспечение с открытым исходным кодом, которое позволяет легко и просто обмениваться файлами в системах Windows и Linux. Если быть точным, это реализация протокола SMB / CIFS с открытым исходным кодом.
Протокол блока сообщений сервера (SMB) — это протокол связи клиент-сервер, который используется для совместного доступа к файлам, принтерам, последовательным портам и другим ресурсам в сети. Общий протокол файловой системы Интернета (CIFS) — это диалект протокола SMB. Набор пакетов сообщений, описывающих отдельный вариант протокола, называется диалектом.
Вкратце, при использовании Samba мы можем обмениваться файлами и службами печати, использовать аутентификацию и авторизацию, разрешение имен и объявления служб между серверами Linux / Unix и клиентами Windows.
Есть пять основных задач, которые можно выполнить с помощью Samba.
- Мы можем использовать Linux-диск совместно с машинами Windows.
- Мы можем получить доступ к общему ресурсу SMB с компьютеров Linux.
- Мы можем использовать принтер Linux совместно с машинами Windows.
- Мы можем использовать принтер Windows совместно с машинами Linux.
- Мы можем установить контроллер домена на сервере Unix / Linux и интегрировать клиентов Windows в контроллер домена.
Samba также может функционировать как контроллер домена или как обычный член домена. Этот вариант делает Samba практически незаменимой, если у вас есть смешанная сетевая среда, содержащая компьютеры как Windows, так и Linux.
Предварительные требования
- Чтобы установить Samba, нам нужно будет войти на наш сервер Linux как пользователь с привилегиями sudo или как пользователь root.
- Чтобы упростить шаги в этом руководстве, мы будем использовать пользователя root. Если вы решите двигаться дальше и установить программное обеспечение от имени пользователя (с привилегиями sudo), не забудьте ввести команду « sudo» в начале каждой команды.
- Нам также понадобится компьютер с Windows, к которому мы будем подключаться от / до
Установка Samba на CentOS 7
Поскольку установка в CentOS и других дистрибутивах на основе RedHat в основном управляется с помощью инструмента yum, мы будем использовать его для установки Samba на нашу CentOS 7 и для обновления нашей системы.
Во-первых, давайте удалим все пакеты, которые все еще могут быть кешированы в нашей системе. Чтобы очистить сразу все кешированные файлы из любого включенного репозитория, мы воспользуемся следующей командой.
[root @ host ~] # ням очистить все
Затем давайте удостоверимся, что все наши системные пакеты обновлены. Мы используем флаг -y для автоматического подтверждения любых запросов.
[root @ host ~] # yum -y update
Теперь мы можем перейти к установке Samba. Samba можно легко установить с помощью следующей команды.Обратите внимание, как мы снова используем флаг -y для автоматического подтверждения запросов на установку.
[root @ host ~] # yum -y install samba samba-client samba-common
Yum, будучи таким замечательным инструментом, автоматически установит все зависимости, необходимые для Samba. В конце вывода установки вы должны увидеть что-то похожее на этот вывод.
Установлено:
samba.x86_64 0: 4.9.1-10.el7_7 samba-client.x86_64 0: 4.9.1-10.el7_7 samba-common.noarch 0: 4.9.1-10.el7_7
Установленная зависимость:
libsmbclient.x86_64 0: 4.9.1-10.el7_7 libwbclient.x86_64 0: 4.9.1-10.el7_7
самба-клиент-libs.x86_64 0: 4.9.1-10.el7_7 самба-общие-libs.x86_64 0: 4.9.1-10.el7_7
samba-common-tools.x86_64 0: 4.9.1-10.el7_7 samba-libs.x86_64 0: 4.9.1-10.el7_7
Полный!
Как только установка будет завершена, мы сможем проверить нашу версию Samba.
[root @ host ~] # smbd --version
Версия 4.9.1
Настройка Samba
После установки Samba нам нужно будет настроить ее в соответствии с нашими настройками и стандартами.Прежде чем мы начнем настройку Samba на нашем компьютере с Linux, нам нужно будет проверить рабочую группу на нашем компьютере с Windows. Для этого вы можете щелкнуть правой кнопкой мыши на «Этот компьютер» или «Мой компьютер» → Свойства → Расширенные настройки системы → Имя компьютера, в котором отобразится следующее окно с данными, которые нам нужны
В качестве альтернативы вы можете запустить cmd (из окна запуска Windows) и выполнить следующую команду.
рабочая станция с сетевой конфигурацией
Эта команда отобразит необходимую нам информацию о домене рабочей станции.Вы видите что-то вроде этого.
Теперь, когда у нас есть информация о рабочей группе нашего компьютера с Windows, мы можем перейти к настройке Samba в нашей системе Linux.
Файл конфигурации Samba находится по адресу /etc/samba/smb.conf. Прежде чем вносить какие-либо изменения, обязательно создайте резервную копию исходного файла конфигурации.
Чтобы создать резервную копию нашего исходного файла конфигурации smb.conf, мы воспользуемся следующей командой для создания резервной копии с именем smb.conf_orig.
[корень @ хост ~] # cp /etc/samba/smb.conf /etc/samba/smb.conf_orig
Теперь мы полностью готовы к редактированию. Мы начнем с настройки Samba для анонимных служб обмена файлами. В этом ресурсе любой пользователь сможет читать или писать. Мы начнем с создания каталога под названием « anonymous_shared_directory », в котором будут храниться наши файлы.
[root @ host ~] # mkdir -p / samba / anonymous_shared_directory
Затем нам нужно применить соответствующие разрешения к нашему каталогу.
[root @ host ~] # chmod -R 0775 / samba / anonymous_shared_directory
[root @ host ~] # chown -R nobody: nobody / samba / anonymous_shared_directory
В случае, если вы используете SELinux, как мы, вам нужно будет изменить контекст безопасности SELinux для общего каталога samba.
[root @ host ~] # chcon -t samba_share_t / samba / anonymous_shared_directory
Затем, чтобы внести необходимые изменения в наш файл конфигурации, нам нужно открыть файл / etc / samba / smb.conf с предпочитаемым текстовым редактором CLI (Nano или Vim).
[корень @ хост ~] # vim /etc/samba/smb.conf
Теперь мы настроим наш анонимный общий ресурс, добавив и отредактировав следующие директивы
[весь мир]
рабочая группа = РАБОЧАЯ ГРУППА
безопасность = пользователь
имя netbios = centos7
printcap name = чашки
Конфигурация idmap *: backend = tdb
варианты чашек = сырые
сопоставить гостю = плохой пользователь
[Аноним]
comment = анонимный файловый ресурс
путь = / самба / anonymous_shared_directory
browseable = да
Writable = да
гость ок = да
только гость = да
только чтение = нет
принудительный пользователь = никто
Наш файл конфигурации Samba должен теперь выглядеть так.
[root @ host samba] # cat /etc/samba/smb.conf
# См. Smb.conf.example для более подробного файла конфигурации или
# прочтите справочную страницу smb.conf.
# Запустить testparm, чтобы проверить правильность конфигурации после
# вы его изменили.
[Глобальный]
рабочая группа = РАБОЧАЯ ГРУППА
безопасность = пользователь
имя netbios = centos7
printcap name = чашки
Конфигурация idmap *: backend = tdb
варианты чашек = сырые
сопоставить гостю = плохой пользователь
[Аноним]
comment = анонимный файловый ресурс
путь = / самба / anonymous_shared_directory
browseable = да
Writable = да
гость ок = да
только гость = да
только чтение = нет
принудительно пользователь = никто
[дома]
comment = Домашние каталоги
допустимые пользователи =% S,% D% w% S
browseable = Нет
только чтение = Нет
наследовать acls = Да
[принтеры]
comment = Все принтеры
путь = / var / tmp
printable = Да
создать маску = 0600
browseable = Нет
[печать $]
comment = Драйверы принтера
путь = / var / lib / samba / драйверы
список записи = @printadmin root
force group = @printadmin
создать маску = 0664
маска каталога = 0775
Далее не забудьте сохранить внесенные изменения и закрыть текстовый редактор. Чтобы проверить наши текущие настройки самбы, мы запустим следующую команду.
[root @ host samba] # testparm
rlimit_max: увеличение rlimit_max (1024) до минимального лимита Windows (16384)
Зарегистрирован MSG_REQ_POOL_USAGE
Зарегистрированы MSG_REQ_DMALLOC_MARK и LOG_CHANGED
Загрузите файлы конфигурации smb из /etc/samba/smb.conf
rlimit_max: увеличение rlimit_max (1024) до минимального лимита Windows (16384)
Раздел обработки "[Аноним]"
Раздел обработки "[дома]"
Раздел обработки "[принтеры]"
Раздел обработки "[print $]"
Загруженный файл служб в порядке.Роль сервера: ROLE_STANDALONE
Теперь нажмите Enter, чтобы увидеть дамп определений ваших сервисов.
Прежде чем мы продолжим запуск службы Samba, нам нужно настроить брандмауэр для работы с ней. Для правильной работы Samba потребуются следующие открытые порты.
Порт 137 (TCP) - netbios-ns - Служба имен NETBIOS
Порт 138 (TCP) - netbios-dgm - Служба дейтаграмм NETBIOS
Порт 139 (TCP) - netbios-ssn - служба сеансов NETBIOS
Порт 445 (TCP) - microsoft-ds - если вы используете Active Directory
Другие порты:
Порт 389 (TCP) - для LDAP (режим Active Directory)
Порт 445 (TCP) - NetBIOS был перемещен на 445 после 2000 г. и позже (CIFS)
Порт 901 (TCP) - для службы SWAT (не связан с общением с клиентом)
Как мы открываем эти порты для служб Samba, будет зависеть от типа брандмауэра, установленного на вашем сервере Linux.Поскольку большинство наших серверов Linux используют брандмауэр csf, мы начнем с настройки файла csf.conf. Давайте откроем наш файл конфигурации csf с помощью выбранного вами текстового редактора.
[корень @ хост ~] # vim /etc/csf/csf.conf
Теперь не забудьте добавить порты в соответствующий раздел.
# Разрешить входящие TCP-порты
TCP_IN = "20,21,25,53,80,110,139,143,443,445,465,587,993,995,53835"
# Разрешить исходящие TCP-порты
TCP_OUT = "20,21,25,53,80,110,139,143,113,443,445,587,993,995,53835"
Наконец, сохраните изменения и перезагрузите правила брандмауэра.
[корень @ хост ~] # csf -r
Если вы используете службу firewalld, просто добавьте службу с помощью следующей команды.
[root @ host ~] # firewall-cmd --permanent --zone = public --add-service = samba
Теперь перезагрузите сервис firewalld.
[root @ host ~] # firewall-cmd --reload
Наконец, давайте запустим службы Samba и убедитесь, что они запускаются автоматически при загрузке системы. Samba использует для работы две системные службы: smb.сервис и нмб. сервис .
Служба smbd реализует службу обмена файлами и печати, которая прослушивает порты 139 и 445. Служба nmbd реализует службы именования NetBIOS по IP для клиентов и прослушивает порт 137.
Давайте начнем со следующих команд
[root @ host ~] # systemctl start smb.service
[root @ host ~] # systemctl start nmb.service
Чтобы эти службы запускались автоматически при загрузке системы, нам необходимо включить их
[root @ host ~] # [root @ host ~] # systemctl включить smb.служба
Создана символическая ссылка из /etc/systemd/system/multi-user. target.wants/smb.service на /usr/lib/systemd/system/smb.service.
[root @ host ~] # systemctl включить nmb.service
Создана символическая ссылка из /etc/systemd/system/multi-user.target.wants/nmb.service на /usr/lib/systemd/system/nmb.service.
Чтобы протестировать наш недавно реализованный анонимный общий ресурс, мы зайдем на наш компьютер с Windows и нажмем Пуск -> Выполнить, и введем IP-адрес сервера, как это.
Затем нажмите OK, и наш анонимный каталог отобразится в нашем файловом проводнике.
Теперь дважды щелкните, чтобы получить доступ к каталогу, а затем щелкните правой кнопкой мыши, чтобы создать новый текстовый документ.
Выберите имя файла и затем сохраните его. Для этого мы назовем наш файл testfile.
Как только файл будет создан, давайте убедимся, что он доступен и на нашем компьютере с Linux.
[root @ host ~] # [root @ host ~] # ls -l / samba / anonymous_shared_directory
всего 0
-rwxr - r--. 1 никто никто 0 30 марта 22:03 testfile. txt
Поскольку мы узнали, как настроить Samba для использования анонимного общего ресурса, давайте перейдем к безопасному.
Настройка Samba для частных общих ресурсов
Для этого типа общего ресурса требуется имя пользователя и пароль для доступа, поэтому нам нужно создать пользователя / группу пользователей, которым разрешен доступ к нашему общему ресурсу. Когда у нас есть группа для наших пользователей Samba, мы можем легко назначить им все необходимые привилегии сразу.
Для создания новой группы воспользуемся следующей командой
[root @ host ~] # groupadd sambausergroup
Мы успешно создали группу для наших пользователей под названием « sambausergroup».
Давайте продолжим и создадим нашего пользователя.
Мы назовем его « newtestuser» и назначим его нашей группе одной командой вместе с отказом ему в доступе к оболочке (так как это не требуется для общего ресурса Samba или пароля для него), таким образом мы гарантируем немного больше безопасности).
Учетные записи пользователей Samba отделены от системных учетных записей, поэтому нашему пользователю, которому мы намеревались предоставить права только для Samba, не потребуется доступ к оболочке / пароль. Однако, если вы решите объединить, вы можете установить пакет « samba-winbind », который используется для синхронизации пользователей системы и паролей с базой данных пользователей samba среди других функций.
Чтобы добавить нашего пользователя, мы будем использовать следующую команду
[root @ host ~] # useradd -s / sbin / nologin -g sambausergroup newtestuser
Обратите внимание, как мы использовали флаг -s, чтобы запретить доступ к нашей пользовательской оболочке, а затем мы использовали второй флаг -g, чтобы назначить его нашей группе.
Есть еще одна вещь, которая понадобится нашему пользователю для доступа к нашему общему ресурсу, и это пароль, так что позвольте создать для него пароль доступа Samba.
[root @ host ~] # smbpasswd -a newtestuser
Новый пароль SMB:
Введите новый пароль SMB еще раз:
Добавлен пользователь newtestuser.
Нашим пользователям samba для этого защищенного паролем общего ресурса теперь потребуется место для хранения их файлов, поэтому нам нужно создать для них каталог. Этот каталог будет называться « password_protected_directory »
[root @ host samba] # mkdir -p / samba / password_protected_directory
Пользователям из созданной нами группы « sambausergroup» потребуются разрешения на чтение, запись и выполнение файлов в этом каталоге, поэтому мы предоставим им их с помощью следующей команды.
root @ host samba] # setfacl -R -m "g: sambausergroup: rwx" / samba / password_protected_directory
И нам нужно применить контекст безопасности SELinux и к этому.
[root @ host samba] # chcon -t samba_share_t / samba / password_protected_directory /
Теперь мы можем перейти к настройке этого ресурса. Откройте файл конфигурации samba и добавьте настройку для нашей частной папки
[root @ host ~] # vim / etc / samba / smb.конф
[Защищено паролем]
comment = требуется имя пользователя и пароль для доступа
путь = / самба / каталог_защищенного_пароля
допустимые пользователи = @sambausergroup
гость ок = нет
Writable = да
browsable = да
Полный файл конфигурации теперь будет выглядеть следующим образом
# См. Smb.conf.example для более подробной информации о файле конфигурации или
# прочтите справочную страницу smb.conf.
# Запустить testparm, чтобы проверить правильность конфигурации после
# вы его изменили.
[Глобальный]
рабочая группа = РАБОЧАЯ ГРУППА
безопасность = пользователь
имя netbios = centos7
printcap name = чашки
Конфигурация idmap *: backend = tdb
варианты чашек = сырые
сопоставить гостю = плохой пользователь
[Пароль защищен]
comment = требуется имя пользователя и пароль для доступа
путь = / самба / каталог_защищенного_пароля
допустимые пользователи = @sambausergroup
гость ок = нет
Writable = да
browsable = да
[Аноним]
comment = анонимный файловый ресурс
путь = / самба / anonymous_shared_directory
browseable = да
Writable = да
гость ок = да
только гость = да
только чтение = нет
принудительно пользователь = никто
[дома]
comment = Домашние каталоги
допустимые пользователи =% S,% D% w% S
browseable = Нет
только чтение = Нет
наследовать acls = Да
[принтеры]
comment = Все принтеры
путь = / var / tmp
printable = Да
создать маску = 0600
browseable = Нет
[печать $]
comment = Драйверы принтера
путь = / var / lib / samba / драйверы
список записи = @printadmin root
force group = @printadmin
создать маску = 0664
маска каталога = 0775
После сохранения изменений давайте протестируем нашу конфигурацию с помощью команды « testparm» .
[root @ host samba] # testparm
rlimit_max: увеличение rlimit_max (1024) до минимального лимита Windows (16384)
Зарегистрирован MSG_REQ_POOL_USAGE
Зарегистрированы MSG_REQ_DMALLOC_MARK и LOG_CHANGED
Загрузите файлы конфигурации smb из /etc/samba/smb.conf
rlimit_max: увеличение rlimit_max (1024) до минимального лимита Windows (16384)
Раздел обработки «[Защищено паролем]»
Раздел обработки "[Аноним]"
Раздел обработки "[дома]"
Раздел обработки "[принтеры]"
Раздел обработки "[print $]"
Загруженный файл служб в порядке.Роль сервера: ROLE_STANDALONE
Нажмите Enter, чтобы увидеть дамп определений ваших сервисов
Непосредственно перед тем, как мы протестируем нашу новую общую папку, давайте перезапустим службы Samba, чтобы убедиться, что внесенные изменения вступили в силу.
[root @ host samba] # systemctl перезапуск smb nmb
Для тестирования, давайте снова подключимся к нашему компьютеру с Windows и нажмите Пуск -> Выполнить и введите IP-адрес нашего сервера \\ serverIP -> Хорошо
И теперь у нас будут доступны оба каталога, наш анонимный каталог и наш защищенный паролем каталог
Дважды щелкните наш каталог, защищенный паролем, откроется следующее приглашение, в котором нам нужно будет ввести наши учетные данные « newtestuser» .
Чтобы убедиться, что все работает должным образом, давайте создадим новый каталог в нашем каталоге, защищенном паролем.
Он будет называться « test_directory» , для этой цели .
И, наконец, давайте подтвердим существование нашего каталога на нашей машине Linux.
[root @ host /] # ls -l / samba / password_protected_directory /
всего 0
drwxr-xr-x. 2 newtestuser sambausergroup 6 апр 3 21:12 test_directory
Заключение
Мы узнали, что такое Samba, как ее установить и как настроить и использовать для обмена файлами, но Samba как бесплатное программное обеспечение с открытым исходным кодом дает гораздо больше.Вы можете настроить и использовать его для доступа к принтеру, подключенному к системе Windows, из Linux, тем или иным способом, или его можно настроить как контроллер домена Active Directory, с которым вы можете интегрировать Linux-сервер.
С точки зрения возможности подключения Samba очень гибкая, вы можете подключаться к Samba с компьютера Linux и с компьютера Windows, а также с macOS.
Поскольку установка Samba выполняется быстро и легко, это определенно нужно учитывать, если вам нужен простой общий доступ к файлам или принтерам в смешанных сетевых средах с машинами Windows и Linux.
Если эта статья кажется длинной и сложной, или если вы чувствуете себя некомфортно из-за некоторых предпринятых шагов, мы здесь, чтобы помочь. Позвоните нам сегодня по телефону 800.580.4985, или откройте чат или обратитесь к нам, чтобы поговорить с одним из наших опытных консультантов по хостингу!
Установка и настройка сервера Samba в Ubuntu для совместного использования файлов
В этом руководстве мы узнаем, как установить и настроить сервер Samba в Ubuntu для обмена файлами в локальной сети.Samba — это бесплатная реализация протокола SMB / CIFS с открытым исходным кодом для Unix и Linux, которая обеспечивает совместное использование файлов и печати между машинами Unix / Linux, Windows и macOS в локальной сети.
Samba обычно устанавливается и запускается в Linux. Он состоит из нескольких программ, которые служат разным, но взаимосвязанным целям, две наиболее важные из которых:
- smbd : предоставляет службу SMB / CIFS (совместное использование файлов и печать), также может выступать в качестве контроллера домена Windows.
- nmbd : Этот демон предоставляет службу имен NetBIOS, прослушивает запросы сервера имен. Это также позволяет обнаруживать сервер Samba другими компьютерами в сети.
Как установить сервер Samba на Ubuntu
Samba входит в состав большинства дистрибутивов Linux. Чтобы установить Samba в Ubuntu, просто запустите следующую команду в терминале.
sudo apt установить samba samba-common-bin
Последняя доступная стабильная версия — 4.12.0, выпущенная 3 марта 2019 г.Чтобы проверить свою версию Samba, запустите
smbd - версия
Пример вывода:
Версия 4.7.6-Ubuntu
Чтобы проверить, запущена ли служба Samba, введите следующую команду.
systemctl status smbd nmbd
Чтобы запустить эти две службы, введите следующую команду:
sudo systemctl start smbd nmbd
После запуска smbd
будет прослушивать TCP-порты 139 и 445. nmbd
будет прослушивать UDP-порты 137 и 138.
- TCP 139: используется для совместного использования файлов и принтеров и других операций.
- TCP 445: порт CIFS без NetBIOS.
- UDP 137: используется для просмотра сети NetBIOS.
- UDP 138: используется для службы имен NetBIOS.
Если вы включили брандмауэр UFW в Ubuntu, вам необходимо открыть указанные выше порты в брандмауэре с помощью следующей команды.
sudo ufw разрешить самбу
Создание частной общей папки Samba
В этом разделе мы увидим, как создать частный общий ресурс Samba, который требует от клиента ввода имени пользователя и пароля для получения доступа.Основной файл конфигурации Samba находится по адресу: /etc/samba/smb. conf
. Вы можете редактировать его в терминале с помощью текстового редактора командной строки, например nano
.
Судо нано /etc/samba/smb.conf
В разделе [global]
убедитесь, что значение workgroup
совпадает с настройками рабочей группы компьютеров Windows.
рабочая группа = РАБОЧАЯ ГРУППА
Вы можете найти настройку на вашем компьютере с Windows, перейдя в Панель управления
> Система и безопасность
> Система
.
Затем прокрутите файл до конца. (В текстовом редакторе nano вы можете добиться этого, нажав CTRL + W
, затем CTRL + V
.) Добавьте новый раздел, как показано ниже.
[Личный] comment = требуется имя пользователя и пароль для доступа путь = / SRV / самба / частный / browseable = да гость ок = нет Writable = да действительные пользователи = @samba
Пояснение:
-
Частная
— это имя папки, которое будет отображаться в сети Windows. - Комментарий — это описание общей папки.
- Параметр path указывает путь к общей папке. В качестве примера я использую
/ srv / samba / private /
. Вы также можете использовать папку в своем домашнем каталоге. -
browseable = yes
: разрешить другим компьютерам в сети видеть сервер Samba и общий ресурс Samba. Если установлено значение «нет», пользователи должны знать имя сервера Samba, а затем вручную ввести путь в файловом менеджере для доступа к общей папке. -
гость ok = no
: Отключить гостевой доступ. Другими словами, вам необходимо ввести имя пользователя и пароль на клиентском компьютере для доступа к общей папке. -
Writable = yes
: Предоставляет клиентам права на чтение и запись. -
допустимые пользователи = @samba
: Только пользователи из группы samba имеют доступ к этому общему ресурсу Samba.
Сохраните и закройте файл. (Чтобы сохранить файл в текстовом редакторе nano, нажмите Ctrl + O
, затем нажмите Enter, чтобы подтвердить имя файла для записи. Чтобы закрыть файл, нажмите Ctrl + X
.) Теперь нам нужно создать пользователя Samba. Во-первых, нам нужно создать стандартную учетную запись пользователя Linux с помощью следующей команды. Замените имя пользователя
на желаемое имя пользователя.
имя пользователя sudo adduser
Вам будет предложено установить пароль Unix. После этого вам также необходимо установить отдельный пароль Samba для нового пользователя с помощью следующей команды:
sudo smbpasswd -a имя пользователя
Создайте группу самбы.
sudo groupadd самба
И добавить этого пользователя в группу самбы.
sudo gpasswd -a имя пользователя samba
Создайте личную общую папку.
судо mkdir -p / SRV / самба / частный /
Группа самбы должна иметь права на чтение, запись и выполнение в общей папке. Вы можете предоставить эти разрешения, выполнив следующую команду. (Если в вашей системе нет команды setfacl
, вам необходимо установить пакет acl
с помощью sudo apt install acl
. )
sudo setfacl -R -m "g: samba: rwx" / srv / samba / private /
Затем выполните следующую команду, чтобы проверить наличие синтаксических ошибок.
testparm
Теперь осталось перезапустить демон smbd
и nmbd
.
sudo systemctl перезапуск smbd nmbd
Как создать общий ресурс Samba без аутентификации
Чтобы создать общедоступный ресурс без требования имени пользователя и пароля, должны быть выполнены следующие условия.
- Установите
security = user
в глобальном разделе файла конфигурации Samba. Хотя вы можете создать общедоступный общий ресурс с режимомsecurity = share
, этот режим безопасности устарел. Настоятельно рекомендуется избегать режимаshare
. - Установите для карты
значение guest = bad user
в глобальном разделе файла конфигурации Samba. Это заставитsmbd
использовать гостевую учетную запись для аутентификации клиентов, которые не зарегистрировали учетную запись на сервере Samba. Поскольку это гостевая учетная запись, клиентам Samba не нужно вводить пароль. - Установите
guest ok = yes
в определении общего ресурса, чтобы разрешить гостевой доступ. - Предоставить разрешение на чтение, запись и выполнение общей папки учетной записи
nobody
, которая является гостевой учетной записью по умолчанию.
Фактически, первые два условия уже выполнены, поскольку Samba по умолчанию использует эти два параметра.
Вот пошаговое руководство по созданию общедоступного ресурса.Сначала откройте и отредактируйте файл конфигурации Samba.
Судо нано /etc/samba/smb.conf
В разделе [global]
убедитесь, что значение workgroup
совпадает с настройками рабочей группы компьютеров Windows.
рабочая группа = РАБОЧАЯ ГРУППА
Вы можете найти настройку на вашем компьютере с Windows, перейдя в Панель управления
> Система и безопасность
> Система
.
Затем прокрутите файл до конца и вставьте следующие строки.
[общедоступно] comment = public share, вводить имя пользователя и пароль не нужно путь = / SRV / самба / общедоступный / browseable = да Writable = да гость ок = да
Сохраните и закройте файл. Затем создайте папку / srv / samba / public /
.
судо mkdir -p / SRV / самба / общедоступный
Затем убедитесь, что учетная запись none
имеет права на чтение, запись и выполнение в общей папке, выполнив следующую команду. (Если в вашей системе нет команды setfacl
, вам необходимо установить пакет acl
с помощью sudo apt install acl
.)
sudo setfacl -R -m "u: никто: rwx" / srv / samba / public /
Перезапустите smbd и nmbd.
sudo systemctl перезапуск smbd nmbd
Доступ к общей папке Samba из Windows
На компьютере с Windows, который находится в той же сети, откройте проводник и щелкните Сеть
на левой панели. Если вы видите следующее сообщение, вам нужно щелкнуть по нему и включить обнаружение сети и общий доступ к файлам.
Общий доступ к файлам отключен.Некоторые сетевые компьютеры и устройства могут быть не видны.
Затем введите \
, а затем IP-адрес сервера Samba в адресной строке проводника, например: \ 192.168.0.102
. Вы увидите список общих ресурсов на сервере Samba.
Затем дважды щелкните общую папку. Чтобы получить доступ к частному общему ресурсу, вам необходимо ввести имя пользователя и пароль samba. Для доступа к общедоступной папке этого делать не нужно.
После подключения вы можете читать, записывать и удалять файлы в общей папке Samba.
Ошибка подключения
Если вы получите следующую ошибку:
У вас нет разрешения на доступ к \\ hostname \ share-name. Обратитесь к своему сетевому администратору, чтобы запросить доступ.
Вы можете попробовать подключиться к общему ресурсу Samba из командной строки. Откройте командную строку, а затем выполните следующую команду, чтобы закрыть текущий сеанс Samba.
net use \\ samba-server-ip \ share-name / удалить
Затем подключитесь к общему ресурсу Samba с помощью следующей команды:
net use \\ samba-server-ip \ share-name / user: samba-username пароль
После успешного выполнения указанной выше команды перейдите на вкладку «Сеть» в проводнике, и теперь у вас должен быть доступ к общему ресурсу Samba.
Сопоставление дисков
в Windows
Одной из функций операционной системы Windows является возможность сопоставить букву диска (например, S 🙂 с удаленным каталогом. Чтобы сопоставить букву диска S:
с общей папкой Samba, щелкните правой кнопкой мыши общую папку Samba и выберите Подключить сетевой диск . Затем выберите букву диска и нажмите Готово.
После того, как сопоставление дисков установлено, приложения могут получить доступ к файлам в общей папке Samba через букву диска S:
. И этот общий ресурс Samba будет автоматически подключен, когда вы войдете в свой компьютер с Windows.
Доступ к папке общего доступа Samba в файловом менеджере Nautilus в Linux
Если вы используете файловый менеджер Nautilus, щелкните Другие расположения
на левой панели. Внизу вы увидите возможность подключиться к серверу . Чтобы получить доступ к общему ресурсу Samba, введите smb: //
, затем IP-адрес сервера Samba и нажмите Enter. Например:
Вы увидите список общих ресурсов на сервере Samba.
Если вы щелкните личную общую папку, вам нужно будет ввести имя пользователя и пароль Samba. Если вы щелкните общую общую папку, затем выберите подключение как анонимное.
Автоматически монтировать общий ресурс Samba из командной строки в Linux
Если вам нужно автоматически смонтировать общий ресурс Samba во время загрузки, вы можете использовать командную строку для монтирования, а затем добавить запись в файл / etc / fstab
. Для этого вам необходимо установить пакет cifs-utils
.
CentOS / RHEL
sudo dnf установить cifs-utils
Debian / Ubuntu
sudo apt установить cifs-utils
Затем создайте точку монтирования для общего ресурса Samba.
судо мкдир / мнт / самба-частный
Теперь вы можете использовать следующую команду для монтирования частной общей папки.
sudo mount -t cifs -o username = your_samba_username //192.168.0.102/private / mnt / samba-private /
Вам будет предложено ввести пароль Samba. После этого он будет смонтирован в каталоге / mnt / samba-private /
.
Чтобы автоматически смонтировать общий ресурс Samba, отредактируйте файл / etc / fstab
.
Судо нано / и т. Д. / Fstab
Добавьте в файл следующую строку.
//192.168.0.102/private / mnt / samba-private cifs x-systemd.automount, _netdev, credentials = / etc / samba-credential. conf, uid = 1000, gid = 1000, x-gvfs-show 0 0
Где:
- //192.168.0.102/private : IP-адрес сервера Samba и имя общего ресурса.
- / mnt / samba-private : точка монтирования для общего ресурса Samba.
- cifs : тип файловой системы
- x-systemd.automount : этот параметр указывает systemd создать модуль автоматического монтирования для файловой системы. Мы используем это, потому что это гарантирует, что удаленная файловая система монтируется только после доступа к сети.
- _netdev : указывает, что для монтирования требуется сеть.
- учетные данные = : Linux должен искать учетные данные в файле
/etc/samba-credential.conf
. - uid = 1000, gid = 1000 : по умолчанию подключенная файловая система будет принадлежать пользователю root.Мы используем uid и gid , чтобы изменить владельца файловой системы. Обычно вы используете свой собственный uid и gid , которые по умолчанию равны 1000.
- x-gvfs-show : Если вы используете среду рабочего стола GNOME или ее производные, вы можете использовать эту опцию, чтобы показать смонтированную файловую систему в файловом менеджере.
Сохраните и закройте файл. Затем создайте файл учетных данных.
судо нано /etc/samba-credential.conf
Добавьте в файл следующие строки.
username = your_samba_username пароль = samba_password домен = WORKGROUP
Сохраните и закройте файл. Убедитесь, что этот файл может читать только пользователь root.
судо chmod 600 /etc/samba-credential.conf
Если вы сейчас перезагрузите компьютер с Linux, общий ресурс Samba будет автоматически смонтирован.
Не удается записать на общий ресурс Samba?
Описанное выше монтирование CIFS позволяет записывать в общий ресурс Samba. Если при создании файла вы видите следующую ошибку:
Файловая система только для чтения
Убедитесь, что вы установили Writable = yes
в файле конфигурации Samba.Иногда общая папка Samba находится на внешнем жестком диске, тогда убедитесь, что вы подключили внешний жесткий диск в режиме чтения-записи на сервере Samba. Например, я смонтировал свой жесткий диск btrfs
со следующей строкой в / etc / fstab.
LABEL = 5TB / mnt / 5TB btrfs по умолчанию 0 0
Оказывается, опция по умолчанию
не разрешает операцию записи. Чтобы сделать его доступным для записи, добавьте опцию rw
.
LABEL = 5TB / mnt / 5TB btrfs default, rw 0 0
Затем отключите жесткий диск.Вам нужно использовать собственную точку монтирования.
судо umount / mnt / 5 ТБ
И снова смонтировать.
крепление sudo -a
Совет по поиску и устранению неисправностей
Если ваш сервер Samba не работает должным образом, вы можете проверить файлы журнала в каталоге / var / log / samba /
. Вы можете добавить следующую строку в раздел [global]
файла /etc/samba/smb.conf
, чтобы увеличить уровень журнала, если вы хотите регистрировать дополнительную информацию.
уровень журнала = 2
Завершение
Вот и все! Надеюсь, это руководство помогло вам настроить сервер Samba в Ubuntu.Как всегда, если вы нашли этот пост полезным, подпишитесь на нашу бесплатную рассылку новостей. И вы также можете прочитать следующую статью, чтобы поделиться принтером в локальной сети.
Оцените этот учебник
[Всего: 92 Среднее: 4,2]
Использование Samba для обмена файлами между Linux и Windows
В вашей домашней сети может быть несколько компьютеров с Windows на первом этаже, Mac в спальне наверху, карманный компьютер на прикроватной тумбочке и один или два компьютера с Linux в подвале, все подключенные к сети с помощью обычного маршрутизатора.Для всех устройств в этой знакомой семейной конфигурации или даже для сценария с тысячами пользователей пакет Samba является идеальным решением для совместного использования файлов и печати.
Существует несколько кроссплатформенных решений для совместного использования файлов и печати, но Samba и протокол SMB / CIFS могут быть самыми простыми для реализации в домашней сетевой среде. Машины Windows и Mac имеют функциональные возможности для работы с Samba из коробки, и вам нужно будет установить только один пакет Samba для машин Linux.GNOME и KDE предлагают функции клиента Samba, встроенные в их файловые менеджеры по умолчанию, Nautilus и Konqueror, соответственно.
Мы сосредоточимся на настройке и использовании Samba для общего доступа к файлам и принтерам в типичной домашней сети с компьютерами Linux и Windows. Вы можете выбрать один из нескольких графических интерфейсов конфигурации Samba, но мы пойдем по старомодному пути и направим наши текстовые редакторы на smb.conf. Файл конфигурации обычно находится в /etc/samba/smb.conf или /usr/local/samba/lib/smb.conf. Обратите внимание, что для их редактирования вам необходимо иметь root-права или использовать sudo.
Samba будет работать практически в любой Unix-подобной системе, и ее можно найти в репозиториях практически любого дистрибутива Linux. Начните с использования диспетчера пакетов вашего дистрибутива, чтобы убедиться, что он установлен.
Настройка Samba
Samba — очень зрелый и сложный пакет, поэтому его конфигурационный файл может быть длинным и сложным. Вам придется быть уверенным, что ваш дистрибутив предоставил вам разумную конфигурацию по умолчанию, и сосредоточиться на изменении всего нескольких строк в smb.conf, чтобы убедиться, что они подходят для домашней сети. Если вы хотите узнать больше о какой-либо строке, обратитесь к man smb.conf
.
Помните, что любая строка в файле конфигурации, перед которой стоит точка с запятой (;) или решетка (#), является комментарием и не будет распознана как активная настройка. Чтобы активировать строку, удалите точку с запятой или решётку. Рекомендуется добавлять свои собственные комментарии, которым предшествует один из этих символов, чтобы вы запомнили логику своей конфигурации при следующей загрузке smb. конф.
Первый вариант, который следует рассмотреть, — это уровень безопасности Samba. Эта строка появится в разделе [global]
файла smb.conf, где выполняется вся конфигурация Samba. Остальные разделы, рассмотренные далее в этой статье, относятся к конкретным службам Samba (общим ресурсам). Уровень безопасности, скорее всего, будет установлен на значение пользователь
и будет выглядеть так:
безопасность = пользователь
Для домашней сети вы можете установить значение share
.Основное отличие состоит в том, что при настройке пользователь
вам потребуется войти на сервер Samba, прежде чем вы сможете просматривать его ресурсы. Это разумная мера предосторожности в ненадежных сетях, но она будет неудобной при использовании ресурсов, к которым вы хотели бы иметь доступ для всей семьи, например, принтера. При включенном общем ресурсе
вы все равно можете требовать от пользователей аутентификации с помощью пароля для доступа к определенным ресурсам.
Пока все еще находится в разделе [global] , давайте перейдем к принтерам.Если вы используете Common UNIX Printing System (CUPS) (которая используется по умолчанию в большинстве дистрибутивов), единственное, что вам нужно сделать, чтобы Samba распознала ваши принтеры, — это установить следующие строки соответственно:
печать = чашки
printcap name = чашки
Поскольку вы можете настраивать эти принтеры (и, возможно, другие ресурсы) для доступа без аутентификации пользователя, очень важно ограничить доступ только известными и надежными хостами — компьютерами в вашем доме.Обратитесь к руководству вашего маршрутизатора для получения инструкций по назначению конкретных IP-адресов каждому компьютеру в вашей домашней сети. Когда у вас есть список доверенных хостов, введите их в следующие строки в разделе [global]
:
хостов разрешено = компьютер1 компьютер2 компьютерN
хостов запрещены = ВСЕ
Несмотря на то, что вы указали, что ВСЕ хосты
должны быть запрещены, любой хост, указанный в строке хосты разрешают
, все равно получит доступ. Формат IP-адресов, назначаемых каждому компьютеру вашим маршрутизатором, будет отличаться. Например, если машинам в вашей локальной сети даны адреса в формате 192.168.0.x
, следующие строки ограничат доступ Samba к локальным хостам:
хостов позволяют = 192.168.0.
хостов deny = ВСЕ
Обратите внимание, что последняя цифра IP-адреса была опущена на хостах разрешить строку
. Это означает, что разрешен любой IP-адрес в этом диапазоне.Для дополнительной защиты от внешнего доступа изучите блокировку портов Samba с помощью брандмауэра.
Совместное использование каталогов и принтеров
Пора выйти за рамки [global]
и настроить определенные общие ресурсы. Начнем с раздела [дома]
. По умолчанию в вашем дистрибутиве этот раздел может быть настроен для предоставления пользователям доступа к их домашнему каталогу на машине, на которой запущен сервер Samba.
Если у вас установлено security = share
, эта функция может работать не так, как ожидалось, и пользователям могут быть представлены домашние каталоги без входа в систему. Если вы единственный, у кого есть домашний каталог на машине, на которой работает сервер Samba, что, скорее всего, находится в среде домашней сети, рекомендуется удалить или закомментировать (используя хеш-метки или точки с запятой) раздел [homes]
и позже по отдельности добавляйте любые полезные каталоги в качестве общих ресурсов.
Теперь вы можете начать совместное использование определенных каталогов. Используйте это как шаблон для общедоступной папки, для которой не требуется аутентификация пользователей:
[Имя общего ресурса]
путь = / location / of / directory
guest ok = yes
browseable = yes
read only = no
Имя общего доступа
— это любое название, которое вы выберете (для клиента, осуществляющего доступ к вашему серверу, это будет отображаться как имя общего каталога).Строка guest ok = yes
определяет этот общий ресурс как общедоступный. Строка browseable = yes
сделает общий ресурс доступным для всех пользователей. Установите browseable = no
, чтобы пользователи вручную вводили имя общего ресурса для доступа к нему. Конечно, вы можете установить read only = yes
, чтобы запретить пользователям вносить изменения в каталог удаленно.
Используйте это как шаблон для частных общих ресурсов, к которым пользователи должны вводить пароль для доступа:
[Имя общего ресурса]
путь = / расположение / из / каталога
действительных пользователей = пользователей
только чтение = да
просмотр = нет
Здесь пользователь
— это имя пользователя на машине, на которой запущен сервер Samba, человека с правами доступа к общему ресурсу.Используйте эти два шаблона для добавления общих ресурсов для всех файлов, к которым пользователи могут получить доступ с сервера.
Теперь ваш сервер должен быть полностью настроен. С учетом того, что вы добавили к настройкам по умолчанию, предоставленным вашим дистрибутивом, ваш завершенный smb. conf должен выглядеть примерно так:
[Глобальный] безопасность = доля рабочая группа = ГЛАВНАЯ строка сервера =% h сервер файл журнала = /var/log/samba/log.%m максимальный размер журнала = 1000 DNS-прокси = Нет хосты позволяют = 192.168,0. хосты deny = ВСЕ печать = чашки printcap name = чашки [принтеры] путь = / var / spool / samba printable = Да browseable = Нет [печать $] путь = / var / lib / samba / printers [Общий каталог] путь = / Public / Files гость ок = да только чтение = нет browseable = да [Личный каталог] путь = / частный / файлы / действительные пользователи = я только чтение = да browseable = нет
Перед тем, как покинуть серверную машину, у вас есть еще несколько быстрых дел.Сначала введите всех пользователей, которые будут обращаться к серверу Samba, в следующую команду:
smbpasswd -a пользователь
Вам будет предложено ввести пароль Samba для каждого пользователя. Вы можете изменить пароль в любое время, войдя в систему как желаемый пользователь и запустив smbpasswd
. Теперь перезапустите сервер Samba с помощью этой команды:
/etc/init.d/samba перезапуск
Доступ к общим ресурсам Samba из клиентов Windows
Зайдите на компьютер с Windows, чтобы опробовать новую установку.Ваш новый сервер должен появиться в Windows «Мое сетевое окружение» (по умолчанию ищите ярлык на рабочем столе). Или откройте меню «Пуск» и нажмите «Выполнить…», затем введите:
.
\ сервер
Замена server
именем или IP-адресом машины, на которой запущен ваш сервер Samba. Должно открыться окно проводника Windows с доступными для просмотра общими папками с вашего сервера. Если вы создали общий ресурс, недоступный для просмотра, перейдите по этой ссылке:
\ сервер общее имя
Is легко сделать общие каталоги более доступными.В Windows XP щелкните правой кнопкой мыши общий ресурс в проводнике и выберите «Подключить сетевой диск…». Вы сможете назначить им букву диска, например Z :, чтобы их можно было легко найти в «Мой компьютер» даже после перезагрузки. .
В моем тестировании в Windows XP с уровнем безопасности, установленным на share
, принтеры автоматически обнаруживаются и становятся доступными для использования с компьютера Windows. При установке уровня безопасности для пользователя
перед печатью необходимо было войти на сервер в окне проводника Windows.Ваш опыт работы с другими версиями Windows может отличаться.
Доступ к общим ресурсам SMB / CIFS с других компьютеров Linux
Общие папки Samba и Windows можно легко получить из файловых менеджеров по умолчанию как Gnome, так и KDE. Мы начнем с доступа к общим ресурсам из Nautilus в Gnome. Откройте Nautilus и перейдите в Файл -> Подключиться к серверу.
Выберите «Windows share» из списка и введите имя или IP-адрес вашего сервера Samba. Вы также можете нажать кнопку «Обзор сети» и заглянуть в каталог «Сеть Windows» для поиска сервера вручную. Нажмите «Подключиться», и откроется окно Nautilus с доступными для просмотра ресурсами вашего сервера Samba.
Доступ к общим папкам Samba с Konqueror также прост. Чтобы найти свой сервер, введите URL-адрес remote: / в Konqueror. Для прямого доступа введите URL-адрес сервера непосредственно в этом формате:
smb: // пользователь @ сервер / общий ресурс
Обратите внимание, что пользователь и разделяют являются необязательными критериями.
Настройка принтеров через Samba одинаково проста в обеих средах рабочего стола. В Gnome перейдите в Система -> Администрирование -> Печать. В приложении настройки принтера выберите Принтер -> Добавить принтер. Вам будет предложено ввести пароль. В мастере добавления принтера выберите «Сетевой принтер», а затем «Windows Printer SMB» из списка. Вам будет предложено ввести имя пользователя и пароль на вашем сервере Samba. Определите свой хост и принтер на сервере Samba, а затем перейдите к следующему экрану. Выберите модель своего принтера и нажмите Применить.
Чтобы сделать то же самое в KDE, откройте центр конфигурации, запустив команду kcontrol
. Перейдите в модуль «Принтеры» и выберите «Добавить» -> «Добавить принтер / класс…». В открывшемся диалоговом окне нажмите «Далее» и выберите «Общий принтер SMB (Windows)». Снова нажмите «Далее» и настройте имя пользователя и пароль для «Обычной учетной записи», если используется уровень безопасности пользователь
. В другой раз нажмите «Далее», а затем «Сканировать», чтобы найти свой сервер Samba.
Или введите данные сервера вручную. На следующем экране выберите модель вашего принтера из списка. Просмотрите следующие несколько экранов и дайте своему сетевому принтеру название для завершения.
Устранение неполадок
Если у вас возникли проблемы с работой какой-либо из этих функций, обратитесь к контрольному списку устранения неполадок Samba. Из этого документа можно быстро позаимствовать уловку для проверки вашего файла конфигурации Samba на наличие очевидных ошибок, выполнив следующую команду:
testparm чел. конф
Опять же, точный путь к вашему smb.conf может варьироваться в зависимости от дистрибутива.
Мы рассмотрели здесь только базовые функции Samba, адаптированные для домашней сети. Более экстремальные сценарии использования подробно рассматриваются в руководстве Samba на примерах.
Простая установка Samba — Linux.com
Если вы либо опытный домашний пользователь, либо работаете в бизнес-среде, вы знаете, как важно, чтобы машины могли видеть друг друга.Недавно я написал статью по этой теме («Совместное использование файлов и папок между Linux, Mac и Windows»), в которой я бегло рассмотрел эту тему, показывая, насколько просто разрешить этим различным операционным системам видеть друг друга — с помощью Samba. . Но эта статья не слишком глубоко копалась в самой Samba. Эта статья была скорее учебным пособием «давайте посмотрим, как мы можем сделать это быстро и легко».
На этот раз я больше сосредоточусь на Samba и на том, как она устанавливается и настраивается для обеспечения совместного использования файлов и папок.В этой статье мы рассмотрим конфигурационный файл smb.conf и его настройку, а также способы создания новых общих ресурсов и даже принтеров. Вы будете использовать текстовый редактор и несколько команд. Так что приготовьте пальцы к вводу.
Установка
Установить Samba действительно довольно просто. Поскольку мы собираемся иметь дело с командной строкой, давайте установим Samba таким же образом. Итак, откройте окно вашего любимого терминала и приготовьтесь к установке.
Все команды установки будут выданы либо как root, либо с помощью команды sudo Используете ли вы su или sudo , будет зависеть от того, какой дистрибутив вы используете.Если вы используете Fedora (или дистрибутив, подобный Fedora), вы сделаете su пользователю root. Если вы используете Ubuntu (или дистрибутив, подобный Ubuntu), вы будете использовать sudo .
В окне терминала введите команду sudo apt-get install samba smbfs . Если вы используете Fedora, эта команда будет yum install samba smbfs . После установки Samba пора приступить к настройке.
Конфигурация
Вам нужен только один файл — / etc / samba / smb.conf . По умолчанию этот файл может показаться довольно сложным. Мне всегда нравится начинать с нуля, поэтому я делаю следующее (из командной строки):
- sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
- Судо RM /etc/samba/smb.conf
- sudo touch /etc/samba/smb.conf
Вышеупомянутое просто создает резервную копию файла smb.conf , удаляет оригинал, а затем создает новый пустой файл smb.conf файл.
Прежде чем мы фактически начнем создавать наш файл smb.conf , давайте посмотрим, как этот файл структурирован. Файл smb.conf разбит на разделы, каждый из которых начинается с [ИМЯ] (где ИМЯ — это имя раздела). Типовые разделы:
- [global] — это раздел, содержащий параметры конфигурации, используемые во всех разделах.
- [share] — в этом разделе будет определено имя общего ресурса.
- [принтеры] — в этом разделе определяется общий принтер.
В каждом разделе будут директивы, определяющие различные аспекты конфигурации. Давайте посмотрим на минимальный (но полезный) файл smb.conf .
[весь мир]
имя netbios = NETBIOS_NAME
рабочая группа = РАБОЧАЯ ГРУППА
безопасность = пользователь
шифровать пароли = да
smb файл passwd = / etc / samba / smbpasswd
интерфейсов = 192.168.1.1 / 8
[ SHARE_NAME ]
комментарий = КОММЕНТАРИЙ
путь = / PATH / TO / SHARE
записываемый = да
создать маску = 0770
принудительно создать режим = 0770
блокировка = да
[принтеры]
комментарий = КОММЕНТАРИЙ
путь = / var / spool / samba
гость ОК = Да
для печати = Да
использовать драйвер клиента = Да
для просмотра = №
ПРИМЕЧАНИЕ. Все, что выделено полужирным шрифтом и , зависит от системы.
Есть несколько вещей, которые мы должны затронуть в приведенной выше конфигурации. Давайте по очереди будем работать по мере необходимости (многие строки не требуют пояснений).
security = user : Эта строка определяет метод аутентификации, который будет использовать Samba. Я всегда считал пользователя самым надежным. У Samba есть пять различных методов:
- Пользователь: У каждого пользователя будет учетная запись на машине, на которой установлена Samba.
- server: этот режим больше не используется — он определяет внешний сервер аутентификации.
- ADS: режим Active Directory.
- Домен: это центрально расположенная учетная запись, которая используется совместно контроллерами домена.
- share: клиенты будут аутентифицироваться на определенном ресурсе на сервере Samba.
interfaces = 192.168.1.1/8: В этой строке будут указаны адреса, которым разрешено подключаться к вашим общим ресурсам. Это будет определяться топологией вашей сети.
create mask = 0770 / force create mode = 0770: Эти строки определяют разрешения, предоставляемые всем объектам, созданным пользователями в пределах общего ресурса.В этом случае клиенты получат доступ на чтение / запись ко всем файлам, кроме принадлежащих «другому». Без этих строк у клиентов возникнут проблемы с созданием файлов / папок в общей папке.
блокировка = да : это критично при совместном использовании папок, так как он создает файл блокировки для любого открытого файла. Когда с файлом связан файл блокировки, другие пользователи не могут открыть этот файл для записи. Это предотвращает одновременную перезапись изменений пользователями, что может привести к повреждению файла.
use client driver = Yes : Эта строка указывает, что Samba не требуется для совместного использования драйверов для клиентов.Если вы находитесь в более крупной сети, вы можете поделиться драйверами. В противном случае драйверы для общего принтера должны быть установлены на клиентских машинах.
Создав этот файл, сохраните его, а затем перезапустите Samba (с помощью такой команды, как sudo /etc/init.d/samba restart ). Конечно, ты еще не закончил.
Добавление пользователей
Если вы не добавите пользователей в свою установку Samba, эти пользователи не смогут пройти аутентификацию, что помешает им просматривать / использовать общие ресурсы.Чтобы добавить пользователя, вам необходимо ввести две команды:
sudo smbpasswd -L -a ИМЯ ПОЛЬЗОВАТЕЛЯ
и
sudo smbpasswd -L -e ИМЯ ПОЛЬЗОВАТЕЛЯ
Где USERNAME — фактическое имя пользователя в системе.
Первая команда добавит пользователя и пароль для пользователя (вам будет предложено ввести новый пароль пользователя после ввода команды). Вторая команда позволяет пользователю использовать Samba.
Теперь ваши пользователи готовы аутентифицироваться и использовать Samba.Вы можете вернуться к исходной статье, которую я упоминал (в начале этого руководства), чтобы узнать, как подключиться к серверу как с Mac, так и с Windows.
Принтеры
Замечание о принтерах. В некоторых случаях Samba не добавляет каталог / var / spool / samba , который используется для буферизации принтера. Проверьте, существует ли он, с помощью команды ls / var / spool / . Если вы видите samba там, то все готово. Если нет, введите следующие команды:
судо мкдир / вар / катушка / самба
судо chmod 777 / var / катушка / самба
Это должно сработать.Убедитесь, что принтер, к которому вы хотите предоставить общий доступ, действительно работает на локальной машине Linux, и он должен быть общим и готов к работе для ваших клиентов.
Последние мысли
Samba не так сложно настроить, как многие думают.