- Настройка сетевых интерфейсов
- Windows
- Ubuntu Linux
- Как расшарить папку и задать разрешения и права доступа в Linux
- Как смонтировать общую папку Windows/Samba в Linux
- Подключение Ubuntu 18. 04 к локальной сети Windows
- Настройка Samba в Debian
- 1. Базовые настройки
- 2. Создание общего ресурса
- 3. Создание пользователя
- Динамическое присвоение адресов
- Книга по SMB и Samba на русском языке. Оглавление
- Настройка доступа к файлам
- Windows
- Ubuntu Linux
- Общий доступ к папке
- Дополнительные настройки Самба (Samba)
- Проблемы с доступом на локальной расшаренной папке Linux
- Настройка автоматического монтирования сетевой папки в Linux
- Сопутствующие статьи
- Как подключиться к сетевой папке Windows из Linux
- Подключение к SMB папке, требующий авторизации
- Подключение к серверу Samba
- Как создать общую сетевую папку в Samba
- Установка Samba
- Как подключиться к Samba
- Другие статьи про Ubuntu 18
- Подготовка Windows
- Ошибки smbtree
- smbc_opendir: No such file or directory
- Segmentation fault
- smbtree ничего не выводит и «подвисает»
- Настройка доступа в Samba без пароля
- Настройка Samba через GUI интерфейс
- Настройка Samba через файл конфигурации
- Samba — настройка доступа без пароля
- Как в Linux увидеть все компьютеры Windows с совместными ресурсами
- Автоматическое выполнение команд в сетевой папке Windows
- Резюме
- Статическое присвоение адресов
- Samba — это SMB для Linux
- Команды SMB в Linux
- Выводит все доступные команды:
- Переход в другой каталог (смена текущей рабочей директории) на удалённой системе:
- Удаление файла в шаре:
- Показ файлов и папок в текущей папке:
- Скачать файлы с общей папки:
- Выгрузка файла на общую папку:
- Включение и отключение рекурсии
- Показ всей возможной информации о файле:
- Копирование файла на сервере:
- Создание директории:
- Удаление директории:
- Удаление файлов
- Переименование файлов:
- Ссылки
- Выход с сервера:
- Вывод истории команд текущей сессии:
- Просмотр содержимого текстового файла:
- Показ текущей рабочей директории:
- Создание и извлечение архивов tar
- Установка таймаута операций:
- Установка нового соединения:
- Закрытие сессии, выход:
- Вывод списка открытых подключений:
- Отображение текущего активного подкючения:
- Изменение удалённой директории (переход на одну папку выше):
- Выполнение команд в локальной системе:
- Доступ к сетевым принтерам
- Windows
- Ubuntu Linux
- Настройка Samba в Debian 11
- Настройка общих параметров
- Настройка общей шары
- Настройка защищённой шары
- Настройка доступа без пароля для других ОС
Настройка сетевых интерфейсов
Windows
В операционных системах Windows эти настройки
делаются через апплет свойств сетевого подключения, а доступные сетевые
подключения перечислены в «Панель управления — Сетевые подключения». Вот так
этот апплет выглядит в Windows
XP:

Примечание. В Windows 7, 8 и
10 апплет «Сетевые подключения» расположен в
«Центр управления сетями — Изменение параметров адаптера». Или есть более
короткий путь — через диалоговое окно «Выполнить«, в нем нужно
написать имя файла ncpa.cpl.
- «Протокол Интернета (TCP/IP)» должен быть
включен в любом случае, даже если по сети будет только один Интернет
«раздаваться». - «Клиент для сетей Microsoft»
и «Служба доступа к файлам и принтерам сетей
Microsoft» должны быть включены в том, случае если по сети нужно
передавать файлы или печатать на общем принтере.

Общепринято использовать для локальных сетей диапазон адресов 192.168.x.x.
Поле «Основной шлюз» нужно заполнять только если этот компьютер получает
Интернет с другого компьютера или с модема-роутера и в этом случае там
должен быть адрес «раздатчика» Интернет.
Кроме этого, для того, чтобы сеть между компьютерами Windows
работала, необходимо включить учетную запись «Гость» на каждом из
компьютеров и убедиться в том, что на каждом компьютере:
- Имя рабочей группы совпадало.
- Имя компьютера было уникальным.
Имя рабочей группы и компьютера можно узнать, а также изменить через
апплет «Система»:

Если используется брандмауэр Windows,
то нужно разрешить сетевые соединения для доступа к файлам и папкам:

Аналогичное правило должно быть создано в том случае если
используется другой файерволл.
Ubuntu Linux
В Ubuntu Linux
параметры сетевых интерфейсов можно определить через через апплет
«Сеть»:

И затем в свойствах сетевого интерфейса:

Как расшарить папку и задать разрешения и права доступа в Linux
Еще одна статья в которой подробно рассмотрен вопрос о том как в Linux настроить разрешения и права доступа для
того чтобы расшарить папку для анонимного доступа по локальной сети (доступ без пароля).
Настройка Samba и разрешения Linux для доступа без пароля
Как смонтировать общую папку Windows/Samba в Linux
Сетевая папка Windows может быть доступна в файловых менеджерах Linux как любая другая локальная папка. Для этого её нужно смонтировать. После монтирования не придётся использовать консоль для просмотра списка файлов и скачивания или закачивания файлов.
Начните с установки пакета cifs-utils.
В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:
sudo apt install cifs-utils
В Arch Linux, BlackArch и производных выполните:
sudo pacman -S cifs-utils
Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:
- Использовать вместо имён компьютеров IP адрес. В этом случае у компьютера с сетевой папкой должен быть постоянный (статичный) IP адрес
- Либо настроить преобразование имён для компьютеров Windows. Это можно сделать, например, с помощью файла /etc/hosts. Кстати, в этом случае у компьютера с общей папкой также должен быть постоянный IP адрес (смотрите Как настроить локальный DNS используя файл /etc/hosts в Linux)
В общем, в любом случае настройте в роутере или в самой Windows постоянный локальный IP.
Если вы хотите настроить преобразование имён с помощью файла /etc/hosts, то откройте его:
sudo gedit /etc/hosts
И добавьте туда запись вида
IP_АДРЕС ИМЯ_КОМПЬЮТЕРА
Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:
192.168.0.101 HACKWARE-MIAL
Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:
ping HACKWARE-MIAL
sudo mkdir /mnt/share
sudo chown ПОЛЬЗОВАТЕЛЬ /ПУТЬ/ДО/ТОЧКИ/МОНТИРОВАНИЯ/ШАРЫ
Чтобы узнать имя текущего пользователя выполните команду:
echo $USER
sudo chown mial /mnt/share/
Теперь для монтирования сетевой шары Windows нужно запустить команду вида:
sudo mount -t cifs -o username=guest,password=,uid=1000,iocharset=utf8 //ИМЯ-КОМПЬЮТЕРА/Папка /точка/монтирования
В этой команде вы должны вставить свои значения для
- //ИМЯ-КОМПЬЮТЕРА/Папка
- /точка/монтирования
Значение других элементов команды:
- sudo — монтировать шару можно и без прав суперпользователя, но использовать опцию -o, после которой указываются опции для монтирования, можно только с правами root
- -t cifs выбор файловой системы для монтирования
- -o означает, что после этой опции будут перечислены опции для монтирования:
- username=guest,password= — произвольное имя пользователя без пароля — используется для подключение к общей папки, для которой не требуется вход. Вместо этой конструкции можно указать просто guest, но в этом случае на некоторых системах всё равно запрашивается пароль. По моим наблюдениям, пароль запрашивается когда имя текущего пользователя на Linux совпадает с именем пользователя на Windows
- uid=1000 — в качестве владельцев всех файлов в шаре будет указан текущий пользователь Linux
- iocharset=utf8 — эта кодировка позволяет работать с именами файлов, в которых используются не только латинские буквы
sudo mount -t cifs -o username=guest,password=,uid=1000,iocharset=utf8 //HACKWARE-MIAL/Share /mnt/share
Вид сетевой папки Windows в Double Commander:

Вид сетевой папки в стандартном проводнике Linux:

Для размонтирования нужно запустить следующую команду (укажите либо точку монтирования, либо ресурс, который был смонтирован):
sudo umount /mnt/share
sudo mount -t cifs -o username=ShareOverlord,password=1234,uid=1000,iocharset=utf8 //HACKWARE-MIAL/ShareRestricted /mnt/share
Чуть дальше очень похожий набор опций, в том числе пароль в открытом виде, мы будем использовать в файле /etc/fstab для настройки автоматического монтирования сетевой папки. Файл /etc/fstab доступен для чтения всем а, следовательно, также доступен всем ваш пароль от Windows в нём. Чтобы обойти эту проблему, можно использовать файл с учётными данными. Это файл содержит только имя пользователя и пароль.
Используя текстовый редактор, создайте файл с учётными данными для входа на ваш удалённый сервер:
gedit ~/.smbcredentials
В этот файл введите имя пользователя и пароль от Windows:
username=ИМЯ-ПОЛЬЗОВАТЕЛЯ password=ПАРОЛЬ
В моём примере это:
username=ShareOverlord password=1234
Сохраните файл и закройте редактор.
Измените права доступа к этому файлу, чтобы предотвратить нежелательный доступ к вашим учётным данным:
chmod 600 ~/.smbcredentials
Посмотрите абсолютный путь до этого файла:
realpath ~/.smbcredentials
В моём случае абсолютный путь:
/home/mial/.smbcredentials
Теперь вместо двух опций:
username=ПОЛЬЗОВАТЕЛЬ,password=ПАРОЛЬ
credentials=/home/ПОЛЬЗОВАТЕЛЬ/.smbcredentials
Моя команда стала выглядеть так:
sudo mount -t cifs -o credentials=/home/mial/.smbcredentials,uid=1000,iocharset=utf8 //HACKWARE-MIAL/ShareRestricted /mnt/share
Подключение Ubuntu 18. 04 к
локальной сети Windows
Уже несколько лет, с тех пор как в Ubuntu
используется файловый менеджер Наутилус 3 версии (сейчас он
называется «Файлы»), существует косяк в браузере локальной сети Наутилуса.
Если открыть Наутилус и в нем открыть вкладку «Другие места» и затем «Сеть
Windows», то будет пустая страница:

То есть Наутилус не выполняет автоматическое подключение
в рабочей группе Windows. Удивительно, но этот косяк
переходит из версии в версию и до сих пор не исправлен.
Тем не менее, Наутилус может подключаться к компьютерам
Windows в локальной сети. Для этого нужно вручную, в
адресной строке Наутилуса, вписать имя рабочей группы Windows
или имя компьютера Windows. Для ввода текста, в
адресной строке Наутилуса, нужно нажать клавиши Ctrl + L.
Адрес с именем рабочей группы (smb://workgroup):

После ввода адреса и нажатия Enter,
Наутилус подключится к локальной сети Windows и
выдаст запрос на авторизацию:

Запрос на авторизацию будет в любом случае, даже если на
компьютере Windows настроен вход без пароля. В этом
случае нужно вписать произвольные имя пользователя и пароль (например 1 и
1). Но если на компьютере Windows настроен вход по
паролю, тогда конечно нужно вводить имя и пароль, которые существуют на
компьютере Windows.
Примечание. Если на компьютере Windows
настроен вход без пароля, а в окне авторизации Наутилус вы напишите такое
имя пользователя которое существует на компьютере Windows,
тогда и пароль нужно будет указывать тот, который есть для этого
пользователя. Есть такая особенность в авторизации Windows
через локальную сеть — несмотря на настройку входа без пароля,
Windows не дает сетевой
вход с таким именем пользователя, которое существует на этом компьютере,
если указан неверный пароль.
И после авторизации, Наутилус покажет список компьютеров
в этой рабочей группе.

Вместо адреса рабочей группы, можно сразу написать адрес
компьютера в этой группе (например smb://home):

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

И впоследствии подключаться через закладку в Избранном.
Настройка Samba в Debian
Настройки Samba находятся в файле /etc/samba/smb.conf. Этот файл содержит общие настройки для Samba, а также сведения об общих ресурсах. Обычно в Debian предоставляются неплохие настройки по умолчанию, которые позволяют начать работать немедленно, что в общем не мешает взглянуть на них и внести изменения там, где это необходимо.
1. Базовые настройки
Первое что вам встретится в верхней части группы глобальных настроек — настройка workgroup. Эта опция определяет имя рабочей группы Windows, частью которой станет ваш сервер. Значение по умолчанию — WORKGROUP, так как такое же значение, по умолчанию в задано в Windows. Если вы изменяли настройки рабочей группы в Windows, измените их также и здесь.
workgroup = WORKGROUP

Следующая опция позволит ограничить доступ к вашему серверу. Если вы хотите ограничить доступ к общему ресурсу по ip адресу или маске сети, уберите символ комментария в строке где находится параметр interfaces, и укажите ip адрес или диапазон IP адресов, и интерфейс к которому они могут подключаться.
interfaces = 192.168.1.0/24 eth0
hosts allow = 127.0.0.1/8 192.168.1.0/24
Остальные параметры из группы глобальных настроек имеют довольно обоснованные значения по умолчанию. Вам не потребуется изменять их для того чтобы запустить свои общие ресурсы. Но не стоит ограничиваться только рассмотренными нами опциями, вы можете исследовать и другие параметры, и настраивать их по своему усмотрению. Настройка Samba Debian 10 практически завершена, осталось создать общую папку и пользователя.
2. Создание общего ресурса
В конфигурационном файле, по умолчанию, уже присутствуют несколько настроек для общих ресурсов. Они дают вам возможность настроить совместное использование домашних папок пользователей системы и принтеров. А доступ к каталогу печати уже открыт. Измените значение параметра browseable на no.
Теперь попробуйте создать свой собственный общий ресурс. Существует масса опций, которые вы можете использовать для своего общего ресурса Samba, но в этом руководстве будут рассмотрены лишь наиболее используемые из них.
Во-первых, дайте имя своему общему ресурсу, и поместите это имя в скобки.
Затем задайте путь, эквивалентный абсолютному пути к общей папке.
Выберите, будет ли папка отображаться в файловом менеджере или же ее нужно будет подключать вручную.
browseable = yes
Хотите ли вы, чтобы пользователи имели права на запись в общий ресурс или могли подключить его только для чтения?
read only = no
Смогут ли гости получить доступ к общему ресурсу? В терминах Samba гости — это анонимные пользователи, для которых не существует записи в настройках доступа к общему ресурсу. Если выразиться короче, хотите ли вы защитить общий ресурс паролем, или ограничить доступ к ресурсу только для отдельных пользователей?
guest ok = no
Если гости не будут иметь доступ к общей папке, то у кого он будет?
Ну вот и все. Есть еще и другие опции и другие способы выполнить эти базовые шаги, но они дадут вам в итоге приблизительно тот же результат. Если вы точно знаете что вам нужно, этих опций вам будет достаточно. Если соединить все что мы написали выше — у нас получится что-то вроде этого:

Сохраняем и закрываем файл. Затем перезагружаем Samba.
systemctl restart smbd
3. Создание пользователя
Для подключения к общей папке, если только вы не используете гостевой доступ, вам потребуется настроить учетные записи пользователей Samba. Это очень быстро, и потребует всего одной команды.
smbpasswd -a имя_пользователя
После этого вам будет предложено ввести пароль для этого пользователя. Это пароль, которым будут защищены доступные ему общие ресурсы.
Динамическое присвоение адресов
- Ничего не нужно делать вручную, по умолчанию и в
Ubuntu и в Windows используются именно
эти настройки сетевых интерфейсов. - Упрощается включение в состав сети новых компьютеров — достаточно
лишь соединить такой компьютер с сетевым свитчем.
Недостаток в том, что нужно будет на одном из компьютеров устанавливать
DHCP сервер, либо использовать устройство типа
роутера со встроенным DHCP сервером. При этом сеть
на компьютерах будет недоступна, если этот компьютер или роутер будет
выключен или выйдет из строя.
Книга по SMB и Samba на русском языке. Оглавление
1. SMB: настройка общей сетевой папки в Windows
2. SMB и Samba в Linux: подключение к общей папке Windows, создание сетевых папок в Linux
2.1. Samba — это SMB для Linux
2.2 Как в Linux увидеть все компьютеры Windows с совместными ресурсами
2.3 Как в Linux вывести доступные по сети ресурсы (совместные папки и принтеры Windows)
2.4 Как подключиться к сетевой папке Windows из Linux
2.5 Команды SMB в Linux
2.6 Автоматическое выполнение команд в сетевой папке Windows
2.7 Как смонтировать общую папку Windows/Samba в Linux
2.8 Настройка автоматического монтирования сетевой папки в Linux
2.9 Как создать общую сетевую папку в Samba
3. Аудит безопасности SMB и Samba
Настройка доступа к файлам
Windows
В отдельных статьях этот вопрос раскрывается более подробно:
Примечание. В Windows 7, 8 и
10 настройка доступа к файлам выполняется немного
иначе чем на Windows XP. Для этих версий
Windows есть отдельные статьи, ссылки указаны
выше.
Если нужно, чтобы на компьютере с установленной ОС
Windows были доступны через сеть какие-то файлы или принтер,
необходимо эти файлы или принтер «расшарить» то есть разрешить доступ к ним
других пользователей. Это делается через апплет свойств папки или принтера.
Вот так этот апплет выглядит в Windows
XP:

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

Ubuntu Linux
В отдельной статье этот вопрос раскрывается более подробно —
настройка доступа без пароля на Ubuntu Linux
Общий доступ к папке
Для того, чтобы сделать файлы и папки Ubuntu
доступными через сеть на компьютерах с ОС Windows
нужно установить полный пакет Samba. Потому что по
умолчанию устанавливается только часть этого пакета — SMB
Client, которая позволяет только получать доступ к сетевым ресурсам
на компьютерах с ОС Windows.
Установить этот пакет можно через менеджер пакетов
Синаптик, либо этот пакет будет установлен автоматически при попытке
«расшарить» первую папку на компьютере с ОС Ubuntu
Linux. Но для установки этого пакета потребуется либо установочный
DVD диск Ubuntu
Linux, либо соединение с Интернет.
Для того, чтобы сделать файлы и папки Ubuntu
доступными через сеть нужно в Наутилусе найти нужную папку, затем нажать
правую кнопку мыши и затем открыть апплет «Свойства», а на нем вкладку
«Общий доступ»:

Важно! На эту локальную папку необходимо дать права 777, то есть
полный доступ для всех. Сделать это можно либо через файловый менеджер
(через свойства папки — вкладка Доступ), либо при помощи консольной
программы chmod.
Теперь эта локальная (для Линукс) папка будет доступна по сети.
Дополнительные настройки Самба (Samba)
Samba это программа, которая предоставляет
доступ к файловым ресурсам Linux для компьютеров
Windows. Таким образом что компьютер
Linux в локальной сети выглядит так же как и
компьютер Windows. На Ubuntu
Samba устанавливается и запускается автоматически, если вы включили
общий доступ к какой-либо папке через Наутилус (как это описано выше).
Для того, чтобы обеспечить более удобный доступ к сетевой папке Линукс со
стороны Windows, без запросов паролей и проблем
доступа, нужно еще дополнительно настроить Самбу. Для этого редактируется
файл /etc/samba/smb.conf.
Гостевой полный доступ к сетевой папке на Линукс
- security = user
- map to guest = Bad Password
- read only = no
- guest ok = yes
- directory mask = 0777
- create mask = 0777
Примечание: параметры directory mask и create mask «заставляют»
самбу давать полные права для всех на те файлы, которые будут созданы в этой
папке через сеть. Это необходимо для тог, чтобы обеспечить доступность
файлов и папок для всех пользователей локальной сети.
Такие параметры позволят «спокойно» работать с расшаренными на
Linux файлами через
сеть не мучаясь с авторизацией.
Проблемы с доступом на локальной расшаренной папке
Linux
После всех этих настроек тем не менее возможна проблема с доступом к
некоторым файлам в этой папке через сеть. Такая проблема может возникнуть
если локальный пользователь Линукс, локально откроет эту папку и создаст в
ней новый файл. Этот файл другие пользователи сети не смогут редактировать.
Поскольку права на него будут установлены не такие как все остальные файлы в
папке (не 666).
То же самое произойдет если локальный пользователь Линукс скопирует в эту
папку файлы из другой папки на компьютере Линукс, либо например с внешнего
устройства.
Есть разные способы решения этой проблемы.
Самый технически простой заключается в том, что локальный пользователь
Линукс открывал эту папку тоже через сеть. Дело в том, что графические
файловые менеджеры (Проводники) позволяют через сетевое окружение открывать
не только папки на других компьютерах сети, но и расшаренные папки на своем
собственно компьютере!
Если локальный пользователь Линукс откроет свою расшаренную папку через
сетевое окружение, то все его операции в папке будут «сетевыми», то есть при
создании новых файлов эти файлы получат атрибуты доступа в соответствии с
настройками Самба.
Если название рабочей группы на компьютерах Windows
отличается от «WORKGROUP», тогда нужно
изменить значение параметра workgroup в файле /etc/samba/smb.conf.
Вместо значения «WORKGROUP» там нужно записать то имя группы, которое
используется на компьютерах Windows. По умолчанию для самбы значение
параметра workgroup = WORKGROUP.
Настройка автоматического монтирования сетевой папки в Linux
Автоматически монтируемые файловые системы прописываются в файле /etc/fstab. Откроем этот файл:
sudo gedit /etc/fstab
Теперь в него нужно добавить строку вида:
//ИМЯ-КОМПЬЮТЕРА/Папка /точка/монтирования cifs credentials=/home/mial/.smbcredentials,uid=1000,iocharset=utf8,nofail,_netdev 0 0
Мы добавили опцию nofail, чтобы ОС нормально загружалась даже если не удалось смонтировать данную файловую систему. Ещё добавьте опцию _netdev, эта опция означает, что файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).
Для моего примера это строка:
//HACKWARE-MIAL/ShareRestricted /mnt/share cifs credentials=/home/mial/.smbcredentials,uid=1000,iocharset=utf8,nofail,_netdev 0 0
Сохраним и закроем этот файл. Для проверки выполним:
sudo mount -a
Если сетевая папка успешно смонтировалась, значит можно выполнить проверку перезагрузкой.
//ИМЯ-КОМПЬЮТЕРА/Папка /точка/монтирования cifs username=guest,password=,uid=1000,iocharset=utf8,nofail,_netdev 0 0
Либо можно по-прежнему использовать файл .smbcredentials, как это было показано выше:
//ИМЯ-КОМПЬЮТЕРА/Папка /точка/монтирования cifs credentials=/home/mial/.smbcredentials,uid=1000,iocharset=utf8,nofail,_netdev 0 0
Но в файл ~/.smbcredentials запишите следующее:
username=guest password=
Сопутствующие статьи
- Samba — как расшарить папку
— в этой статье более подробно рассмотрен вопрос настройки Samba. - Настройка LAN между Ubuntu Linux и Windows
— в этой статье, описана настройка сети Ubuntu и Windows с «обоих
сторон». - Установка расширений GNOME Shell
- Описание Gnome Shell
Как подключиться к сетевой папке Windows из Linux
Программа smbclient умеет не только показывать общие ресурсы, но и имеет интерактивный режим, во время которого можно копировать файлы между локальным компьютером и общей папкой, удалять файлы, создавать папки и переходить по каталогам, просматривать содержимое файлов и их свойств и выполнять другие действия в файловой системе совместно используемой сетевой папки.
Кроме интерактивного режима, можно просматривать содержимое сетевых папок и в проводнике Linux — об этом будет рассказано позже, а пока остановимся на подключении в командной строке.
Для входа в интерактивный режим запустите команду вида:
sudo smbclient //ИМЯ-КОМПЬЮТЕРА/Папка -N
sudo smbclient //HACKWARE-MIAL/Share -N
Если вы хотите, чтобы при подключении была изменена текущая рабочая директория в сетевой папке, то есть чтобы была открыта другая папка, то используйте опцию -D. К примеру, я хочу подключиться к папке NewFolder, тогда команда следующая:
sudo smbclient //HACKWARE-MIAL/Share -N -D NewFolder
Подключение к SMB папке, требующий авторизации
sudo smbclient //ИМЯ-КОМПЬЮТЕРА/Папка -U ИМЯ-ПОЛЬЗОВАТЕЛЯ
В моём случае это команда:
sudo smbclient //HACKWARE-MIAL/ShareRestricted -U ShareOverlord

Подключение к серверу Samba
После проверки файла конфигурации на ошибки необходимо запустить сервисы Samba и включить их в автозагрузку при помощи следующих команд:
sudo systemctl start smbd.service
sudo systemctl enable smbd.service
sudo systemctl start nmbd.service
sudo systemctl enable nmbd.service

Где 192.168.189.147 — IP адрес компьютера, на котором запущена Samba:

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

После перехода отобразится содержимое данной директории:



Если при подключении из Windows система «не видит» адрес Samba сервера, то необходимо установить программу Avahi-daemon — систему, обеспечивающую обнаружение сервисов в локальной сети. Более подробное о данной системе можно прочитать в статье Ubuntu не видит сеть в Windows
Как создать общую сетевую папку в Samba
Если в этой статье вы пропустили предыдущие части, так как вам нужно только настроить файловый сервер на Linux, то начните с установки пакета samba.
Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:
sudo touch /etc/samba/smb.conf
Теперь нужно добавить пароль для пользователя Samba. Действует следующее правило: имя пользователя должно быть таким же, как у вашего текущего пользователя, а пароль можно установить иной, отличный от вашего системного пароля.
Для установки пароля Samba, выполните следующую команду:
sudo smbpasswd -a $USER
Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.
Создайте папку, которая станет совместно используемой:
mkdir ~/linuxshare
realpath ~/linuxshare
У меня это:
/home/mial/linuxshare
Откройте для редактирования файл /etc/samba/smb.conf:
sudo gedit /etc/samba/smb.conf
Добавьте туда строки вида:
[ИМЯ_ПАПКИ] comment = Samba на Linux path = /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/ИМЯ_ПАПКИ valid users = ИМЯ_ПОЛЬЗОВАТЕЛЯ read only = no browsable = yes
Обратите внимание, что все пробелы в строках выше являются обязательными.
Для моих данных это строки:
[linuxshare] comment = Samba на Linux path = /home/mial/linuxshare valid users = mial read only = no browsable = yes
Теперь запустим службу SMB:
sudo systemctl start smb.service
Для добавления службы в автозагрузку выполните:
sudo systemctl enable smb.service
На самом деле, мы настроили не полноценную Samba, а только файловый сервер SMB. Одно из следствий этого — показанные выше способы обнаружения сетевых папок, такие как команда smbtree в Linux или переход во вкладку «Сеть» в проводнике Windows, не обнаружат нашу шару.
Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux вместо имени компьютера, как это мы делали раньше. Кстати, поэтому нужно настроить статичный IP (смотрите статью «Как настроить Linux на использование статичного IP адреса»).
Создадим файл, чтобы сетевая папка не была пустой:
echo "Документ на Linux" > ~/linuxshare/document.txt
Посмотрите локальный IP адрес компьютера, на котором запущена Linux:
ip a
\\192.168.0.89\linuxshare
Вводим учётные данные (которые мы установили командой smbpasswd):

Видим содержимое совместно используемой папки, размещённой на Linux с помощью SMB:

Для подключения к сетевой папке из консоли Linux, запустите команду вида:
sudo smbclient //IP_АДРЕС/Папка -U ПОЛЬЗОВАТЕЛЬ
Для моего примера это:
sudo smbclient //192.168.0.89/linuxshare -U mial
После ввода пароля нам становится доступным содержимое сетевой папки.

Эту папку можно смонтировать как это было показано в предыдущем разделе, либо подключать в Windows как сетевой диск, как это было показано в первой части.
Установка Samba
Это первый шаг. В некоторых дистрибутивах установку
Samba можно указать в параметрах установщика, как например
Alt Linux или Rosa Linux.
Но в большинстве дистрибутивов Samba
устанавливается отдельно, при необходимости. Например в
Ubuntu установка Samba выполняется
автоматически, если вы открываете общий доступ к папке через файловый
менеджер Наутилус.
В общем случае установка Samba очень проста —
обычно установочный пакет так и называется — samba.
В каждом дистрибутиве Linux есть программа для
управления программными пакетами. Которая показывает установленные пакеты и
позволяет устанавливать новые пакеты. Например в дистрибутиве
Ubuntu это три графические программы — Gdebi, Synaptic и
Software-center. И две консольные — apt и dpkg.
Подробнее об установке программ на
Линукс.
Итак, шаг первый — проверить установлен ли сервер
Samba и если нет тогда установить его.
Как подключиться к Samba
Есть несколько пакетов, которые вам понадобятся для того чтобы подключиться к общему ресурсу Samba. Установите их при помощи следующей команды.
sudo apt install samba-client cifs-utils
Теперь вы можете открыть файловый менеджер и перейти в раздел Сеть. Там вы увидите свой сервер, а также — общий ресурс, который вы только что настроили.


Другие статьи про Ubuntu 18
Если вы живете в г. Краснодар и вам необходимо настроить локальную сеть в Linux
Поделитесь этим сайтом с друзьями!
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Или другими способами (с карты, с телефона)
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Подготовка Windows
Для того чтобы все работало правильно, все машины должны состоять в одной рабочей группе, указанной на сервере Samba. По умолчанию для Windows, Linux и MacOS рабочая группа называется Workgroup. Чтобы узнать какая рабочая группа используется в вашей Windows откройте командную строку (Win+R, затем cmd) и выполните вот такую команду:
net config workstation


Нужный нам параметр мы видим в строке Домен рабочей станции. Это и есть рабочая группа.
Теперь, если у компьютера с Samba сервером в вашей сети будет постоянный IP адрес желательно ввести его в файле hosts. Для этого запустите командную строку от имени администратора:

И выполните команду:
В открывшимся файле добавьте строчку с IP адресом компьютера, на который будет установлен Samba:
192.168.0.1 srvr1.domain.com srvr1
Теперь можно переходить к вопросу как расшарить папку Ubuntu.
Начнем, как обычно, с установки. Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:
sudo apt-get install -y samba samba-common python-glade2 system-config-samba

Когда все будет установлено, можно переходить к настройке. Сначала создайте резервную копию оригинального файла конфигурации Samba:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
После создания резервной копии, создайте свой файл конфигурации, этой командой:
sudo vi /etc/samba/smb.conf
Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:
Рассмотрим подробнее что значат эти строки.
- workgroup — рабочая группа, как уже говорилось должна одинакова на всех машинах
- netbios name — имя компьютера, которое будет отображаться в Windows;
- log file — адрес файла, куда будут складываться сообщения об ошибках и другая информация;
- security — по умолчанию выполнять аутентификацию на уровне пользователя;
- name resolve order — очередность разрешения IP адресов по NetBIOS имени. bcast — означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный;
- passdb backend — способ хранения паролей пользователей;
- unix password sync — синхронизация паролей пользователей samba с локальными паролями Unix;
- map to guest — указывает, когда пользователю будет предоставляться гостевой доступ. Доступно три значения — never — никогда, bad user — когда такого пользователя не существует, bad password — когда пароль введен неверно,
Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку Ubuntu для Windows.
Ошибки smbtree
Из-за разнообразия версий протокола SMB и возможных настроек, запуск программы smbtree довольно часто завершается ошибками. Здесь собраны ошибки smbtree и возможные пути решения проблем.
smbc_opendir: No such file or directory
smbtree -N
завершает работу с ошибкой
smbc_opendir: No such file or directory
Одна из причин данной ошибки: в локальной сети отсутствуют компьютеры с совместными ресурсами.
Если компьютеры с совместными ресурсами присутствуют в сети, но вы всё равно получаете эту ошибку, то попробуйте активировать на них SMB 1.
Segmentation fault
smbtree -N
приводит к ошибке
=============================================================== INTERNAL ERROR: Signal 11: Segmentation fault in pid 20313 (4.15.3) If you are running a recent Samba version, and if you think this problem is not yet fixed in the latest versions, please consider reporting this bug, see https://wiki.samba.org/index.php/Bug_Reporting =============================================================== PANIC (pid 20313): Signal 11: Segmentation fault in 4.15.3 BACKTRACE: 13 stack frames: #0 /usr/lib/libsamba-util.so.0(log_stack_trace+0x31) [0x7f7e7d8ef8c1] #1 /usr/lib/libsamba-util.so.0(smb_panic+0xa) [0x7f7e7d8efb2a] #2 /usr/lib/libsamba-util.so.0(+0xdbc5) [0x7f7e7d8efbc5] #3 /usr/lib/libc.so.6(+0x3cda0) [0x7f7e7d711da0] #4 /usr/lib/libbsd.so.0(strlcpy+0x10) [0x7f7e7d8bdf60] #5 /usr/lib/libsmbclient.so.0(+0x13886) [0x7f7e7db03886] #6 /usr/lib/libsmbclient.so.0(+0x13e21) [0x7f7e7db03e21] #7 /usr/lib/libsmbclient.so.0(+0x13f46) [0x7f7e7db03f46] #8 /usr/lib/libsmbclient.so.0(+0x14ab0) [0x7f7e7db04ab0] #9 /usr/lib/libsmbclient.so.0(+0xc08d) [0x7f7e7dafc08d] #10 smbtree(main+0x27f) [0x55876ec6f29f] #11 /usr/lib/libc.so.6(__libc_start_main+0xd5) [0x7f7e7d6fcb25] #12 smbtree(_start+0x2e) [0x55876ec6f73e] Can not dump core: corepath not set up
Точная причина не ясна, возможно это ошибка конкретной версии smbtree, попробуйте обновить эту программу.
Попробуйте запуск с другими опциями.
smbtree ничего не выводит и «подвисает»
Если smbtree не выводит явных ошибок, то для того, чтобы разобраться, на каком именно этапе стопорится работа программы, добавьте к вашей команде опцию -d и укажите число от 0 (выводить только критические ошибки) до 10 (выводить все сообщения).
Настройка доступа в Samba без пароля
Шаг второй. После установки сервера Samba
необходимо его настроить. В самом простейшем случае нужно настроить две
вещи:
- Указать папку, которая будет доступна по сети.
- Указать способ доступа к компьютеру через сеть (способ
аутентификации для входа на компьютер через сеть).
Настроить сервер Samba можно
через GUI интерфейс или через непосредственное редактирование файла
конфигурации Samba.
Настройка Samba через GUI
интерфейс
Чаще всего для этого используется программа system-config-samba.
Она есть во всех популярных дистрибутивах Linux.
Но не во всех дистрибутивах она устанавливается автоматически (из коробки).
Так что нужно проверять ее наличие и устанавливать, если ее нет. Эта
программа позволяет не только указать общую папку, но и добавлять
Samba-пользователей и управлять некоторыми
параметрами сервера Samba.





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

Настройка Samba через файл конфигурации
Файл конфигурации Samba обычно находится в
папке /etc/samba и называется
smb.conf (полный путь к файлу /etc/samba/smb.conf).
Через этот файл можно полностью управлять настройками сервера
Samba. Однако редактировать этот файл нужно осторожно.
Samba — настройка доступа без пароля
На самом деле протокол SMB не дает анонимного
доступа к файлам и папкам. Он предоставляет два способа авторизации:
- Авторизация при сетевом входе на компьютер.
- Авторизация при доступе к разделяемому ресурсу (папке, файлу).
Тем не менее, комбинируя параметры Samba и
параметры файловой системы можно получить псевдо анонимный доступ — то есть
использование сетевых ресурсов без учетной записи пользователя и без пароля.
- security = user
- map to guest = bad user (или bad
password)
Параметр map to guest указывает Самбе, что всех кто не смог
авторизоваться нужно тем не менее впускать в систему, но с правами гостя.
Далее в секции, которая описывает общую папку Linux,
нужно указать четыре параметра:
- [lan]
- path = /home/user/lan
- guest ok = yes
- read only = no
- create mask = 0777
- directory mask = 0777
Это пример такой секции в файле smb.conf.
Заголовок секции определяет имя папки которое будет видно в сети. Параметр
path определяет саму папку в файловой системе Linux.
А параметры guest ok и read only разрешают запись
в папку и гостевой доступ к папке. И последние параметры, create mask и
directory mask, указывают, что все файлы и папки, которые будут там созданы
через сеть (сетевыми пользователями) должны получить атрибуты полного
доступа в файловой системе Linux.
Последние два параметра очень важны, чтобы у всех сетевых пользователей
была возможность изменять файлы в этой сетевой папке
Linux. Если не указать параметры create mask и directory mask, тогда
новые файлы будут доступны только тем кто войдет в эту папку гостем. А
например уже локальный пользователь Linux не
сможет их изменять.
Вот минимальная конфигурация Samba для
анонимного доступа к файлам Linux.
Как в Linux увидеть все компьютеры Windows с совместными ресурсами
Для показа всех совместных сетевых ресурсов Windows выполните команду:
smbtree -N
В этой и последующих командах используется флаг -N, который означает не использовать пароль. Если же вы используете пароль, то укажите опцию -U с именем пользователя, пароль нужно будет ввести интерактивно.
WORKGROUP \\VYACHESLAV \\VYACHESLAV\Users \\VYACHESLAV\IPC$ Удаленный IPC \\VYACHESLAV\1 Для Принтера \\RT-N66U RT-N66U \\RT-N66U\IPC$ IPC Service (RT-N66U) \\HACKWARE-SERVER \\HACKWARE-MIAL

В начале идёт имя рабочей группы WORKGROUP. Затем следует список компьютеров. Для тех из них, для которых удаётся получить список сетевых папок, они выводятся.
Как можно увидеть выше, для компьютера \\VYACHESLAV получен список совместно используемых ресурсов, а для компьютера \\HACKWARE-MIAL — нет. При этом если я включал на компьютере \\HACKWARE-MIAL поддержку протокола SMB 1, а при запуске команды указывал хоть какое-то имя пользователя, например:
smbtree -U qqwee -N
либо просто запускал smbtree с правами администратора:
sudo smbtree -N
то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL. UDP: видимо, такое поведение в том, что совпадали имена польозвателей на компьютерах с Linux и Windows.
Автоматическое выполнение команд в сетевой папке Windows
Необязательно каждый раз вводить все команды вручную — вы можете перечислить их через запятую и указать в двойных кавычках с опцией -c, например:
sudo smbclient //HACKWARE-MIAL/Share -N -c "cd NewFolder; tar c captures.tar *.cap"
Резюме
Еще раз напоминаю, что это простейшая конфигурация для полностью
доверенной локальной сети. В которой не нужны никакие ограничения по доступу
к файлам.
Но в том случае, когда доступ нужно разграничивать, настройка будет
похожа. Нужно лишь добавлять пользователей в Samba,
установить нужные разрешения в файловой системе Linux.
Быть может даже создать специальную локальную группу пользователей
Linux, в которую продублировать всех пользователей
Самбы.
Статическое присвоение адресов
- Сеть будет работать в любом из своих сегментов. То есть если из
четырех сетевых компьютеров включены лишь два, то сеть между ними будет
работать. - Не нужно роутера или DHCP сервера на
каком-либо из компьютеров.
Недостаток в том, что нужно будет помнить какие адреса уже используются в
сети, чтобы при включении нового компьютера не дать ему уже используемый
адрес. Впрочем в небольшой сети не трудно посмотреть адрес на каждом
компьютере.
Samba — это SMB для Linux
SMB — это протокол, технология, которая позволяет создать файловые сервер. В первой части я говорил, что в Linux функции сервера и клиента SMB выполняет Samba. Это не совсем так, на самом деле, в настоящее время Samba не только реализует возможности SMB, но и дублирует функционал сервера Доменов Active Directory (технология Windows, позволяющая управлять множеством компьютеров — кстати, про Active Directory скоро будет большой материал на HackWare.ru).
Далее мы будем говорить про Samba, но мы затронем только вопросы SMB.
Начните с установки пакетов samba и smbclient.
В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:
sudo apt install samba smbclient
В Arch Linux, BlackArch и их производных выполните команду:
sudo pacman -S samba smbclient
Команды SMB в Linux
Доступны следующие интерактивные команды:
Выводит все доступные команды:
help
Для показа справки по определённой команде, выполните
help КОМАНДА
Переход в другой каталог (смена текущей рабочей директории) на удалённой системе:
cd ПАПКА
Переход в другую директорию на локальной системе:
lcd
Удаление файла в шаре:
del ИМЯ_ФАЙЛА
Имеется псевдоним этой команды:
rm ИМЯ_ФАЙЛА
И ещё одна команда со схожей функцией:
deltree ШАБЛОН_ИМЕНИ
Эта команда рекурсивно удалить все совпавшие с шаблоном имени файлы и директории.
Показ файлов и папок в текущей папке:
dir

Имеется псевдоним этой команды:
ls
И ещё один, даже более короткий псевдоним:
l
Скачать файлы с общей папки:
get <ИМЯ_УДАЛЁННОГО_ФАЙЛА> [ЛОКАЛЬНОЕ_ИМЯ]
Для повторного скачивания файла:
reget <ИМЯ_УДАЛЁННОГО_ФАЙЛА> [ЛОКАЛЬНОЕ_ИМЯ]
Для скачивания всех файлов, чьём имя совпадает с шаблоном:
mget ШАБЛОН_ИМЕНИ
mget "*.exe"
Get file ChromeSetup.exe? y
Также имеется команда newer, которая скачивает файлы (mget), которые новее, чем указанный локальный файл. Используется она так:
newer ФАЙЛ
Выгрузка файла на общую папку:
put <ЛОКАЛЬНОЕ_ИМЯ> [ИМЯ_УДАЛЁННОГО_ФАЙЛА]
Следующая команда скопирует локальный файл в шару:
print ИМЯ_ФАЙЛА
Повторная закачка файла:
reput <ЛОКАЛЬНОЕ_ИМЯ> [ИМЯ_УДАЛЁННОГО_ФАЙЛА]
Для закачки всех файлов, чьём имя совпадает с шаблоном:
mput ШАБЛОН_ИМЕНИ
К примеру, чтобы закачать в шару все файлы (из локальной текущей рабочей директории), которые имеют расширение *.cap, нужно запустить команду:
mput "*.cap"
Для каждого файла, совпавшего с шаблоном, будет выполнен запрос подтверждения, если вы действительно хотите его закачать, то нажмите клавишу «y»:
Put file wpa.cap? y putting file wpa.cap as \wpa.cap (335,2 kb/s) (average 277,8 kb/s) Put file wep.cap? y putting file wep.cap as \wep.cap (0,6 kb/s) (average 169,1 kb/s)

Включение и отключение рекурсии
recurse
Можно включать и отключать рекурсивный режим для mget и mput.
Показ всей возможной информации о файле:
allinfo ФАЙЛ
allinfo all-databases.sql altname: ALL-DA~1.SQL create_time: Чт авг 29 12:29:51 2019 MSK access_time: Вс янв 5 23:31:47 2020 MSK write_time: Ср авг 1 09:51:25 2018 MSK change_time: Вс янв 5 19:48:36 2020 MSK attributes: A (20) stream: [::$DATA], 381945262 bytes

В выводимой информации можно увидеть альтернативное (DOS) имя, временные метки (дата создания, доступа, записи и изменения файла), атрибуты.
Копирование файла на сервере:
scopy <ИСХОДНЫЙ_ФАЙЛ> <НОВЫЙ_ФАЙЛ>
Создание директории:
md ДИРЕКТОРИЯ
mkdir ДИРЕКТОРИЯ
Удаление директории:
rd ДИРЕКТОРИЯ
rmdir ДИРЕКТОРИЯ
Удаление файлов
Следующая команда удалит все совпавшие с МАСКОЙ файлы:
rm МАСКА
Псевдоним команды для удаления файлов:
del МАСКА
С помощью команды wdel можно удалить все совпавшие файлы по подстановочным символам:
wdel АТРИБУТЫ МАСКА
Переименование файлов:
rename ИСХОДНОЕ_ИМЯ НОВОЕ_ИМЯ
Ссылки
Создание жёсткой ссылки Windows:
hardlink ИСТОЧНИК НАЗНАЧЕНИЕ
Создание жёсткой ссылки UNIX:
link СТАРОЕ_ИМЯ НОВОЕ_ИМЯ
Создание символьной ссылки UNIX:
symlink СТАРОЕ_ИМЯ НОВОЕ_ИМЯ
Выход с сервера:
q
quit
exit
Вывод истории команд текущей сессии:
history
Просмотр содержимого текстового файла:
more УДАЛЁННЫЙ_ФАЙЛ
Показ текущей рабочей директории:
pwd
Current directory is \\HACKWARE-MIAL\Share\
Другой вариант показа текущей рабочей директории — это команда cd без аргументов:
cd
Current directory is \
Создание и извлечение архивов tar
tar c АРХИВ.tar ФАЙЛ1 ФАЙЛ2 ФАЙЛ3
tar c all.tar all-databases.sql besside.log ChromeSetup.exe
Если нужно разархивировать файл на локальной системе и всё его содержимое отправить на удалённую общую папку, то запустите команду вида:
tar x АРХИВ.tar
К примеру, я хочу отправить содержимое архива all.tar в общую папку:
tar x all.tar
Для установления режимов tar используется команда
tarmode <full|inc|reset|noreset>
Установка таймаута операций:
timeout <ЧИСЛО>
Таймаут устанавливается в секундах и по умолчанию равен 20.
Установка нового соединения:
logon <ИМЯ_ПОЛЬЗОВАТЕЛЯ> [<ПАРОЛЬ>]
Закрытие сессии, выход:
logoff
Вывод списка открытых подключений:
listconnect
Отображение текущего активного подкючения:
showconnect
Изменение удалённой директории (переход на одну папку выше):
Выполнение команд в локальной системе:
!КОМАНДА
Чтобы команда выполнялась не на удалённой системе, а на локальной, поставьте перед ней ! (восклицательный знак), например^
!ls -l
Доступ к сетевым принтерам
Windows
Если принтер подключен к компьютеру с ОС Windows,
нужно разрешить сетевой доступ к нему. Это делается точно так же как и в
случае с файлами, через апплет «Свойства».
Ubuntu Linux
Для того, чтобы получить доступ к сетевому принтеру
Windows, нужно воспользоваться апплетом «Печать», который доступен
через меню «Система — Администрирование». В этом апплете нужно добавить
новый принтер и затем выбрать поиск сетевого принтера
Windows:

Поиск такого принтера выполняется нажатием кнопки «Browse».
Раздача Интернет между Ubuntu Linux и MS Windows
Общий доступ к принтеру в Ubuntu Linux
Поделитесь этим сайтом с друзьями!
Иван Сухов, 2011, 2015,
2017 г.
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Или другими способами (с карты, с телефона)
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Настройка Samba в Debian 11
Перед правкой конфигурационного файла Samba — smb.conf необходимо сделать его резервную копию чтобы в случае проблем можно было использовать конфигурационный файл по умолчанию. Для этого необходимо выполнить команду:
Вместо .backup можно написать любое другое слово. Главное, чтобы вам было понятно, что данный файл будет использоваться при восстановлении. Чтобы использовать оригинальный файл для «отката» при выявлении проблем необходимо вернуть ему оригинальное имя — smb.conf а второй файл удалить.
Настройка общих параметров



Символ ; — точки с запятой установленный перед параметром означает что он закомментирован и не используется. Для использования необходимо удалить символ. Разберем основные параметры.
workgroup = WORKGROUP
Определяет рабочую группу, в которой сервер будет отображаться при запросе клиентов. Группа по умолчанию – WORKGROUP (для Windows), можно изменить её на другое имя при условии, что данная группа уже присутствует на необходимом компьютере.
interfaces = 127.0.0.0/8 eth0
Задаёт IP адрес и имя интерфейса, на котором будет работать Samba.
bind interfaces only = yes
Позволяет ограничивать интерфейсы на машине, обслуживающие запросы Samba. Работает вместе с параметром interfaces. Если выставлен yes то Samba будет принимать трафик только с интерфейса заданного в параметре interfaces.
log file = /var/log/samba/log.%m
Задаёт путь до лог файла, в который будут записываться все события Samba.
max log size = 1000
Задаёт максимальный размер лог файла в мегабайтах, указанного в параметре log file.
Опция предназначена для разработчиков. Позволяет запустить системную команду, когда Samba завершается с ошибками. Используется, в основном для того, чтобы привлечь внимание к возникшей проблеме.
server role = standalone server
Этот параметр определяет основной режим работы сервера Samba. По умолчанию выставлен как автономный сервер (т.е. сервер не относящийся к какому-либо контроллеру домена и не входящему в какой-либо домен).
obey pam restrictions = yes
Если Samba была сконфигурирована с поддержкой PAM данный параметр сообщает о том следует ли Samba использовать учетные записи модуля PAM. Поведение по умолчанию подразумевает использование PAM только для нешифрованной аутентификации и игнорирует директивы учетных записей и управление сессиями.
unix password sync = yes
Параметр позволяющий использовать встроенную утилиту smbpasswd. Если опция включена (yes), то Samba будет изменять пароли с помощью smbpasswd.
Настройка общей шары
Для предоставления доступа к общим ресурсам в Samba есть 2 способа разграничения прав доступа — предоставление анонимного доступа (доступа не требующего прохождения аутентификации, т.е. всем пользователям) и предоставление доступа только конкретным пользователям. Рассмотрим оба способа.
Для начала необходимо создать директорию, к которой необходимо предоставить доступ:
sudo mkdir -p /anonymous/files

Далее необходимо задать права и владельца на ранее созданную директорию для предоставления доступа. Сначала задаём права при помощи команды:
sudo chmod -R 0755 /anonymous/files

Потом задаём владельца и группу при помощи команды:
sudo chown -R nobody:nogroup /anonymous/files

После этого в файле конфигурации smb.conf необходимо вписать или привести к следующему виду блоки:
sudo nano /etc/samba/smb.conf

Сохраните изменения и закройте файл. Далее необходимо проверить конфигурационный файл на наличие ошибок при помощи команды:

Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок.
Настройка защищённой шары
Чтобы предоставить доступа к файлам и папкам определенным пользователям необходимо также создать директорию:
sudo mkdir -p /files/samba/security

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


Далее необходимо задать права и владельца на ранее созданную директорию при помощи команд:

Теперь необходимо добавить ранее созданного пользователя в базу данных Samba и задать ему пароль при помощи встроенной утилиты Samba под названием smbpasswd:
sudo smbpasswd -a sec1

Далее необходимо добавить следующие строки в конфигурационный файл smb.conf:
sudo nano /etc/samba/smb.conf

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

Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок. Для выхода из режима теста нажмите на клавишу Enter. Теперь настройка samba debian 11 завершена.
Настройка доступа без пароля для других ОС
Настройка сетевого доступа без пароля на Windows
10
Ubuntu 18.04 и сеть c
Windows
Настройка сетевого доступа без пароля на Windows 8
Общий доступ без пароля на Windows 7
Если вы живете в г. Краснодар и вам необходимо настроить локальную сеть в Linux
Иван Сухов, 2015, 2018 г.
Поделитесь этим сайтом с друзьями!
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Или другими способами (с карты, с телефона)
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.

