Установка и настройка файлового Samba сервера на Centos
Возникла необходимость поднять дома файловый сервер. Выбор пал на Samba под Centos. Название довольно экзотичное и сразу же навевает мысли о Бразилии, их вечных праздниках танцев и карнавалах! Отличное название для скучной утилиты, авторы были большие оригиналы)
Но, перейдем к делу! Наша цель: на выходе иметь файловый сервер на Linux оси, где у каждого пользователя будет своя домашняя папка. Доступ к этой папке будет осуществляться через протокол SMB. Так же все пользователи должны иметь доступ к одному/нескольким паблик папкам с правами read/write — для возможности обмена информацией.
За дефолтные настройки сервера возьмем рандомные: hostname: SMB.feanor184.ru с IP адресом 192.168.0.15
Для начала нам нужно поставить Centos( как установить Centos? ).
Отключаем SELinux
SELinux представляет собой расширение для обеспечения безопасности. В принципе чтобы построить безопасный сервер его можно и не использовать, потому что обычно от него только одни лишние проблемы, чем преимущества. Если до этого вы настраивали Centos — то, возможно. он уже отключен. Тогда просто пропускаем данный шаг. Для тех же. кто еще этого не сделал, нужно выполнить следующие шаги:
Открываем /etc/selinux/config:
nano /etc/selinux/config
Ставим SELINUX=disabled:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Перезагружаем систему:
reboot
Установка Samba
Теперь приступаем непосредственно к установке самой Samba:
yum install cups-libs samba samba-common
Редактируем smb.conf:
nano /etc/samba/smb.conf
Секция [global] для того чтобы пользователи могли войти на Samba сервер:
# Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. security = user passdb backend = tdbsam
Затем сделаем систему связи для автозапуска Samba:
chkconfig --levels 235 smb on /etc/init.d/smb start
Добавляем Samba доступы
Создадим каталог для обмена файлами и дадим права:
mkdir -p /home/shares/allusers chown -R root:users /home/shares/allusers/ chmod -R ug+rwx,o+rx-w /home/shares/allusers/
Теперь добавим его в /etc/samba/smb.conf:
[allusers] comment = All Users path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes
Если нужно чтобы у всех пользователей была возможность читать и писать в свои домашние каталоги через Samba, добавим следующие строки smb.conf (другие секции [homes] должны быть закомментированы!):
[homes] comment = Home Directories browseable = no valid users = %S writable = yes create mask = 0700 directory mask = 0700
После изменений обязательно перезагружаем Samba:
/etc/init.d/smb restart
Добавление и управление пользователями
В примере добавляем пользователя Feanor:
useradd Feanor -m -G users
Установим пароль для нового пользователя( напр. 123456 ):
passwd 123456
Теперь добавим его в базу данных Samba:
smbpasswd -a Feanor
И наконец тестируем работу войдя в систему с десктопа при помощи файлового менеджера (проводника Windows) по адресу \\192.168.0.15 или \\192.168.0.15\Feanor. В качестве логина будет Feanor с выбранным вами ранее паролем( 123456 ).
Учту.
А мне нужно было прикрутить виндовую шару к линухе:
Вдруг пригодиться.
mount -t cifs -o noperm,username=домен/пользователь,password=пароль //172.16.0.0/обмен/’сетевая шара’ /mnt/shara
А после этих настроек попытаемся подключиться к общему ресурсу, /home/shares/allusers, например,из Linux Fedora и видим, что подключиться к ресурсу невозможно, а причины — не установлен и не настроен dnsmasq, или bind, не настроен ниFirewalld, или IPTables, не открыты порты 139/tcp и 445/tcp и самое главное, не определены ни рабочая группа ни домен и еще много, много, чего не сделано. Теперь для Кириллв, для того, чтобы автоматически смонтировать в Linux общий ресурс, надо сначала установить cifs-utils, а затем добавить в fstab следующую строку: //192.168.8.3/общая_папка /home/user/папка_для_монтирования cifs user=имя_пользователя,password=пароль,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0. Однако лучше для ввода логина и пароля использовать команду credentials, которая возьмёт логин и пароль из указанного файла.