apt install samba # Debian/Ubuntu
dnf install samba # RHEL/Alma/Rocky
mkdir -p /srv/ringo/packages
chmod 0755 /srv/ringo/packages
Отдельный сервисный пользователь только на чтение (его логин/пароль пойдут в форму) и, при желании, второй — для загрузки пакетов.
useradd -r -M -s /usr/sbin/nologin ringo-ro
useradd -r -M -s /usr/sbin/nologin ringo-rw
smbpasswd -a ringo-ro && smbpasswd -e ringo-ro
smbpasswd -a ringo-rw && smbpasswd -e ringo-rw
chown -R ringo-rw:ringo-rw /srv/ringo/packages
Системный пароль этим пользователям не нужен — Samba хранит свою базу отдельно.
/etc/samba/smb.conf[global]
workgroup = WORKGROUP
server string = Ringo Distribution Point
security = user
map to guest = never
server min protocol = SMB2_10
server max protocol = SMB3
disable netbios = yes
smb ports = 445
log file = /var/log/samba/%m.log
max log size = 1000
[ringo-packages]
path = /srv/ringo/packages
browseable = yes
read only = yes
guest ok = no
valid users = ringo-ro ringo-rw
write list = ringo-rw
create mask = 0644
directory mask = 0755
veto files = /.DS_Store/._*/
delete veto files = yes
testparm # проверка синтаксиса
systemctl enable --now smbd
systemctl restart smbd
nmbd можно не запускать — Ринго обращается по IP/FQDN, не по NetBIOS.
Директория для загрузки пакетов в данной конфигурации: /srv/ringo/packages.
Проверьте, пожалуйста, на любой машине, у которой должен быть доступ к точке распространения:
smbutil view //ringo-ro@samba.example.com