Samba 4.8 на Ubuntu 16.04

Я скомпилирован из источника samba 4.8 в Ubuntu xenial, но я не могу его запустить.

Следуя инструкциям samba.org, я дошел до точки, где в /usr/local/samba/sbin и /usr/local/samba/bin У меня есть исполняемые файлы, и до того, как я удалил старую версию 4.3 на моем компьютере, я сохранил файл /etc/init.d/smbd, чтобы заставить его работать. Но даже после изменения местоположения двоичных файлов в файле init.d он по-прежнему не работает.

, если я запустил /etc/init.d/smbd start, это то, что я получаю

[....] Starting smbd (via systemctl): smbd.serviceJob for smbd.service failed because the control process exited with error code. See "systemctl status smbd.service" and "journalctl -xe" for details. failed!

Это вывод для журналаctll -xe

-- i servizi attivati sono in fase di completamento. -- -- L'avvio del kernel ha richiesto KERNEL_USEC microsecondi. -- -- L'avvio del disco RAM ha richiesto INITRD_USEC microsecondi. -- -- L'avvio dello userspace ha richiesto 24776 microsecondi. mar 26 23:18:12 apollo systemd[1]: Started User Manager for UID 1001. -- Subject: L'unità user@1001.service termina la fase di avvio -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- L'unità user@1001.service ha terminato la fase di avvio. -- -- La fase di avvio è done. mar 26 23:18:30 apollo sudo[11809]: pam_unix(sudo:session): session closed for user root mar 26 23:18:46 apollo sudo[11913]: francesco : TTY=pts/1 ; PWD=/home/francesco ; USER=root ; COMMAND=/bin/nano /lib/systemd/system/smbd.service mar 26 23:18:46 apollo sudo[11913]: pam_unix(sudo:session): session opened for user root by francesco(uid=0) mar 26 23:19:03 apollo sudo[11913]: pam_unix(sudo:session): session closed for user root mar 26 23:19:06 apollo sudo[11929]: francesco : TTY=pts/1 ; PWD=/home/francesco ; USER=root ; COMMAND=/etc/init.d/smbd start mar 26 23:19:06 apollo sudo[11929]: pam_unix(sudo:session): session opened for user root by francesco(uid=0) mar 26 23:19:06 apollo systemd[1]: Starting Samba SMB/CIFS server... -- Subject: L'unità smbd.service inizia la fase di avvio -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- L'unità smbd.service ha iniziato la fase di avvio. mar 26 23:19:06 apollo systemd[1]: smbd.service: Control process exited, code=exited status=1 mar 26 23:19:06 apollo systemd[1]: Failed to start Samba SMB/CIFS server. -- Subject: L'unità smbd.service è fallita -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- L'unità smbd.service è fallita. -- -- Il risultato è failed. mar 26 23:19:06 apollo systemd[1]: smbd.service: Unit entered failed state. mar 26 23:19:06 apollo systemd[1]: smbd.service: Failed with result 'exit-code'. mar 26 23:19:06 apollo sudo[11929]: pam_unix(sudo:session): session closed for user root

Извините за итальянские сообщения, но важными являются английский.

Это скрипт init.d

#!/bin/sh ### BEGIN INIT INFO # Provides: smbd # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Should-Start: slapd cups # Should-Stop: slapd cups # Short-Description: start Samba SMB/CIFS daemon (smbd) ### END INIT INFO PIDDIR=/var/run/samba SMBDPID=$PIDDIR/smbd.pid # clear conflicting settings from the environment unset TMPDIR # See if the daemons are there test -x /usr/local/samba/sbin/smbd || exit 0 . /lib/lsb/init-functions case $1 in start) if init_is_upstart; then exit 1 fi SERVER_ROLE=`samba-tool testparm --parameter-name="server role" 2>/dev/null | tail -1` if [ "$SERVER_ROLE" = "active directory domain controller" ]; then exit 0 fi log_daemon_msg "Starting SMB/CIFS daemon" smbd # Make sure we have our PIDDIR, even if it's on a tmpfs install -o root -g root -m 755 -d $PIDDIR if ! start-stop-daemon --start --quiet --oknodo --exec /usr/local/samba/sbin/smbd -- -D; then log_end_msg 1 exit 1 fi log_end_msg 0 ;; stop) if init_is_upstart; then exit 0 fi log_daemon_msg "Stopping SMB/CIFS daemon" smbd start-stop-daemon --stop --quiet --pidfile $SMBDPID # Wait a little and remove stale PID file sleep 1 if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` > /dev/null then # Stale PID file, remove it (should be removed by # smbd itself IMHO). rm -f $SMBDPID fi log_end_msg 0 ;; reload) log_daemon_msg "Reloading /etc/samba/smb.conf" smbd start-stop-daemon --stop --quiet --signal HUP --pidfile $SMBDPID log_end_msg 0 ;; restart|force-reload) if init_is_upstart; then exit 1 fi $0 stop sleep 1 $0 start ;; status) status_of_proc -p $SMBDPID /usr/local/samba/sbin/smbd smbd exit $? ;; *) echo "Usage: /etc/init.d/smbd {start|stop|reload|restart|force-reload|status}" exit 1 ;; esac exit 0

И это smbd.service

[Unit] Description=Samba SMB/CIFS server After=network.target nmbd.service winbindd.service [Service] Type=forking ExecStart=/usr/local/samba/sbin/smbd -D ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target

Важны ли PIDDIR и SMBPID?

Даже если я запустил sudo /usr/local/samba/sbin/smbd -D, я все равно ничего не получаю, никаких ошибок и никакого smb не появляется в ps aux | grep smb

2
задан 28 March 2018 в 00:05

2 ответа

После небольшого тестирования, в основном работающего sudo smbd -FS, чтобы показать вывод как stdout, я обнаружил, что исполняемый файл, расположенный в /usr/local/samba/sbin, не загружает файл /etc/samba/smb.conf, а /usr/local/samba/etc/smb.conf. После копирования по умолчанию в ожидаемом месте все началось правильно.

Возможно, это был флаг конфигурации, который я пропустил. Надеюсь, что это поможет кому-то еще с той же проблемой.

Кроме того, поскольку установка из исходного процесса этого не делает, мне пришлось добавить smb.service в папку /etc/avahi/services/ для правильной рекламы.

Я все еще работаю над тем, как он появляется в сети в Windows, но соединение с \ ip.add.re.ss работает, а на Mac оно отображается правильно.

1
ответ дан 17 July 2018 в 18:02

После небольшого тестирования, в основном работающего sudo smbd -FS, чтобы показать вывод как stdout, я обнаружил, что исполняемый файл, расположенный в /usr/local/samba/sbin, не загружает файл /etc/samba/smb.conf, а /usr/local/samba/etc/smb.conf. После копирования по умолчанию в ожидаемом месте все началось правильно.

Возможно, это был флаг конфигурации, который я пропустил. Надеюсь, что это поможет кому-то еще с той же проблемой.

Кроме того, поскольку установка из исходного процесса этого не делает, мне пришлось добавить smb.service в папку /etc/avahi/services/ для правильной рекламы.

Я все еще работаю над тем, как он появляется в сети в Windows, но соединение с \ ip.add.re.ss работает, а на Mac оно отображается правильно.

1
ответ дан 23 July 2018 в 18:53

Другие вопросы по тегам:

Похожие вопросы: