Установка Samba на Ubuntu Server 18.04

Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 18.04

Установка Samba на Ubuntu Server 18.04

Для начала соединимся с нашим сервером при помощи ssh. Как установить и настроить ssh описано в данной статье.

ssh user@myhost.ru

из windows: воспользуйтесь утилитой putty

Все, мы в терминале на удаленном компьютере myhost.ru, давайте установим samba:

sudo apt install samba

Настройка Samba

Разработчики Samba настоятельно рекомендуют иметь файл smb.conf как можно более меньшего размера, а также не иметь внутри файла комментариев. Также они рекомендуют как можно более тщательно комментировать все изменения, какие вы делаете. Данные противоречивые рекомендации исполняются следующим образом: мы сделаем файл smb.conf.comments, в котором опишем все, что мы делаем, а потом из него получим рабочий файл smb.conf

И так создаем файл с комментариями:

sudo touch /etc/samba/smb.conf.comments

Внесем в него следующие данные:

[global]
# NetBios имя хоста
netbios name = SERVER
# Режим безопасности
security = USER

#======================= Сетевые настройки =======================
# Настройка быстродействия Samba
socket options = TCP_NODELAY IPTOS_LOWDELAY
local master = yes
time server = yes
read size - 4096
os level = 65
DNS proxy = no
# название рабочей группы
workgroup = WORKGROUP
# имя сервера в сети
server string = %h Ubuntu-Server
# IP или название интерфейса который будет слушать Samba
;interfaces = 127.0.0.0/8 eth0

#======================= Настройка логирования =======================
# Расположение лог-файла
log file = /var/log/samba/log.%m
# Максимальный размер лог-файла
max log size = 500
panic action = /usr/share/samba/panic-action %d

#======================= Настройки аутентификации =======================
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
follow symlinks = no

#======================= Разное =======================
# Настройки для Windows 
dos charset = CP866 
unix charset = UTF8 
store dos attributes = yes
# Позволяет не аутентифицированным пользователям получить доступ к общим ресурсам пользователей.
usershare allow guests = yes
# Файл соответствия пользователей windows к пользователям Unix
username map = /etc/samba/smbusers
# Пользователь Unix при гостевом доступе
guest account = nobody
# Запрещенные пользователи
invalid users = root administrator admin
# Максимальное кол-во одновременно подключившихся сессий
usershare max shares = 20

#======================= Расшареные директории =======================

[Smirnov]
# Комментарий
comment = Личная папка
# Расположение директории
path = /home/smirnov
# Видна ли шара
browseable = yes
# Права на файлы
create mask = 0644
# Права на директории
directory mask = 0755
# Только для следующих пользователей
valid users = smirnov
# Администратор директории с полным доступом
admin users = smirnov

[Шара]
comment = Общая папка
path = /home/share
# Разрешена ли запись
writeable = yes
# Гостевой доступ
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
admin users = smirnov

[Торрент]
path = /home/torrents
writeable = yes
guest ok = yes
admin users = smirnov

Создаем владельца общих ресурсов и сами общие папки

Перейдем под пользователя root

sudo su

Создадим  пользователя в системе, имя пользователя smirnov, его пароль smirnov, при создании сделаем каталог пользователя (ключ -m) и зададим пароль (ключ -p):

useradd -m smirnov -p smirnov

Теперь создадим директорию torrents и share

mkdir /home/{torrents,share}

Назначим нового владельца на только что созданные директории, а также изменим разрешения:

chmod -R 777 /home/{torrents,share} && chown -R smirnov:smirnov /home/{torrents,share}

Создадим копию дефолтного конфигурационного файла на всякий случай:

cp /etc/samba/smb.conf /etc/samba/smb.conf.save

И вообще заведите себе привычку перед любым изменением любого конфигурационного файла делать его резервную копию

Удалим дефолтный конфигурационный файл и создадим новый без комментариев:

rm /etc/samba/smb.conf && testparm -s /etc/samba/smb.conf.comments > /etc/samba/smb.conf

Если все прошло гладко, то рестартуем сервис samba:

/etc/init.d/smbd restart

Проверяем, что все нормально. Подключимся анонимно сами к себе:

smbclient -L SERVER -U%

Для подключения к директории под паролем из сети, также необходимо создать пользователя в samba.

sudo smbpasswd -a smirnov

опция -a добавит и активирует пользователя.

После этого можно будет подключаться к данной директории через сеть (интернет).

Проблемы подключения старых клиентов Wibdows

Если у вас возникает ошибка при подключении по паролю, старых клиентов на Windows и Linux, то для решения необходимо добавить строчку в конфигурационный файл samba:

ntlm auth = yes

После внесения данной строчки, такие клиенты как Windows XP, Ubuntu 10.04 и т.д. смогут подключится к расшариной директории на сервере при помощи логина и пароля, а не как гость.

Статья получилось большой, хотя на самом деле все настраивается за минут 10-ть

Если есть вопросы, то пишем в комментариях и не забываем проголосовать за статью.
Установка Samba на Ubuntu Server 18.04
4.2 (84%) 5 votes

2 комментария

  1. SYSadmin 2018-07-12
  2. Степан 2018-07-11

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Меню
Рейтинг@Mail.ru