Linux file server services

Samba файловый сервер

Samba — программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS.

Простыми словами Samba — это программное обеспечение для реализации файлового сервера, а с 4-й версии и контроллера домена (аналог Windows Active Directory). Устанавливается как на Windows, так и Linux/FreeBSD. Также может быть установлена на некоторые модели роутеров для реализации простого домошнего файлового хранилища.

В качестве клиентской части для подключения к файловому серверу Samba может выступать программное обеспечение, работающее по протоколу SMB. В Linux/FreeBSD это samba client, в Windows — проводник.

Как установить и настроить Samba на Ubuntu Server 20.04

В руководстве описана установка и настройка автономного файлового сервера под управлением Samba Ubuntu Server 20.04 для доступа клиентов Windows, Linux, macOS.

Компьютеры под управлением Windows и Ubuntu должны быть членами локального домена или рабочей группы под названием WORKGROUP.

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

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

ШАГ 1: Установка пакетов Samba сервер в Ubuntu

Обновляем пакеты и устанавливаем Samba сервер. Также установим клиента Samba — пригодится для тестирования настроек сервера.

sudo apt update sudo apt install samba smbclient

ШАГ 2: Старт настройки

Мы начнем со свежего чистого файла конфигурации smb.conf, удалив все закоментированные строки. А также сохраним файл конфигурации по умолчанию в качестве резервной копии для справочных целей. Выполните следующие команды linux, чтобы сделать копию существующего файла конфигурации и создать новый файл конфигурации /etc/samba/smb.conf:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'

ШАГ 3: Создать пользователя Samba

У Samba есть собственная система управления пользователями. Однако любой пользователь, существующий в списке пользователей samba, также должен быть системным, то есть существовать в файле /etc/passwd. Если ваш системный пользователь еще не существует и, следовательно, не может быть расположен в файле /etc/passwd, сначала создайте нового пользователя с помощью команды useradd, прежде чем создавать любого нового пользователя Samba.

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

sudo useradd -m -c "Name_User" -s /bin/bash buhnasmb sudo passwd buhnasmb

Возьмем для примера имя buhnasmb, допустим что он уже есть в системе (проверить командой id), надо внести его в базу данных SMB и назначить пароль для доступа к общим ресурсам, сделаем это командой:

$ sudo id buhnasmb uid=1003(buhnasmb) gid=1003(buhnasmb) groups=1003(buhnasmb) $ sudo smbpasswd -a buhnasmb New SMB password: Retype new SMB password: Added user buhna.

ШАГ 4: Создать общую папку Samba доступную для всех (без пароля)

Создадим директорию для хранения расшаренных файлов и папок:

mkdir -p /home/hdd2backup/smb/buhnasmb

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

[BackupWork] comment = Samba Share path = /home/hdd2backup/smb/buhnasmb guest ok = yes browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb

Не забудьте поставить правильного владельца и права доступа на папку, которую вы расшариваете, например так:

sudo chmod ug+rwx /home/hdd2backup/smb/buhnasmb sudo chown root:"пользователи домена" /home/hdd2backup/smb/buhnasmb
sudo systemctl restart smbd.service

ШАГ 5: Создать защищенную папку Samba доступную только по паролю

Теперь вы знаете, как создавать общедоступные общие ресурсы Samba. Теперь приступим к созданию частных и защищенных общих ресурсов.

Читайте также:  X11 on linux mint

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

То есть настройка идентична ШАГ 4. Хорошо давайте повторю.

И так создаем новую директорию:

mkdir -p /home/hdd2backup/smb/protected

Пользователь тот же buhnasmb, напоминаю, что пароль для доступа к smb- ресурсам мы пользователю buhnasmb задали на ШАГ 3.

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

[ProtectedSamba] comment = Samba Protected Share path = /home/hdd2backup/smb/protected guest ok = no browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb

Задайте права на папку как в ШАГ 4:

sudo chmod ug+rwx /home/hdd2backup/smb/protected sudo chown root:"пользователи домена" /home/hdd2backup/smb/protected
sudo systemctl restart smbd.service

ШАГ 6: Утилиты и диагностика Samba

# testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE

smbget позволяет скачивать с windows, linux (д.уст. samba) файлы через Что такое протокол SMB протокол. Скачать рекурсивно все директории и файлы:

smbget -Rr smb://ip_addr/share
smbclient -L ip_addr/hostname
$ smbclient \\\\10.26.95.220\\vip -U tatyana
nbtscan ip_addr разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba. nmblookup -A ip_addr

ШАГ 7: Скачать рабочий конфигурационный файл smb.conf

[global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user netbios name = back20 usershare allow guests = yes [PublicSamba] comment = Samba Anonymous Share path = /home/hdd2backup/smb/buhnasmb guest ok = yes browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb [ProtectedSamba] comment = Samba Protected Share path = /home/hdd2backup/smb/protected guest ok = no browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb

FAQ Samba

Проблема. Windows настройка, ускорение, частые вопросы 7 не разрешает доступ к расшаренным папкам Samba 4 + LDAP по логину и паролю, без ввода Windows 7 в домен. Решение: Нужно отключить 128- битное шифрование (оно включено по умолчанию) при работе по сети. И тогда Windows 7 разрешит подключения дисков как сетвевых шар, но через стандартное сетевое окружение папки все равно не будут доступны. Полный бред однако.

Читайте также:  Linux смена пароля passwd

Заключение

Проект Samba продолжает активно развиваться. Скорость работы Samba в условиях многопользовательского доступа в качестве ролей файлового и принт-сервера более чем в два раза выше по сравнению с Windows Server.

Начиная с четвёртой версии, Samba может выступать в роли контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000, и способна обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 10.

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

Источник

Samba as a file server

One of the most common ways to network Ubuntu and Windows computers is to configure Samba as a file server. It can be set up to share files with Windows clients, as we’ll see in this section.

The server will be configured to share files with any client on the network without prompting for a password. If your environment requires stricter Access Controls see Share Access Control.

Install Samba

The first step is to install the samba package. From a terminal prompt enter:

That’s all there is to it; you are now ready to configure Samba to share files.

Configure Samba as a file server

The main Samba configuration file is located in /etc/samba/smb.conf . The default configuration file contains a significant number of comments, which document various configuration directives.

Note:
Not all available options are included in the default configuration file. See the smb.conf man page or the Samba HOWTO Collection for more details.

First, edit the workgroup parameter in the [global] section of /etc/samba/smb.conf and change it to better match your environment:

Create a new section at the bottom of the file, or uncomment one of the examples, for the directory you want to share:

[share] comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755 
  • comment
    A short description of the share. Adjust to fit your needs.
  • path
    The path to the directory you want to share.

Note:
This example uses /srv/samba/sharename because, according to the Filesystem Hierarchy Standard (FHS), /srv is where site-specific data should be served. Technically, Samba shares can be placed anywhere on the filesystem as long as the permissions are correct, but adhering to standards is recommended.

Create the directory

Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal, run the following commands:

sudo mkdir -p /srv/samba/share sudo chown nobody:nogroup /srv/samba/share/ 

The -p switch tells mkdir to create the entire directory tree if it doesn’t already exist.

Читайте также:  Open files in linux kernel

Enable the new configuration

Finally, restart the Samba services to enable the new configuration by running the following command:

sudo systemctl restart smbd.service nmbd.service 

Warning:
Once again, the above configuration gives full access to any client on the local network. For a more secure configuration see Share Access Control.

From a Windows client you should now be able to browse to the Ubuntu file server and see the shared directory. If your client doesn’t show your share automatically, try to access your server by its IP address, e.g. \\192.168.1.1 , in a Windows Explorer window. To check that everything is working try creating a directory from Windows.

To create additional shares simply create new [sharename] sections in /etc/samba/smb.conf , and restart Samba. Just make sure that the directory you want to share actually exists and the permissions are correct.

The file share named [share] and the path /srv/samba/share used in this example can be adjusted to fit your environment. It is a good idea to name a share after a directory on the file system. Another example would be a share name of [qa] with a path of /srv/samba/qa .

Further reading

  • For in-depth Samba configurations see the Samba HOWTO Collection
  • The guide is also available in printed format.
  • O’Reilly’s Using Samba is another good reference.
  • The Ubuntu Wiki Samba page.

Источник

Оцените статью
Adblock
detector