Samba позволяет открывать доступ к файлам по локальной сети с компьютеров, работающих под управлением любой операционной системы. Samba также обеспечивает управление доступом к этим ресурсам используя только один конфигурационный файл. В Debian большая часть конфигурации создается автоматически, что значительно упрощает настройку сервера Samba.
Когда вы прочитаете эту инструкцию, вы будете знать как установить сервер Samba, как изменить глобальные настройки сервера Samba, как настроить новый общий ресурс, как настроить пользователя Samba и как подключиться к общей папке с другой машины.
Мы будем выполнять установку Samba Debian 10 Buster. Для установки нам потребуется доступ к системе с правами пользователя root. Команды которые начинаются с # - должны выполняться от имени root пользователя, или с применением инструкции sudo. Команды которые начинаются с $ могут выполняться от имени обычного не привилегированного пользователя.
Содержание статьи
Установка Samba в Debian 10
В Debian вы можете установить сервер Samba прямо из репозиториев. Установка выполняется с помощью одного пакета, потребуется выполнить лишь одну команду:
sudo apt install samba
Настройка Samba в Debian
Настройки Samba находятся в файле /etc/samba/smb.conf. Этот файл содержит общие настройки для Samba, а также сведения об общих ресурсах. Обычно в Debian предоставляются неплохие настройки по умолчанию, которые позволяют начать работать немедленно, что в общем не мешает взглянуть на них и внести изменения там, где это необходимо.
1. Базовые настройки
Первое что вам встретится в верхней части группы глобальных настроек - настройка workgroup. Эта опция определяет имя рабочей группы Windows, частью которой станет ваш сервер. Значение по умолчанию - WORKGROUP, так как такое же значение, по умолчанию в задано в Windows. Если вы изменяли настройки рабочей группы в Windows, измените их также и здесь.
Следующая опция позволит ограничить доступ к вашему серверу. Если вы хотите ограничить доступ к общему ресурсу по ip адресу или маске сети, уберите символ комментария в строке где находится параметр interfaces, и укажите ip адрес или диапазон IP адресов, и интерфейс к которому они могут подключаться.
Если такой метод вам не нравится, вы можете добавить параметр hosts allow, чтобы определить, клиентов, которые могут подключаться к общему ресурсу. Укажите IP-адрес или диапазоны адресов.
Остальные параметры из группы глобальных настроек имеют довольно обоснованные значения по умолчанию. Вам не потребуется изменять их для того чтобы запустить свои общие ресурсы. Но не стоит ограничиваться только рассмотренными нами опциями, вы можете исследовать и другие параметры, и настраивать их по своему усмотрению. Настройка Samba Debian 10 практически завершена, осталось создать общую папку и пользователя.
2. Создание общего ресурса
В конфигурационном файле, по умолчанию, уже присутствуют несколько настроек для общих ресурсов. Они дают вам возможность настроить совместное использование домашних папок пользователей системы и принтеров. А доступ к каталогу печати уже открыт. Измените значение параметра browseable на no.
Теперь попробуйте создать свой собственный общий ресурс. Существует масса опций, которые вы можете использовать для своего общего ресурса Samba, но в этом руководстве будут рассмотрены лишь наиболее используемые из них.
Во-первых, дайте имя своему общему ресурсу, и поместите это имя в скобки.
В следующей строке напишите краткий комментарий, описывающий общий ресурс.
Затем задайте путь, эквивалентный абсолютному пути к общей папке.
Выберите, будет ли папка отображаться в файловом менеджере или же ее нужно будет подключать вручную.
Хотите ли вы, чтобы пользователи имели права на запись в общий ресурс или могли подключить его только для чтения?
Смогут ли гости получить доступ к общему ресурсу? В терминах Samba гости - это анонимные пользователи, для которых не существует записи в настройках доступа к общему ресурсу. Если выразиться короче, хотите ли вы защитить общий ресурс паролем, или ограничить доступ к ресурсу только для отдельных пользователей?
Если гости не будут иметь доступ к общей папке, то у кого он будет?
Ну вот и все. Есть еще и другие опции и другие способы выполнить эти базовые шаги, но они дадут вам в итоге приблизительно тот же результат. Если вы точно знаете что вам нужно, этих опций вам будет достаточно. Если соединить все что мы написали выше - у нас получится что-то вроде этого:
Сохраняем и закрываем файл. Затем перезагружаем Samba.
systemctl restart smbd
3. Создание пользователя
Для подключения к общей папке, если только вы не используете гостевой доступ, вам потребуется настроить учетные записи пользователей Samba. Это очень быстро, и потребует всего одной команды.
smbpasswd -a имя_пользователя
После этого вам будет предложено ввести пароль для этого пользователя. Это пароль, которым будут защищены доступные ему общие ресурсы.
Как подключиться к Samba
Есть несколько пакетов, которые вам понадобятся для того чтобы подключиться к общему ресурсу Samba. Установите их при помощи следующей команды.
sudo apt install samba-client cifs-utils
Теперь вы можете открыть файловый менеджер и перейти в раздел Сеть. Там вы увидите свой сервер, а также - общий ресурс, который вы только что настроили.
Выводы
Теперь вы знаете как выполняется установка Samba Debian 10 и готовы начать создавать собственные общие папки, а также настраивать к ним доступ с других компьютеров Linux. Ничего другого делать не нужно, и Samba автоматически запустится при загрузке Debian.
"В следующей строке сделайте отступ равный четырем"
Зачем? В чем суть сего действа?
А где описание секции global? Там вообще-то нюансов довольно много.
Ради форматирования, видимо. Убрал.
1. А вот не совсем понятно.
Сначала я создал пользователя ivanov, в самой системе, #adduser ivanov
Samba не пускала его.
Тогда я создал через smbpasswd -a ivanov другого пользователя.
И его пустило, но пустила samba в папку, которая пустая оказалась, хотя в smb.conf я прописывал путь к общей папке и она 100% имеет содержимое. Windows видит пустую папку.
2. Первый созданный пользователь имеет право на запись в папку /media/4tb/ivanov
Второй созаднный пользователь естественно туда писать не может, как исправить?
С одним моментом разобрался... На общую папку сделал chown -R ivanov:sambashare и вроде пошло всё
Спасибо. Хорошая инструкция.
в принципе хотел увидеть незаумное описание именно секции Global. но и это спасибо.
WEB-L SMB
apt-cdrom add
apt install -y cifs-utils
nano /root/.smbclient
username=Administrator
password=P@ssw0rd
nano /etc/fstab
//srv.int.demo.wsr/smb /opt/share cifs user,rw,_netdev,credentials=/root/.smbclient 0 0
mkdir /opt/share
mount -a
WEB-R SMB
apt-cdrom add
apt install -y cifs-utils
nano /root/.smbclient
username=Administrator
password=P@ssw0rd
nano /etc/fstab
//srv.int.demo.wsr/smb /opt/share cifs user,rw,_netdev,credentials=/root/.smbclient 0 0
mkdir /opt/share
mount -a