Мне для складирования дома резервных копий нужен сервис, файловый сервис посредством которого хочу видеть каталог, обязательно должна быть простая авторизация (Login+Pass) при обращении дабы никто не знающий логин и пароль не смог получить к ним доступ. Сервис хочу видеть у себя как виртуальная машина под управлением Ubuntu 18.04 Server на Debian 10 + Proxmox 6.4-13 железа HP MicroServer Gen8 (4CPUs x 2,494Ghz, Intel Xeon CPU E3-1265L V2 2.50GHz, RAM 12Gb), т.е. данное железо теперь только по всякие системы хранения, а не боевые сервисы (увы, но памяти 12Gb которая есть мне не хватает). Ну а в роли файлового сервиса выступит Samba.

На заметку: В HP MicroServer Gen8 я подключил SSD Disk по заметке "Как задействовать SATA на HP MicroServer Gen8"

Шаг №1: После развертывания операционной системы Ubuntu 18.04 Server в автоматическом режиме с сервиса Fog Project по сети приступаю к настройке:

Шаг №2: Обновляю информацию об установленных пакетах и обновляю установленные пакеты до самого последнего состояния в рамках текущего релиза Ubuntu 18.04 Server:

ekzorchik@srv-backup:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-backup:~$ sudo apt-get update && sudo apt-get -y upgrade

Шаг №3: Создаю каталог под файловый сервис:

ekzorchik@srv-backup:~$ sudo mkdir /nas01
ekzorchik@srv-backup:~$ sudo chmod -R 775 /nas01/

Шаг №4: Устанавливаю в систему через пакетный менеджер пакет Samba:

ekzorchik@srv-backup:~$ apt-cache show samba | grep Version
Version: 2:4.7.6+dfsg~ubuntu-0ubuntu2.27
Version: 2:4.7.6+dfsg~ubuntu-0ubuntu2
ekzorchik@srv-backup:~$

ekzorchik@srv-backup:~$ sudo apt-get install -y samba smbclient cifs-utils
ekzorchik@srv-backup:~$ sudo cp /etc/samba/smb.conf{,.backup}
ekzorchik@srv-backup:~$ sudo rm /etc/samba/smb.conf

Шаг №5: Создаю пользователя под доступ к каталогу и конфигурационный файл:

ekzorchik@srv-backup:~$ sudo useradd -M -d /nas01 -s /usr/sbin/nologin -G sambashare ekz
-M -не создавать домашний каталог пользователя. Мы создадим этот каталог вручную.
-d /samba/josh - установить домашний каталог пользователя /samba/josh .
-s /usr/sbin/nologin - отключить доступ к оболочке для этого пользователя.
-G sambashare - добавить пользователя в sambashare группу.

ekzorchik@srv-backup:~$ sudo smbpasswd -a ekz
Can't load /etc/samba/smb.conf - run testparm to debug it
ekzorchik@srv-backup:~$

ekzorchik@srv-backup:~$ sudo nano /etc/samba/smb.conf
[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   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 password
   usershare allow guests = yes

[nas01]
writable = yes
path = /nas01
guest ok = no
browseable = yes
create mask = 775
directory mask = 775
admin users = ekz
acl allow execute always = true
hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/

ekzorchik@srv-backup:~$

Шаг №6: Проверяю конфигурационный файл smb.conf на ошибки:

ekzorchik@srv-backup:~$ sudo testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[nas01]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Шаг №7: Добавляю пароль на учетную запись ekz:

ekzorchik@srv-backup:~$ sudo smbpasswd -a ekz
New SMB password: Aa1234567aA
Retype new SMB password: Aa1234567aA
Added user ekz.

Шаг №8: Включаю учетную запись ekz:

ekzorchik@srv-backup:~$ sudo smbpasswd -e ekz
Enabled user ekz.
ekzorchik@srv-nas:~$

Шаг №9: Изменяю группу на доступ к каталогу /nas01:

ekzorchik@srv-backup:~$ sudo chgrp sambashare /nas01
ekzorchik@srv-backup:~$ sudo ls -l / | grep nas
drwxrwxr-x   3 root sambashare  4096 Jan 23 18:17 nas01
ekzorchik@srv-nas:~$
ekzorchik@srv-backup:~$ cat /etc/group | grep sambashare
sambashare:x:112:ekzorchik,ekz

Шаг №10: Перезапускаю сервис smbd:

ekzorchik@srv-backup:~$ sudo systemctl restart smbd && sudo systemctl restart nmbd

Шаг №11: Проверяю, что могу авторизоваться на ресурсе samba:

ekzorchik@srv-backup:~$ smbclient //172.35.35.20/nas01 -U ekz
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\ekz's password: Aa1234567aA
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Sun Jan 23 17:54:49 2022
  ..                                  D        0  Sun Jan 23 17:37:00 2022

		50350616 blocks of size 1024. 45652812 blocks available
smb: \> quit
ekzorchik@srv-backup:~$ 

Задача: Как сделать чтобы при обращении к файловому ресурсу каталог под авторизацией не был виден при обращении, как \\IP&DNS, т.е. ниже представлен скриншот на котором опубликованный каталог \\172.35.35.20\backup01 не отображается, а он есть если его дописать

Доступ к \\IP&DNS\backup01 не отображается, но он есть

обращаюсь на \\172.35.35.20\backup01 и вижу возникнувшеее окно авторизации

Авторизуюсь при обращении к \\IP&DNS\backup01 и получаю доступ к ресурсу

  • Имя пользователя: ekz
  • Пароль: указываю 712mbddr@

и нажимаю ОК

Успешная авторизация - успешный доступ

На заметку: Если на Windows системе сделать Logoff/Logon, то пароль на авторизацию не будет сохранен, т.к. при окне авторизации Вы не ставили надеюсь галочку "Запомнить учетные данные"

ekzorchik@srv-backup:~$ sudo nano /etc/samba/smb.conf
[backup01]
#hide unreadable = yes
access based share enum = yes
#Скрыть из сетевого окружения при обращении \\IP&DNS
browsable = no
writable = yes
path = /nas01/backup
guest ok = no
create mask = 775
directory mask = 775
admin users = ekz
acl allow execute always = true
hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/
ekzorchik@srv-backup:~$ sudo systemctl restart smbd && sudo systemctl restart nmbd

Задача решена.

Итого я получил на своем железе HP MicroServer Gen8, как виртуальная машина под Debian 10 + Proxmox 6.4-13 персональный файловый сервер под защитой банальной авторизации логин+пароль для перемещения делаемых бекапов сюда. Т.е. будет реализована одна и частей, бекап бекапа. На этом пошаговая заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.