Samba windows and linux

Samba windows and linux

Opening Windows to a Wider World. (слоган на www.samba.org)

Samba — реализация сетевых протоколов Server Message Block (SMB) и Common Internet File System (CIFS). Основное предназначение — расшаривание файлов и принтеров между Linux и Windows системами.

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

  • smbd — демон, являющийся SMB-сервером файловых служб и служб печати;
  • nmbd — демон, предоставляющий службы имен NetBIOS;
  • smblient — утилита предоставляет доступ из командной строки к ресурсам SMB. Она также позволяет получить списки общих ресурсов на удаленных серверах и просматривать сетевое окружение;
  • smb.conf — конфигурационный файл, содержащий настройки для всех инструментов Samba;

Список портов, используемых Samba

Порт Протокол Служба Демон Описание
137 UDP netbios-ns nmbd служба имен NetBIOS
138 UDP netbios-dgm nmbd служба датаграмм NetBIOS
139 TCP netbios-ssn smbd NetBIOS over TCP (служба сеансов)
445 TCP microsoft-ds smbd NetBIOS over TCP (служба сеансов)

Вводная статья про основные принципы расшаривания файлов и принтеров.

Установка и настройка сервера

Скопируем файл с настройками smb.conf

По умолчанию создаются ресурсы для домашних каталогов пользователей (раздел homes в smb.conf) и принтеров (раздел printers).

Доступ к ресурсу может быть по паролю или анонимный. Для первого способа есть пара моментов:

  1. пользователь должен существовать в системе (создан с помощью команды adduser username и установлен пароль passwd username );
  2. пользователь должен быть добавлен как пользователь Samba (с помощью команды sudo smbpasswd -a username );

Необходимо что-бы компьютеры принадлежали к одной рабочей группе, в Windows по умолчанию это WORKGROUP, вот её и будем использовать.

Ниже приведен пример простого файла smb.conf с настройками для анонимного доступа к директории /srv/samba/public.

Имена параметров не чувствительны к регистру. Для некоторых распространенных параметров существуют синонимы, а для некоторых – антонимы. Например, writable и writeable – это синонимы, а read only – антоним для них, т.е. опция read only = yes эквивалентна опции writable = no.

Проверим корректность настроек с помощью команды testparm

Опция -v указывает testparm выводить также значения по умолчанию.

Проверим подключению к Samba на порт 139 с помощью telnet

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

  • share — этот режим безопасности эмулирует метод аутентификации, используемый операционными системами Windows 9x/Windows Me. В этом режиме имена пользователей игнорируются, а пароли назначаются общим ресурсам. В этом режиме Samba пытается использовать предоставленный клиентом пароль, которым могут пользоваться разные пользователи.
  • user* — этот режим безопасности установлен по умолчанию и использует для аутентификации имя пользователя и пароль, как это обычно делается в Linux. В большинстве случаев в современных операционных системах пароли хранятся в зашифрованной базе данных, которую использует только Samba.
  • server — этот режим безопасности используется тогда, когда необходимо, чтобы Samba выполняла аутентификацию, обращаясь к другому серверу. Для клиентов этот режим выглядит так же, как аутентификация на уровне пользователя (режим user), но фактически для выполнения аутентификации Samba обращается к серверу, указанному в параметре password server.
  • domain — используя этот режим безопасности, вы можете полностью присоединиться к домену Windows; для клиентов это выглядит так же, как аутентификация на уровне пользователя. В отличие от аутентификации на уровне сервера, доменная аутентификация использует более защищенный обмен паролями на уровне домена. Для полного присоединения к домену требуется выполнить дополнительные команды в системе Samba и, возможно, на контроллере домена.
  • ads — этот режим безопасности похож на метод аутентификации в домене, но требует наличия контроллера домена Active Directory Domain Services.

Полный список параметров Samba есть в manpages.

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

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

Создадим директорию для пользователя и установим права

Добавим в /etc/samba/smb.conf новый ресурс

Пример настройки ресурса в котором есть симлинк на папку пользователя (/srv/samba/media/video » /home/proft/video)

Просмотр общих ресурсов компьютера

Еще один способ подключения для анонимного пользователя с командной строкой

Если на сервере настроен более высокий уровень безопасности, то может потребоваться передать имя пользователя или домена с помощью параметров -W и -U соответственно.

Еще лучше пароли хранить в отдельном файле

Выставим права доступа 0600

Новая строка для монтирования

И пример для /etc/fstab

Открыть ресурс в файловом менеджере Nautilus/Nemo/etc можно по такому пути smb://192.268.24.101.

Если Nemo пишет Nemo cannot handle «smb» locations. значит не хватает пакета gvfs-smb.

Доступ к серверу с Windows и Android клиента

Под Windows узнать рабочую группу с консоли можно с помощью

Открыть ресурсы на удаленной машине можно набрав в строке Explorer (Проводник) или в Run (Start — Run) UNC-адрес: \192.168.24.101.

Под Android подключится к серверу можно с помощью ES File Explorer, на вкладке Network добавляем сервер, просто по IP (без указания схемы, smb). После чего можно открывать расшаренные ресурсы. Для статистики: HDRIP-фильм идет без подтормаживания.

Источник

Mounting and mapping shares between Windows and Linux with Samba

More Linux resources

In my previous article, Interoperability: Getting started with Samba, I covered installing and configuring Samba shares on a Linux server. The real power of Samba comes when Windows clients can communicate with Linux file servers. In this article, I will cover how you can access Samba shares from both Linux and Windows clients.

Install the Samba client packages

To access Samba share from Linux clients we need to install a few Samba client packages.

On the client machine, install the samba-common and samba-client packages.

Check for available shares

Let’s check if we can access our shares from the server. We can use either the hostname or ip address of the server. If you use the hostname , make sure DNS is working.

Create a directory that we can use as our mount point. I’m going to create a directory under /mnt , but you can use any directory you would like to. You may need to configure SELinux on that directory.

Now, mount the share.

Now that we’ve mounted our share, we can check the mounts with the following command:

Let’s make that directory mount persistently so it can withstand a reboot. Using the text editor of your choice, edit the /etc/fstab file. You can do this in multiple ways, but I’m going to demonstrate two ways to mount the Samba share at boot in /etc/fstab .

The first option provides a username and password for the Samba user in the fstab .

The other option is to create a credential file. You can call this file anything, but I would like to call it cred . I would like to place credentials files in the home directory of the user. In our demonstration it will be /home/user/.cred .

The _netdev option is important since we are mounting a network device. Clients may hang during the boot process if the system encounters any difficulties with the network.

Now create that .cred file inside the user’s home directory.

Next, add the Samba user’s username and password.

Finally, mount all filesystems.

Access a share from a Windows client

I will be using Windows 10 as my client machine with a workgroup called SAMBA . We need to create a local user account on the Windows machine that matches the username and password of the Samba user account we created in my previous article. Although account creation is not necessary, this will make things simpler when accessing the share.

Like I mentioned above, this step is optional and you can skip it completely. Although there are multiple approaches to adding a new local user on a Windows machine, for the simplicity of this article I will be using PowerShell. Launch PowerShell as an administrator and issue following commands:

Now that we have created a new local user account matching the Samba user account, we can log in to Windows with our newly created user account.

Access a share from Windows Explorer

To access the Samba share from Windows Explorer, start typing the IP address to our share in the search area. I am using the hostname of the Samba server. In my case, it is centos . You can also access the share by using the IP address of the Samba server.

You might be prompted to enter the username and password to access the share if you skipped the local user creation process. If you get prompted for credentials, enter the Samba username and password we created in the previous article.

You will need to enter the Samba share path every time you want to access the share. There is a better way to access the share by mapping a drive to Samba share in Windows.

Mapping a drive to a Samba share

To map a drive to the Samba share, open PowerShell and issue following command:

Accessing a Samba share on Linux and Windows is easy. With this basic setup, you will be able to access file shares from client machines in your network. With somewhat more configuration, you can deploy Samba shares in a domain environment. Samba can do more than file share. If you would like to learn more about Samba, read this article about Windows and Linux interoperability. This is a basic set up, but you can do so much more with Samba.

[ Want to test your sysadmin skills? Take a skills assessment today. ]

Источник

Samba windows and linux

Opening Windows to a Wider World. (слоган на www.samba.org)

Samba — реализация сетевых протоколов Server Message Block (SMB) и Common Internet File System (CIFS). Основное предназначение — расшаривание файлов и принтеров между Linux и Windows системами.

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

  • smbd — демон, являющийся SMB-сервером файловых служб и служб печати;
  • nmbd — демон, предоставляющий службы имен NetBIOS;
  • smblient — утилита предоставляет доступ из командной строки к ресурсам SMB. Она также позволяет получить списки общих ресурсов на удаленных серверах и просматривать сетевое окружение;
  • smb.conf — конфигурационный файл, содержащий настройки для всех инструментов Samba;

Список портов, используемых Samba

Порт Протокол Служба Демон Описание
137 UDP netbios-ns nmbd служба имен NetBIOS
138 UDP netbios-dgm nmbd служба датаграмм NetBIOS
139 TCP netbios-ssn smbd NetBIOS over TCP (служба сеансов)
445 TCP microsoft-ds smbd NetBIOS over TCP (служба сеансов)

Вводная статья про основные принципы расшаривания файлов и принтеров.

Установка и настройка сервера

Скопируем файл с настройками smb.conf

По умолчанию создаются ресурсы для домашних каталогов пользователей (раздел homes в smb.conf) и принтеров (раздел printers).

Доступ к ресурсу может быть по паролю или анонимный. Для первого способа есть пара моментов:

  1. пользователь должен существовать в системе (создан с помощью команды adduser username и установлен пароль passwd username );
  2. пользователь должен быть добавлен как пользователь Samba (с помощью команды sudo smbpasswd -a username );

Необходимо что-бы компьютеры принадлежали к одной рабочей группе, в Windows по умолчанию это WORKGROUP, вот её и будем использовать.

Ниже приведен пример простого файла smb.conf с настройками для анонимного доступа к директории /srv/samba/public.

Имена параметров не чувствительны к регистру. Для некоторых распространенных параметров существуют синонимы, а для некоторых – антонимы. Например, writable и writeable – это синонимы, а read only – антоним для них, т.е. опция read only = yes эквивалентна опции writable = no.

Проверим корректность настроек с помощью команды testparm

Опция -v указывает testparm выводить также значения по умолчанию.

Проверим подключению к Samba на порт 139 с помощью telnet

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

  • share — этот режим безопасности эмулирует метод аутентификации, используемый операционными системами Windows 9x/Windows Me. В этом режиме имена пользователей игнорируются, а пароли назначаются общим ресурсам. В этом режиме Samba пытается использовать предоставленный клиентом пароль, которым могут пользоваться разные пользователи.
  • user* — этот режим безопасности установлен по умолчанию и использует для аутентификации имя пользователя и пароль, как это обычно делается в Linux. В большинстве случаев в современных операционных системах пароли хранятся в зашифрованной базе данных, которую использует только Samba.
  • server — этот режим безопасности используется тогда, когда необходимо, чтобы Samba выполняла аутентификацию, обращаясь к другому серверу. Для клиентов этот режим выглядит так же, как аутентификация на уровне пользователя (режим user), но фактически для выполнения аутентификации Samba обращается к серверу, указанному в параметре password server.
  • domain — используя этот режим безопасности, вы можете полностью присоединиться к домену Windows; для клиентов это выглядит так же, как аутентификация на уровне пользователя. В отличие от аутентификации на уровне сервера, доменная аутентификация использует более защищенный обмен паролями на уровне домена. Для полного присоединения к домену требуется выполнить дополнительные команды в системе Samba и, возможно, на контроллере домена.
  • ads — этот режим безопасности похож на метод аутентификации в домене, но требует наличия контроллера домена Active Directory Domain Services.

Полный список параметров Samba есть в manpages.

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

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

Создадим директорию для пользователя и установим права

Добавим в /etc/samba/smb.conf новый ресурс

Пример настройки ресурса в котором есть симлинк на папку пользователя (/srv/samba/media/video » /home/proft/video)

Просмотр общих ресурсов компьютера

Еще один способ подключения для анонимного пользователя с командной строкой

Если на сервере настроен более высокий уровень безопасности, то может потребоваться передать имя пользователя или домена с помощью параметров -W и -U соответственно.

Еще лучше пароли хранить в отдельном файле

Выставим права доступа 0600

Новая строка для монтирования

И пример для /etc/fstab

Открыть ресурс в файловом менеджере Nautilus/Nemo/etc можно по такому пути smb://192.268.24.101.

Если Nemo пишет Nemo cannot handle «smb» locations. значит не хватает пакета gvfs-smb.

Доступ к серверу с Windows и Android клиента

Под Windows узнать рабочую группу с консоли можно с помощью

Открыть ресурсы на удаленной машине можно набрав в строке Explorer (Проводник) или в Run (Start — Run) UNC-адрес: \192.168.24.101.

Под Android подключится к серверу можно с помощью ES File Explorer, на вкладке Network добавляем сервер, просто по IP (без указания схемы, smb). После чего можно открывать расшаренные ресурсы. Для статистики: HDRIP-фильм идет без подтормаживания.

Источник

Читайте также:  Как посмотреть владельца папки linux
Оцените статью