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. Чтобы все работало корректно, необходимо строго следовать следующей пошаговой инструкции.
- Открываю «Терминал» в ОС Linux Ubuntu нажатием на комбинацию клавиш Ctrl + Alt + T и даю запрос на установку всех необходимых пакетов. Выглядеть он должен так: sudo apt-get install -y samba python-glade2. Именно так, никак иначе. Сокращать, удлинять его не нужно – этот вариант устанавливает именно необходимые компоненты.
2. На всякий случай произвожу резервное копирование конфигурационного файла, дав команду sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak.
Зачем это нужно? В случае возникновения сбоев или неудачного выполнения операции можно вернуть конфигурационному файлу первоначальное состояние, дав уже вот такой запрос 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 должна пройти успешно.
Автор материала: Айше Джемилева
Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.