Я пытаюсь включить общий доступ к папкам через samba на моем сервере Ubuntu 18.04;
Что я уже сделал:
[global] workgroup = WORKGROUP interfaces = lo eth0 server role = standalone server server string = Samba Server %v security = user map to guest = bad user name resolve order = bcast host dns proxy = no bind interfaces only = yes log file = /var/log/samba/smb.log max log size = 10000 [Public] path = /samba/share writable = yes guest ok = yes guest only = yes read only = no create mode = 0777 directory mode = 0777 force user = nobody
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[Public]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] bind interfaces only = Yes dns proxy = No interfaces = lo eth0 log file = /var/log/samba/smb.log map to guest = Bad User max log size = 10000 name resolve order = bcast host security = USER server role = standalone server server string = Samba Server %v idmap config * : backend = tdb [Public] create mask = 0777 directory mask = 0777 force user = nobody guest ok = Yes guest only = Yes path = /samba/share read only = No
[2019/06/23 21:05:54.565424, 0] ../lib/util/become_daemon.c:124(daemon_ready) STATUS=daemon 'smbd' finished starting up and ready to serve connections [2019/06/23 21:06:34.482176, 0] ../source3/smbd/ipc.c:843(reply_trans) reply_trans: invalid trans parameters
Я занимался этим около 5 дней, есть ли у кого-нибудь какие-нибудь подсказки, что происходит? как это исправить? Мне просто нужен один общедоступный ресурс и еще один для ограниченного доступа.
bind interfaces only = Yes
interfaces = lo eth0
Вы говорите samba использовать только определенные интерфейсы, но тот, который вы указали (eth0), не использует существует в Ubuntu 18.04. Это другая форма.
Если у вас нет причин для указания чего-либо и вы просто хотите, чтобы samba выяснила это самостоятельно, я удалил бы эти две строки из smb.conf и перезапустил smbd:
sudo service smbd restart
Если вы хотите чтобы указать определенный интерфейс, используйте эту команду, чтобы найти его настоящее имя:
nmcli device show | grep DEVICE
Windows теперь использует WSD (обнаружение веб-сервисов?), Который не включен в различные Samba, доступные с Ubuntu 19.04.
На github есть проект, который реализует WSD, написанный на Python. Его можно найти по адресу https://github.com/christgau/wsdd или напрямую загрузить по адресу https://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py.
Часть хитрости в использовании этого заключается в том, что вам необходимо включить пару портов через брандмауэр:
Порты 5357 / tcp и 3702 / udp должны быть открыты для Мы должны бежать.
wsdd можно запустить из командной строки, или вы можете создать службу systemd для его запуска.
Это активная (возможно) область разработки Samba, и некоторую информацию о ней можно найти по адресу https://www.ixsystems.com/community/resources/how-to-kill-off-smb1. -netbios-wins-and-still-have-windows-network-окрестности-лучше-чем-всегда.106 / и в настоящее время доступен в пользовательском репозитории Arch, и, очевидно, также в нескольких других дистрибутивах. Также упоминается в AskUbuntu на сделать общий доступ к samba видимым в Windows «Сеть»
Запуск в качестве службы
Я создал системный сервисный модуль файл для wsdd как /lib/systemd/system/wsdd.service
Содержимое:
[Unit]
Description=WSDD Network Service
BindsTo=smbd.service
After=smbd.service
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/bin/wsdd
#ExecReload=/user/bin/wsdd
[Install]
WantedBy=multi-user.target
Затем я переместил wsdd.py
в /usr/bin/wsdd
и изменил его разрешения на 555 (чтение и выполнение).
Наконец, sudo systemctl enable wsdd.service
и перезагрузка - и моя система Ubuntu теперь видна моим компьютерам Win10.