# Samba non parte [Risolto]

## canduc17

Non capisco perchè, ma non riesco a far partire samba...ho seguito la guida ufficiale, ma c'è qualcosa che non va...

Il mio /etc/samba/smb.conf è il seguente:

```
[global]

workgroup = candomain

server string = Samba Server %v

log file = /var/log/samba/log.%m

max log size = 50

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

interfaces = lo eth1

bind interfaces only = yes

hosts allow = 127.0.0.1 192.168.0.0/24 192.168.0.4/24 192.168.0.5/24

hosts deny = 0.0.0.0/0

security = share

guest account = samba

guest ok = yes

vfs object = vscan-clamav

[public]

comment = Public Files

browseable = yes

public = yes

create mode = 0766

guest ok = yes

path = /home/samba/public
```

E succede così:

```
candesktop canduc # /etc/init.d/samba start

 * samba -> start: smbd ...                        [ !! ]

 * samba -> start: nmbd ...                        [ ok ]

 * Error: starting services (see system logs)

 * samba -> stop: smbd ...                         [ ok ]

 * samba -> stop: nmbd ...
```

Il file di log, /var/log/samba/log.smbd mi dice

```
[2007/08/14 19:59:17, 0] smbd/server.c:main(847)

  smbd version 3.0.24 started.

  Copyright Andrew Tridgell and the Samba Team 1992-2006

[2007/08/14 19:59:17, 0] passdb/pdb_interface.c:guest_user_info(295)

  guest_user_info: Unable to locate guest account [samba]!

[2007/08/14 19:59:17, 0] smbd/server.c:main(960)

  ERROR: failed to setup guest info.
```

E dire che su un'altra macchina ho configurato la stessa versione di samba (3.0.24-r3) allo stesso modo e non mi dà nessun problema all'avvio...che posso fare?

----------

## Cazzantonio

 *Quote:*   

> [2007/08/14 19:59:17, 0] passdb/pdb_interface.c:guest_user_info(295)
> 
>   guest_user_info: Unable to locate guest account [samba]!
> 
> [2007/08/14 19:59:17, 0] smbd/server.c:main(960)
> ...

 

per esempio potresti configurare l'utente guest...

----------

## wilma_dammi_la_clava

e poi ad ogni modifica usare prima testparm

----------

## canduc17

```
candesktop marco # smbpasswd -a guest

New SMB password:

Retype new SMB password:

Failed to modify password entry for user guest
```

E giuro che la password che inserisco è sempre la stessa...Perchè nell'altro pc và, anche se non ho configurato l'utente guest?!

----------

## djinnZ

```
consiglio: togli quel %v che serve solo ad incasinare i client windozz
```

se vuo forzare il guest o un altro utente dei client all'accesso devi usare "only guest" o "force user" la direttiva "guest ok" serve in genere a disabilitare globalmente l'accesso guest ed abilitarlo solo sugli share "meno sicuri". Quindi o correggi se ti serve o lascialo solo in globale.

Non è che sul server hai bloccato l'accesso a guest in limits.conf? o che hai una password od un carattere diverso da * in passwd?

vedi che il guest account per samba è impostato sullo user linux "samba" non su "guest" quindi o cambi 

```
guest account = guest
```

o crei  lo user "samba"

si vede che l'altra macchina ha l'utente "samba".

----------

## canduc17

Mi sono sbagliato, samba non parte neanche nell'altro pc...Infatti questo non ha l'utente samba...

djinnZ, ho provato tutti i tuoi suggerimenti (spero con la sintassi corretta), ma non sono riuscito a far partire Samba.

In /etc/security/limits.conf ho tutto commentato e non riesco ad aggiungere utenti samba, come ho descritto sopra...

L'output di testparm è:

```
candesktop / # testparm

Load smb config files from /etc/samba/smb.conf

Processing section "[public]"

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

[global]

        workgroup = CANDOMAIN

        server string = Samba Server %v

        interfaces = lo, eth1

        bind interfaces only = Yes

        security = SHARE

        guest account = samba

        log file = /var/log/samba/log.%m

        max log size = 50

        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

        vscan-clamav:config-file = /etc/samba/vscan-clamav.conf

        guest ok = Yes

        hosts allow = 127.0.0.1, 192.168.0.0/24, 192.168.0.4/24, 192.168.0.5/24

        hosts deny = 0.0.0.0/0

        vfs objects = vscan-clamav

[public]

        comment = Public Files

        path = /home/samba/public

        create mask = 0766
```

Sembra mancare la riga

```
Global parameter guest account found in service section!
```

sotto a

```
Processing section "[public]"
```

come si vede dall'esempio della guida...

Notare anche che ora ho tolto da public

```
guest ok = yes
```

Non pensavo fosse così difficile condividere una cartella tra due macchine Linux!  :Shocked: 

----------

## Scen

Riguardo alla riga

```

guest account = samba

```

effettivamente sembra esserci un errorino nella documentazione ufficiale, in quanto l'utente "samba" non viene creato dall'ebuild di tale pacchetto (aperto bug).

Se togli o commenti tale riga l'account guest viene impostato in modo predefinito a nobody, e sei apposto.

 *djinnZ wrote:*   

> 
> 
> se vuo forzare il guest o un altro utente dei client all'accesso devi usare "only guest" o "force user" la direttiva "guest ok" serve in genere a disabilitare globalmente l'accesso guest ed abilitarlo solo sugli share "meno sicuri".
> 
> 

 

Non è proprio così: con "guest ok = yes" permetti le connessioni anonime al servizio (e mettendolo in [global] lo fai per TUTTI i servizi, se non diversamente specificato), con "only guest" invece permetti SOLAMENTE le connessioni anonime al servizio. Nel caso di canduc17 lo si può pure lasciare in [global], così tutti i servizi che configurerà avranno l'accesso anonimo abilitato.

@canduc17: ti consiglio di fare queste modifiche a smb.conf

togli o commenta la riga

```
guest account = samba
```

commenta temporaneamente le righe relative a clamav

```

vscan-clamav:config-file = /etc/samba/vscan-clamav.conf

vfs objects = vscan-clamav

```

e verifica che tutto funzioni correttamente (meglio testare una cosa alla volta), dopodichè riattiva la scansione antivirus in tempo reale

nella riga hosts allow ci sono delle voci ridondanti, basta mettere

```

hosts allow = 127.0.0.1, 192.168.0.0/24

```

Assicurati che la directory /home/samba/public sia leggibile e scrivibile da tutti, o che comunque abbia i permessi corretti.

----------

## canduc17

Ok, sul mio Desktop adesso parte...

```
candesktop canduc # smbclient -L localhost

Password:

Domain=[CANDOMAIN] OS=[Unix] Server=[Samba 3.0.24]

        Sharename       Type      Comment

        ---------       ----      -------

        IPC$            IPC       IPC Service (Samba Server 3.0.24)

        public          Disk      Public Files

Domain=[CANDOMAIN] OS=[Unix] Server=[Samba 3.0.24]

        Server               Comment

        ---------            -------

        CANDESKTOP           Samba Server 3.0.24

        Workgroup            Master

        ---------            -------

        CANDOMAIN            CANDESKTOP
```

Però non và sul portatile collegato.

Il dubbio che mi viene è: nella configurazione ci deve essere un solo master?

In questo caso il Desktop funziona bene perchè è il primo su cui ho avviato samba, il portatile no perchè gli ho dato la stessa identica configurazione ed ho fatto partire samba in seguito...

Forse che per lo stesso dominio non ci possa essere più di un master?

Che configurazione devo dare allora al portatile?

Ora se provo a far partire samba sul portatile si blocca in questo stato:

```
candacer ~ # /etc/init.d/samba start

  * samba -> start: smbd ...
```

e poi se faccio ctrl+c mi dice

```
candacer ~ # /etc/init.d/samba start

  * samba -> start: smbd ...

  ERROR:  samba caught an interrupt

candacer ~ #
```

----------

## Scen

 *canduc17 wrote:*   

> Il dubbio che mi viene è: nella configurazione ci deve essere un solo master?

 

No, non c'entra nulla: nel tuo caso stai utilizzando Samba configurato come server "standalone", di cui possono coesistere più istanze sulla stessa rete. Caso diverso sarebbe se avessi configurato Samba come Primary Domain Controller: in questo caso ne può esistere solo uno in una sottorete.

 *canduc17 wrote:*   

> 
> 
> Ora se provo a far partire samba sul portatile si blocca in questo stato:
> 
> ```
> ...

 

Molto strano  :Question: 

Prova ad aumentare la prolissità dei log

```

[global]

...

loglevel = 5

...

```

e rimuovi temporaneamente la dimensione massima per i log, ovvero la linea

```

max log size = 50

```

.

Prova ad avviare il demone e vedi cosa viene scritto in /var/log/samba/smbd.log. Casomai prova ad aumentare il livello di log, mi pare arrivi fino a 10.

Un'altra cosa che proverei è togliere o commentare (sempre temporaneamente) le righe

```

interfaces = lo eth1

bind interfaces only = yes 

```

che magari fanno casino.

----------

## canduc17

Nel portatile avevo messo

```
interfaces = lo eth0 eth1
```

perchè è mia intenzione collegarmi sia con la scheda ethernet (eth0) che con quella wireless (eth1).

Appena ho tolto eth1 è partito...

Come faccio per dirgli di considerare anche la wireless?

E soprattutto, ora che funziona sui due pc...come faccio a visualizzare con konqueror la /home/samba/public dell'altro?

----------

## Scen

 *canduc17 wrote:*   

> Nel portatile avevo messo
> 
> ```
> interfaces = lo eth0 eth1
> ```
> ...

 

Se non specifichi nulla Samba si mette in ascolto su TUTTE le interfacce di rete: se non hai esigenze particolari penso che sia la soluzione migliore, pertanto commenta e togli le righe

```

interfaces = lo eth1

bind interfaces only = yes

```

 *canduc17 wrote:*   

> E soprattutto, ora che funziona sui due pc...come faccio a visualizzare con konqueror la /home/samba/public dell'altro?

 

Qui andiamo OT rispetto al topic (1 topic = 1 problema). Il problema di avvio di Samba è stato risolto, giusto? Aggiungi il solito tag al titolo del topic ed eventualmente apri una nuova discussione  :Rolling Eyes: 

----------

## canduc17

Sì, hai ragione...

Grazie mille!  :Very Happy: 

----------

## djinnZ

Credo che il problema di eth1 sia nel fatto che samba resta in attesa che l'interfaccia sia disponibile. Quando avvi samba c'è il device /dev/eth1? O viene creato da udev al caricamento di qualche modulo?

----------

