Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на них права и ограничения.

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

Для начала необходимо подключиться к нашему серверу на Ubuntu 20.04. Для этого воспользуемся встроенной утилитой ssh – для Linux систем или например PuTTy – для Windows систем.

ssh user@myhost.ru

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

sudo apt install samba

Настройка Samba

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

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

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

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

 #Основной раздел
 [global]
 #Имя рабочей группы
 workgroup = WORKGROUP
 #Имя хоста
 server string = %h server (Samba, Ubuntu)
 netbios name = samba
 #Настройки безопасности
 security = user
 map to guest = bad user
 dos charset = CP866
 unix charset = UTF8
 server role = standalone server
 obey pam restrictions = Yes
 pam password change = Yes
 passwd program = /usr/bin/passwd %u
 passwd chat = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully .
 username map = /etc/samba/smbusers
 unix password sync = Yes
 log file = /var/log/samba/log.%m
 max log size = 500
 time server = Yes
 socket options = TCP_NODELAY IPTOS_LOWDELAY
 os level = 65
 dns proxy = No
 usershare allow guests = Yes
 usershare max shares = 20
 panic action = /usr/share/samba/panic-action %d
 idmap config * : backend = tdb
 invalid users = root administrator admin
 store dos attributes = Yes
 follow symlinks = No
 
[myuser]     
 path = /samba/myuser     
 browseable = no     
 read only = no     
 force create mode = 0660     
 force directory mode = 2770     
 valid users = myuser
 
#Настройки общего доступа
 [music]
 #Комментарий (пояснение)
 comment = музыка
 #Путь к папке, к которой даем общий доступ
 path = /home/music
 #Включаем видимость папки через проводник
 browseable = yes
 #Включаем разрешение на запись
 writeable = yes
 #Разрешаем гостевой доступ
 guest ok = yes
 guest only = yes
 #Права на файлы и директории при создании или копировании на сервере
 create mask = 0775
 directory mask = 0775
 force create mode = 0775
 force directory mode = 0775
 #Кому разрешено подключаться к данной директории
 valid users = myuser
 #Администратор данной директории
 admin users = myuser

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

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

sudo su

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

useradd -m obu4alkin -p qwerty

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

mkdir /home/{torrents,share}

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

chmod -R 755 /home/{torrents,share} && chown -R obu4alkin:obu4alkin /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 obu4alkin
  • опция -a добавит и активирует пользователя.

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

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

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

ntlm auth = yes

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

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

Если ваш samba сервер не появляется в сетевом окружении, но зайти через его IP-адрес возможно. То вот тут писал про то, как можно это исправить.

[endtxt]

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 2 голоса
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять