Как расшарить папку в CentOS с помощью Samba
Привет! В сегодняшней статье я опишу как «расшарить» папку на CentOS сервере – то есть предоставить ей общий доступ без указания пароля. Сделать это возможно с помощью установки сервера Samba и нескольких дополнительных манипуляций.
Доступ будет производиться по протоколу 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 сервера. Для этого нужно выполнить команду:
yum install samba samba-common cups-libs samba-client
Теперь создадим папку – вводим команду mkdir –p /root/SHAREDFOLDER (имя папки и директория, соответственно, могут быть произвольными).
Далее устанавливаем на неё права:
chown –R root:users /root/SHAREDFOLDER
chmod –R 775 /root/SHAREDFOLDER
КОНФИГУРАЦИЯ
Открываем текстовым редактором основный файл конфигурации Samba – воспользуемся Vi: vi /etc/samba/smb.conf.
В данном файле необходимо проверить чтобы в секции global присутствовали следующие строки:
[global]security = user
passdb backend = tdbsam
workgroup = MYGROUP
map to guest = Bad User
server string = Samba Server Version %v
Затем закомментируйте (проставьте точку с запятой) перед аргументами в разделах [homes] (доступ к гостевым директориям) и в [printers] (доступ к принтерам).
Теперь добавьте конфиг для вашей созданной папке, выглядеть это должно следующим образом:
[SHAREDFOLDER]
comment = Everybody has access
path = /root/SHAREDFOLDER
force group = users
create mask = 0666
directory mask = 0777
writable = yes
guest ok = yes
browseable = yes
Наконец, сохраним файл конфигурации и настроим автозапуск службы samba – для этого необходимо выполнить следующую команду:
chkconfig –levels 235 smb on
/etc/init.d/smb restart
Помните – 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 с помощью Samba
Доступ будет производиться по протоколу 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.
Благодаря вышеописанной процедуре, вы сможете легко передавать файлы с сервера на рабочие машины в вашей сети, и, более того, решать многие прикладные задачи – к примеру, расшарить папку с записями разговоров, чтобы непосредственно иметь к ним доступ.