Найти в Дзене
Tehnichka.pro

Настраиваем Samba в Ubuntu

Оглавление

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

СПОСОБ №1. Терминал

Терминал – это универсальный инструмент, с помощью которого можно выполнить практически любую операцию. Настройка работы приложения Samba тоже входит в этот аспект. Причем в процессе можно предоставить три варианта доступа к содержимому – общий, только для чтения и с аутентификацией.

Сначала производится подготовка операционной системы Windows. Необходимо, чтобы оба компьютера состояли в одной сетевой группе – по умолчанию она всегда называется «WORKGROUP». А вот определить ее можно с помощью инструмента «Командная строка».

Нажимаю на сочетание клавиш Win + R, затем в поле ввожу запрос cmd, жму на клавишу Enter или кнопку ОК. Для этой операции права админа мне не понадобятся.

Ввожу запрос и нажимаю на ОК для открытия командной строки
Ввожу запрос и нажимаю на ОК для открытия командной строки

Дальше в новом открывшемся окне ввожу следующую команду: net config workstation. Нажимать на Enter здесь тоже не нужно – запрос активируется автоматически, особенно если просто скопировать и вставить его.

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

Меня интересует пункт «Домен рабочей станции» – он-то и именован как «WORKGROUP». Значит, все правильно, иду дальше.

Следующий шаг – если на компьютере с Ubuntu установлен статический IP-адрес, его необходимо прописать в файле «hosts» операционной системы Windows. Для этого понадобится опять открыть командную строку, но уже с правами администратора. Перехожу к окну поисковика и ввожу в строке соответствующий запрос. Нажимаю на найденный элемент правой кнопкой мыши и запускаю утилиту с правами администратора. Если же версия Windows обновленная, тогда никуда нажимать не придется – в правой части отобразится меню, в котором я и выбираю соответствующий пункт.

Запускаю командную строку от имени администратора
Запускаю командную строку от имени администратора

Подтверждаю запрос, и в новом открывшемся окне даю такую команду: C:\Windows\System32\drivers\etc\hosts. Дальше просто списываю с данного файла IP-адрес компьютера на Ubuntu.

Далее идет настройка приложения Samba в ОС Linux Ubuntu. Чтобы все работало корректно, необходимо строго следовать следующей пошаговой инструкции.

  1. Открываю «Терминал» в ОС Linux Ubuntu нажатием на комбинацию клавиш Ctrl + Alt + T и даю запрос на установку всех необходимых пакетов. Выглядеть он должен так: sudo apt-get install -y samba python-glade2. Именно так, никак иначе. Сокращать, удлинять его не нужно – этот вариант устанавливает именно необходимые компоненты.
Ввожу команду, нажимаю Enter, после чего начнется установка пакета
Ввожу команду, нажимаю Enter, после чего начнется установка пакета

2. На всякий случай произвожу резервное копирование конфигурационного файла, дав команду sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak.

Резервное копирование конфигурационного файлa
Резервное копирование конфигурационного файлa

Зачем это нужно? В случае возникновения сбоев или неудачного выполнения операции можно вернуть конфигурационному файлу первоначальное состояние, дав уже вот такой запрос sudo mv /etc/samba/smb.conf.bak /etc/samba/smb.conf. По сути, обратный.

3. Создаю теперь новый конфигурационный файл, отправив команду в «Терминале» – sudo gedit /etc/samba/smb.conf.

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

[global]workgroup = WORKGROUP
netbios name = gate
server string = %h server (Samba, Ubuntu)
dns proxy = yes
log file = /var/log/samba/log.%m
max log size = 1000
map to guest = bad user
usershare allow guests = yes

5. Нажатием на соответствующую кнопку сохраняю изменения.

Даю команду, ввожу в окне нужные строки и сохраняю изменения
Даю команду, ввожу в окне нужные строки и сохраняю изменения

Но это еще не все – практически те же действия я произвожу с файлом limits.conf. Расположение у этих файлов отличается, и в данном случае запрос будет выглядеть так: sudo gedit /etc/security/limits.conf.

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

* — nofile 16384

root — nofile 16384

Сохраняю файл и проверяю, корректно ли введены эти параметры. Просто даю следующую команду: sudo testparm /etc/samba/smb.conf. Если в результате отобразятся следующие данные, то все сделано правильно.

После завершения настройки должен выйти такой результат
После завершения настройки должен выйти такой результат

На этом первичная настройка программы Samba в ОС Linux пока окончена. Перезагружаю сервер Samba – sudo /etc/init.d/samba restart. Далее приступаю к созданию общей папки с тремя видами доступа.

Общий доступ

Для начала покажу, как создать такую папку, доступ к которой будет иметь любой пользователь. Для начала надо создать эту папку, при этом местоположение ее может быть любым. У меня это будет /home/ayko/sambafolder/, название дам «smb-local». Даю в командной строке вот такой запрос sudo mkdir -p /home/ayko/sambafolder/smb-local.

Меняю права доступа на общие, дав уже такую команду sudo chmod 777 -R /home/ayko/sambafolder/smb-local. Тут самое главное – правильно указать путь к ней.

Описываю созданную папку в специальном конфигурационном файле.

sudo gedit /etc/samba/smb.conf

Опускаюсь ниже на две строки и ввожу уже вот такие данные.

[Share]

comment = Full Share

path = /home/sambafolder/share

guest ok = yes

browsable = yes

writable = yes

read only = no

force user = user

force group = users

Сохраняю изменения в документе и перезапускаю приложения для применения новых параметров. Ввожу в «Терминале» sudo service smbd restart.

В операционной системе Windows после этого должна появиться общая папка. Проверить это легко – открываю «Командную строку» и даю такой запрос: \\gate\share.

Если ничего не отображается, тогда стоит проверить правильность введенных данных – из-за одной ошибки вся операция может сорваться.

Только для чтения

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

[Read]

comment = Only Read

path = /home/sambafolder/read

guest ok = yes

browsable = yes

writable = no

read only = yes

force user = user

force group = users

Закрытый доступ

Точно так же, как и в первом случае, я создаю папку, изменяю ее права, но при этом сначала добавляю пользователь в группу, которая будет наделена правами доступа. Для начала, конечно же, эту самую группу я создам, дав такой запрос: sudo groupadd smbuser.

Добавляю пользователя, имя при этом подбираю любое. Допустим, оно будет «teacher», и выглядеть все это дело будет так: sudo useradd -g smbuser teacher.

После этого задаю пароль, который новый юзер будет использовать при входе. Даю команду sudo smbpasswd -a teacher, и обращаю внимание, что вводить новый пароль надо будет потом, и символы, ради вашей же безопасности, отображаться не будут.

Открываю все через тот же «Терминал» конфигурационный файл и записываю туда этот фрагмент. И важно – напротив строки valid users должно отображаться актуальное имя пользователя, которое пару шагов назад и было выдано.

[Pasw]

comment = Only password

path = /home/sambafolder/pasw

valid users = teacher

read only = no

Сохраняю изменения, перезапускаю программу, потом проверяю правильность введенных данных этой командой.

sudo testparm /etc/samba/smb.conf

СПОСОБ №2. System Config Samba

Другой способ – действовать в графическом интерфейсе системы, для этого понадобится установить специальное приложение. Чтобы сделать это, даю команду sudo apt install system-config-samba.

Вышеуказанные пакеты тоже стоит обязательно установить. Дальше перехожу к настройке – запускаю графическое приложение, дав запрос sudo system-config-samba. Другой вариант – через меню приложений. Но в обоих ситуациях понадобится ввести пароль администратора для внесения изменений.

Начинаю добавлять пользователей – перехожу к пункту «Настройка», выбираю элемент «Пользователи Samba» и в новом открывшемся окне добавляю данные для входа. Обязательно указываю имя для разных систем и пароль.

После в том же пункте меню «Настройки» перехожу в «Параметры сервера». Ввожу название рабочей группы и добавляю описание, которое ни на что не влияет. Во вкладке «Безопасность» определяю режим аутентификации, необходимость шифровки пароля и ввода гостевой учетной записи. Нажимаю ОК для выхода из этого окна.

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

СПОСОБ №3. Nautilus

Для тех, кто не знал, Nautilus – это файловый менеджер в операционной системе Linux Ubuntu. Чтобы настроить через него приложение Samba, для начала открываю его.

Ранее я рассматривала запрос sudo mkdir -p /home/ayko/sambafolder/smb-local. Он создавал в директории защищенную папку, к которой и предоставлялся общий доступ. Можно опять же задействовать ее через «Терминал», а еще возможно создать папку самостоятельно.

Нажимаю правой кнопкой мыши по папке и выбираю элемент «Свойства».

Открываю свойства папки нажатием на соответствующий пункт контекстного меню
Открываю свойства папки нажатием на соответствующий пункт контекстного меню

Перехожу ко вкладке «Общедоступная папка локальной сети», после чего ставлю галочку напротив пункта «Опубликовать эту папку».

Публикую эту папку, чтобы предоставить доступ к содержимому другим пользователям
Публикую эту папку, чтобы предоставить доступ к содержимому другим пользователям

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

Есть еще такой нюанс – именно во вкладке «Общедоступная папка локальной сети» включается и отключается возможность изменения ее содержимого другими пользователями.

Потом начну проводить настройку – перейду к разделу «Права», определю владельца и пользователей, которым предоставлен доступ, принадлежность к определенной группе и так далее.

Здесь можно поменять право доступа и владельца папки
Здесь можно поменять право доступа и владельца папки

Тут же должна быть кнопка «Изменить права на вложенные файлы» (у меня ее нет), и вносить изменения в нее может только админ. По окончании обязательно применяю изменения, после эта папка обязательно должна отображаться на компьютерах, подключенных к той же локальной сети.

Заключение

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

Автор материала: Айше Джемилева

Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.