Avatar billede bfjmnemonic Nybegynder
18. juli 2005 - 13:26 Der er 1 kommentar og
1 løsning

DHCP skal opdatere Wins server i smb.conf

Hej.

Jeg har længere tid brugt Linux. Jeg bruger i øjeblikket Gentoo, men spørgsmålet er generelt til Linux, da det løses ens på de fleste distributioner.

Jeg vil gerne have opdateret filen /etc/samba/smb.conf med wins server = x.x.x.x

Jeg syntes det er lidt trist og besværligt at jeg skal opdatere samba's config fil selv, når nu informationerne bliver gjort tilgængelige via dhcp servere i de fleste netværk.

Det må da være en metode til at dhcp klienten på Linux klienten kan hente denne information og putte den ind i smb.conf filen.
Avatar billede linux2go Nybegynder
29. juli 2005 - 16:41 #1
Det er der også. Dette her er tyvstjålet fra Ubuntu, der understøtter den slags uden videre...

Du tilføjer en linje i din smb.conf i [global]-sektionen:
  include = /etc/samba/dhcp.conf

I /etc/dhcp3/dhclient-enter-hooks.d tilføjer du en fil, der passende kunne hedde samba:
#!/bin/sh

SAMBA_DHCP_CONF=/etc/samba/dhcp.conf

netbios_setup() {
        # No need to continue if we're called with an unsupported option

        if [ "$reason" != BOUND ] && [ "$reason" != RENEW ] \
          && [ "$reason" != REBIND ] && [ "$reason" != REBOOT ] \
          && [ "$reason" != EXPIRE ] && [ "$reason" != FAIL ]
        then
                return
        fi

        # Nor should we continue if no settings have changed
        if [ "$new_netbios_name_servers" = "$old_netbios_name_servers" ] \
          && [ "$new_netbios_scope" = "$old_netbios_scope" ]
        then
                return
        fi

        # reparse our own file
        local other_servers=`sed -n -e"s/[[:space:]]$interface:[^[:space:]]*//g; \
                s/^[[:space:]]*wins server[[:space:]]*=[[:space:]]*//pi" \
                $SAMBA_DHCP_CONF`

        umask 022

        local serverlist="$other_servers"
        for server in $new_netbios_name_servers
        do
                serverlist="$serverlist $interface:$server"
        done

        echo -n > $SAMBA_DHCP_CONF

        # If we're updating on failure/expire, AND there are no WINS
        # servers for other interfaces, leave the file empty.
        if [ -z "$other_servers" ]
        then
                if [ "$reason" = FAIL ] || [ "$reason" = EXPIRE ]
                then
                        return
                fi
        fi

        if [ -n "$serverlist" ]
        then
                echo "  wins server =$serverlist" >> $SAMBA_DHCP_CONF
        fi
        if [ -n "$new_netbios_scope" ]
        then
                echo "  netbios scope = $new_netbios_scope" >> $SAMBA_DHCP_CONF
        fi
}

netbios_setup
Avatar billede bfjmnemonic Nybegynder
08. august 2005 - 22:24 #2
Ok, jeg checker lige om det spiller snarrest :) Er lige ved at reinstallere min Gentoo Laptop :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester