- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Курс по сетям
- 15 примеров команды PING для диагностики сети
- Руководство по команде grep в Linux
- Рекурсивно найти слово в файлах и папках Linux
- Полезные команды для управления Apache в Linux
- vtop — Инструмент мониторинга процессов и активности памяти Linux
- Как найти и читать логи в Linux
- Команда SCP Linux: безопасное копирование и передача файлов
- Как расшарить папку в CentOS с помощью Samba
- Установка
- Конфигурация
- Доступ к сетевым папкам из CentOS в Windows и обратно.
- Создание общей папки в CentOS
- Делаем папку общей в CentOS
- Шаг 1: Установка и запуск Samba
- Шаг 2: Создание разрешений для Firewall
- Шаг 3: Запуск конфига Samba и изучение параметров
- Шаг 4: Создание общедоступной папки
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
Курс по сетям
15 примеров команды PING для диагностики сети
Руководство по команде grep в Linux
Рекурсивно найти слово в файлах и папках Linux
Полезные команды для управления Apache в Linux
vtop — Инструмент мониторинга процессов и активности памяти Linux
Как найти и читать логи в Linux
Команда SCP Linux: безопасное копирование и передача файлов
Еженедельный дайджест
Как расшарить папку в CentOS с помощью Samba
Общий доступ к папке в Linux
3 минуты чтения
Привет! В сегодняшней статье я опишу как «расшарить» папку на CentOS сервере – то есть предоставить ей общий доступ без указания пароля. Сделать это возможно с помощью установки сервера Samba и нескольких дополнительных манипуляций.
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
Доступ будет производиться по протоколу SMB/CIFS (Server Message Block/Common Internet File System
Установка
Перед установкой необходимо понять, в каком статусе у вас находится SELinux – для этого нужно выполнить команду selinuxenables && echo enabled || echo disabled . В случае если результат такой же, как на скриншоте ниже – можете смело приступать непосредственно к самому процессу установки (ниже):
В противном случае, вам необходимо будет его отключить – для этого откройте конфигурационный файл по пути /etc/selinux/config любым текстовым редактором – например, Vi — vi /etc/selinux/config и поставьте значение SELINUX в положение disabled и выполните перезагрузку системы командой reboot
SELinux – дополнение к стандартной системе контроля доступа Linux, но его настройка довольна трудоёмка и оно включено по умолчанию. Без каких-либо манипуляций SELinux часто может блокировать изменения, вызываемые при запуске различных служб или программ.
Далее приступаем к установке Samba сервера. Для этого нужно выполнить команду:
Теперь создадим папку – вводим команду mkdir –p /root/SHAREDFOLDER (имя папки и директория, соответственно, могут быть произвольными).
Далее устанавливаем на неё права:
Конфигурация
Открываем текстовым редактором основный файл конфигурации Samba – воспользуемся Vi: vi /etc/samba/smb.conf .
В данном файле необходимо проверить чтобы в секции global присутствовали следующие строки:
Затем закомментируйте (проставьте точку с запятой) перед аргументами в разделах [homes] (доступ к гостевым директориям) и в [printers] (доступ к принтерам).
Теперь добавьте конфиг для вашей созданной папке, выглядеть это должно следующим образом:
Наконец, сохраним файл конфигурации и настроим автозапуск службы samba – для этого необходимо выполнить следующую команду:
Помните – Samba использует порты 137, 138, 139 и 445. Эта информация вам может понадобится при пробросе портов и настройке iptables.
Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.
Доступ к сетевым папкам из CentOS в Windows и обратно.
Краткая записка которая объединяет две предыдущие записки.
Чтобы CentOS видела папку которая находится на машине Windows XP, тебе надо крутить CIFS.
Обязательно ставим пакеты Samba:
yum install samba samba-client samba-common cifs-utils -y
Ручное подключение Windows папки выглядит так:
Создаем точку монтрования, в этом каталоге будет содержимое папки Windows XP
mount.cifs //192.168.1.3/backups /mnt/backup_dir -o user=User -o password=MyPass
Где:
//192.168.1.3/backups — сетевой путь до папки на Windows XP
/mnt/backup_dir — точка монтирования
-o user=User — Логин доступа к Windows папки
-o password=MyPass — пароль доступа к Windows папки
192.168.1.3 — IP адрес машины Windows XP
После перезагрузки доступ к сетевой папке Windows XP пропадет, чтобы этого не было нужно автоматически монтировать каталог во время загрузки CentOS. Поэтому надо делать автоматическое (подключение) монтирование во время загрузки.
Разумеется папку //192.168.1.3/backups — надо создать на Windows машине и дать сетевой доступ к ней.
Автоматическое подключение Windows папки на CentOS
Редактируем файл /etc/fstab
Добавляем туда строчку:
Где:
//192.168.1.3/backups — сетевой путь до папки на Windows XP
/mnt/backup_dir — точка монтирования
-o user=User — Логин доступа к Windows папки
-o password=MyPass — пароль доступа к Windows папки
192.168.1.3 — IP адрес машины Windows XP
Чтобы Windows машина видела папку которая лежит на CentOS, тебе надо крутить Samba.
Допустим мы хотим сделать доступным каталог /home/share. Для этого делаем следующее:
Создаем папку /home/share на CentOS:
Выставляем права на папку:
Открываем и редактируем файл /etc/samba/smb.conf
Перезапускаем и ставим в автозагрузку демон Samba:
Еще можно nmb демон запустить, чтобы имя хоста CentOS появилось в сетевом окружении Windows XP, и чтобы обращение шло через netbios имя.
Создание общей папки в CentOS
По умолчанию доступ к папкам в операционной системе CentOS ограничен, поэтому в случае надобности получения общей сетевой директории необходимо изменить определенные параметры. В выполнении данной процедуры нет ничего сложного, однако потребуется установить дополнительный инструмент и произвести изменения в конфигурационном файле. Мы предлагаем пошагово разобраться с осуществлением поставленной задачи.
Делаем папку общей в CentOS
Сразу отметим, что примененные сегодня изменения будут распространяться на все компьютеры локальной сети вне зависимости от установленной там ОС. То есть доступ к каталогу сможет получить пользователь ПК под управлением Windows или, например, macOS. Вся настройка происходит на том устройстве, где и находится та самая директория. Давайте начнем с первого шага.
Шаг 1: Установка и запуск Samba
Samba — свободное программное обеспечение, функциональность которого сосредоточена на взаимодействии с сетевыми объектами. Именно с помощью этого инструмента и будет выполняться открытие локального доступа для необходимой папки. В CentOS эта утилита не входит в стандартный пакет, поэтому ее придется добавить самостоятельно, а делается это так:
- Откройте стандартную консоль, например, через иконку в меню приложений.
Введите там команду sudo yum install samba samba-common и нажмите на клавишу Enter.
Приставка sudo означает, что действие будет выполняться от имени суперпользователя, поэтому придется подтвердить подлинность учетной записи путем указания пароля.
Для постоянной работы сервиса необходимо, чтобы он запускался вместе с CentOS. Добавьте его в автозагрузку с помощью sudo chkconfig —level 345 smb on .
После этого запустите службу Samba командой service smb start и переходите к следующему шагу.
Шаг 2: Создание разрешений для Firewall
Встроенный в операционную систему фаервол еще не знает о том, что новому сервису можно доверять. Пользователю вручную нужно указать это, внеся изменения в правила. Разрешение активируется пробросом портов, на которых работает Samba. От вас требуется лишь активировать постоянные права суперпользователя через su — и поочередно вписать такие команды:
iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 —dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 —dport 138 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.1.0/24 —dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.0.0/24 —dport 445 -j ACCEPT
В этом случае был использован стандартный инструмент управления межсетевым экраном iptables. При необходимости проведения дополнительной конфигурации брандмауэра мы советуем ознакомиться с руководством, представленным в отдельной нашей статье по следующей ссылке.
Шаг 3: Запуск конфига Samba и изучение параметров
Предоставление общего доступа к папке осуществляется посредством изменения конфигурационного файла Samba. В нем используется определенный синтаксис, свои параметры и значения. Если вы желаете и дальше работать с этим инструментом, рекомендуется знать хотя бы основные понятия. Однако для начала давайте разберемся с запуском этого файла настроек.
- Мы советуем использовать удобный консольный текстовый редактор nano. По умолчанию он отсутствует в CentOS, поэтому инсталлируйте его, введя команду sudo yum install nano .
Подтвердите действие, указав пароль от учетной записи суперпользователя.
Запустите конфигурационный файл, выполнив sudo nano /etc/samba/smb.conf .
Теперь на экране отображается все содержимое файла.
Как видите, в конфигурации уже заданы определенные правила как глобальные, так и отдельные. Ознакомимся с основными правилами и их значениями:
- workgroup — имя рабочей группы, в которую входит сервер;
- server string — краткое произвольное описание сервера;
- interfaces — сетевые интерфейсы, доступные для подключения к секции;
- hosts allow — хосты, которые могут получить доступ;
- hosts deny — запрещенные хосты;
- log file — файл, куда будут сохраняться все уведомления, коды ошибок к другие действия;
- max log size — максимальный размер указанного выше файла (после преодоления максимума создается новый файл);
- security — способ проверки подлинности пользователей;
- guest account — ассоциация для гостевой учетной записи.
Ниже вы видите пример оформления секции.
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
map to guest = bad user
Шаг 4: Создание общедоступной папки
Теперь вы знаете об основных параметрах Samba и о том, как примерно выглядит секция — набор правил для определенной папки. Осталось только сделать такую группу. Если необходимый каталог еще не существует, создайте его с помощью команды mkdir /home/user/ashare , где /home/user/ashare — путь к директории и ее название.
- Запустите текстовый редактор nano, как это было показано в предыдущем шаге.
- Внесите изменения, например:
[Folder]
path = /tmp
public = yes
writable = yes
printable = no
write list = +staff
Здесь Folder — название секции, path = /tmp — путь к папке, а все остальные параметры открывают полный доступ для всех участников локальной сети. Юзеры смогут не только просматривать содержимое, но и всячески редактировать его. После внесения изменений нажмите на Ctrl + O, чтобы сохранить их.
Не меняйте имя файла для записи, а просто нажмите Enter.
Выйдите из текстового редактора через Ctrl + X.
Обновите конфигурацию, активировав service smb reload .
Проверьте работоспособность всех секций testparm -s /etc/samba/smb.conf .
Если возникли какие-либо ошибки, потребуется перезагрузить сервис: service smb restart .
Отдельно бы хотелось отметить, что права доступа для пользователей одного устройства настраиваются другими методами. Утилита Samba не предназначена для выполнения этих операций. Если же вы интересуетесь темой настройки привилегий на одной локальной машине, читайте руководство по этой теме в материале далее.
Удаленный каталог в CentOS пропадет из сетевой папки, но учтите, что заданные параметры в конфигурационном файле останутся. Поэтому при очистке папок нужно редактировать и настройки используемой сегодня утилиты, убрав все лишние секции.
Теперь вы владеете информацией о том, как можно без каких-либо трудностей расшарить папку в CentOS. По завершении этой процедуры каталог появится на всех локальных устройствах. Например, путь на Windows будет иметь вид: \\linuxServer\Folder , где linuxServer — название родительской машины, а Folder — та самая папка.