Файловый сервер на базе CentOS 7 – настройка SAMBA
Недавно появилась необходимость организовать простой файловый сервер на базе Linux. Если быть точнее, то выбрана операционная система – CentOS 7 (имя хоста CentOS-FS), а “задание” – создать каталог с доступом “для всех”.
Для начала выполним поиск пакетов (на чистой системе их не будет):
sudo yum list installed | grep samba
samba.x86_64 3.6.9-168.el6_5 @updates
samba-client.x86_64 3.6.9-168.el6_5 @updates
samba-common.x86_64 3.6.9-168.el6_5 @updates
samba-winbind.x86_64 3.6.9-168.el6_5 @updates
samba-winbind-clients.x86_64
Установка и настройка SAMBA:
sudo yum -y install samba samba-client samba-common
Добавляем службы в автозагрузку:
sudo chkconfig smb on
sudo chkconfig nmb on
Теперь создаем папку, которую вскоре расшарим:
sudo mkdir -p /home/public
К настройке доступа (владельца и параметров безопасности еще вернемся ниже). Имея путь к каталогу, переходим к следующему шагу – сохраняем стандартный файл конфигурации SAMBA, затем задаем нужные параметры:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
После этого редактируем основный конфигурационный файл:
sudo vi /etc/samba/smb.conf
И заносим сюда необходимые параметры. Напоминаю – мы настраиваем доступ к папке для всех пользователей:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = srvr1
security = user
map to guest = bad user
dns proxy = no
guest account = nobody
browseable = yes
Сразу указываем где будет расположение лог файлов и их размер:
log file = /var/log/samba/log.%m
max log size = 50
Теперь создаем описание (параметры) нашего сетевого ресурса:
[public]
comment = FS
path = /home/public
readonly = no
guest ok = yes
public = yes
guest only = yes
writable = yes
Стоит обратить внимание – название рабочей группы можно узнать на ПК с ОС Windows при помощи команды net config workstation, а само название в файле smb.conf нужно писать заглавными буквами. Теперь перезапускам службы (в автозагрузку их уже добавили ранее, для примера привожу другой синтаксис команды):
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service
Настройка IP Tables:
firewall-cmd –permanent –zone=public –add-service=samba
firewall-cmd –reload
Переходим в папку и задаем необходимые права:
cd /home/public
chmod -R 0755 public/
chown -R nobody:nobody public/
Добавляем исключение в selinux:
chcon -t samba_share_t public/
Настройка SAMBA для простого файлового сервера на базе CentOS 7 завершена. В следующей статье рассмотрим вариант настройки защищенной папки (доступ для определенного пользователя/группы) и т.п. Следите за обновлениями 😉
Какую конфигурацию, а именно какие оптимизации SAMBA используете Вы?