|
SMBCLIENT(1) manual page
Table of Contents
smbclient - programma client simile ad ftp per Lan Manager.
smbclient nome_servizio [ password ] ] [ -A ] [ -E ] [ -L computer ] [ -M
computer ] [ -I numero IP ] [ -N ] [ -P ] [ -U username ] [ -d livello di debug
] [ -l nome base per log ] [ -n nome netbios ] [ -W workgroup ] [ -O opzioni
socket ] [ -p numero della porta ] [ -c stringa di comando ] [ -T opzioni
tar ] [ -D directory iniziale ]
Questo programma è parte del
pacchetto Samba
smbclient client che 'colloquia' con un server Lan Manager.
Offre un'interfaccia simile a quella del programma ftp (vedi ftp(1)
). Le
operazioni consentono di prendere file dal server per la macchina locale,
lasciare file dalla macchina locale al server, recuperare informazioni
su directory dal server e cosi via.
nome servizio nome servizio
indica il servizio del server a cui si desidera accedere. Ha la forma \\server\servizio
dove server è il nome netbios del server Lan Manager che offre la risorsa
condivisa desiderata e servizio è la risorsa offerta. Quindi per connettersi
al servizio "printer" sul Lan Manager server "lanman" è necessario utilizzare:
\\lanman\printer
Da notare che il nome del server richiesto NON è necessariamente
quello del computer server. Si richiede il nome di un server Lan Manager
che puo' - o meno - essere lo stesso dell'hostname della macchina che esegue
il server.
password password è la password richiesta per accedere al
servizio sul server indicato. Se viene fornita una password si attiva implicitamente
l'opzione -N (disattiva la richiesta di password).
Non c'è valore predefinito
per password. Se non è fornita alcuna password nella linea di comando
(sia qui o usando l'opzione -U - si veda oltre) e -N non è specificata, il
client chiederà una password, anche se non necessaria per il servizio
desiderato (se la password non è richiesta, premendo semplicemente ENTER
se ne fornisce una nulla).
Nota: Alcuni server (incluso OS/2 e Windows
for Workgroups) insistono per avere una password in lettere maiuscole.
Password composte di lettere minuscole o miste vengono rifiutate da questi
server.
Fare attenzione nell'includere password in script.
-A
Parametro
che, quando specificato, seleziona il massimo livello di debug. E' necessario
fare attenzione in quanto si genera un'enorme quantità di dati debug. Inoltre,
per quanto riguarda la sicurezza, si noti che il massimo livello di debug
provoca la scrittura di password come testo in chiaro in alcuni file
di registrazione.
-L
L'opzione consente di elencare i servizi disponibili
su un server. É possibile usarla come "smbclient -L computer" ed appare
una lista. L'opzione -I può essere utile se il nome netbios non corrisponde
al proprio host name tcp/ip o se si sta cercando di raggiungere un computer
su un'altra rete. Ad esempio:
smbclient -L ftp -I ftp.microsoft.com
elencherà
tutte le condivisioni disponibili sul server pubblico Microsoft.
-M
Questa opzione consente di spedire messaggi ad un altro computer, usando
il protocollo "WinPopup". A connessione stabilita è possibile digitare
il proprio messaggio terminandolo con ^D (control-D).
Se il computer destinatario
sta eseguendo WinPopup l'utente riceverà il messaggio e probabilmente anche
un beep. Se WinPopup non è in esecuzione il messaggio andrà perso e non
verrà riportata alcuna segnalazione di errore.
Se il messaggio supera
i 1600 byte - limite del protocollo - sarà automaticamente troncato.
Una
tecnica utile è usare cat con smbclient. Per esempio:
cat messaggio.txt
| smbclient -M FRED
spedisce il contenuto del file "messaggio.txt" alla
macchina FRED.
É possibile anche usare le opzioni -U e -I che consentono
di controllare le intestazioni FROM e TO del messaggio.
Altre informazioni
alla sezione comandi di messaggio di smb.conf(5)
per una descrizione su
come manipolare i messaggi WinPopup in Samba.
Nota: Per essere in grado
di ricevere sempre i messaggi è sufficiente copiare WinPopup nel gruppo
di avvio di WfWg del PC.
-E
Se specificato, questo parametro consente
di stampare i messaggi di errore del client su stderr piuttosto che su
stdout.
Normalmente, il client scrive i propri messaggi di errore nello
standard output - tipicamente il tty dell'utente.
-I numero IP
numero
IP rappresenta l'indirizzo IP a cui connettersi. Dovrebbe essere specificato
nella consueta notazione "a.b.c.d".
Normalmente il client tenterà di localizzare
uno specifico server Lan Manager cercandolo, cioè indirizzando una richiesta
a tutta la rete per il server affinche' si identifichi. Usando questo parametro
si forza il client ad assumere che il server sia sulla macchina con l'indirizzo
IP indicato.
Non c'è valore di default per questo parametro. Se non disponibile,
sarà determinato automaticamente dal client come indicato precedentemente.
-N
Se specificato, questo parametro sopprime la normale richiesta dal
client di password per l'utente. Utile quando si accede ad un servizio che
non richiede una password.
A meno che una password non venga specificata
nella linea di comando o questo parametro sia specificato, il client richiederà
una password.
-O opzioni di socket
Per maggiori dettagli vedere la sezione
opzioni di socket di smb.conf(39
-P
Se specificato, il servizio richiesto
sarà connesso come un servizio di stampa piuttosto che come un normale
servizio di file. Operazioni come put e get non saranno disponibili per
tale connessione.
Per default, i servizi vengono connessi come connessioni
NON-stampante.
-U username
username è il nome dell'utente che sarà usato
dal client per effettuare la connessione, assumendo che il server stia
usando un protocollo che consente i nomi degli utenti.
Alcuni server sono
confusi a proposito delle maiuscole e minuscole nel nome ed altri insistono
che sia un nome netbios valido.
Se nessun username è fornito sarà usata,
come valore predefinito, una versione in maiuscole delle variabili d'ambiente
USER o LOGNAME in questo ordine. Se nessun username è fornito e non esiste
alcuna variabile d'ambiente il nome dell'utente sarà vuoto.
Se il servizio
a cui ci si connette richiede un password può essere fornito usando l'opzione
-U aggiungendo alla fine di username il simbolo percento ("%") e poi il
password. Ad esempio, per connettersi ad un servizio come utente "fred"
con password "secret", si dovrà indicare: -U fred%secret sulla linea di
comando. Da notare che non ci sono spazi attorno al simbolo di percento.
Se si fornisce un password come parte di username allora si assume l'opzione
-N (sopprimi la richiesta di password).
Se si specifica password come parametro
ED ANCHE come parte di username allora il password parte di username ha
la precedenza. Non mettere nulla prima o dopo il simbolo di percento avrà
come conseguenza rispettivamente username o password vuoti.
Nota: Alcuni
server (incluso OS/2 e Windows for Workgroups) insistono nell'avere password
in lettere maiuscole. Password composte da lettere minuscole o miste saranno
riufiutate da questi server.
Fare attenzione nell'uso di password in script.
-d livello di debug
livello di debug è un intero compreso tra 0 e 5.
Il valore di default se questo parametro non è specificato, è 0.
Maggiore
il valore, maggior dettaglio sarà visualizzato nei file di registrazione
riguardo l'attività del client. Al livello 0, saranno registrati solo errori
critici ed avvisi seri. Livello 1 è ragionevole per le esecuzioni giorno
per giorno - genera piccole quantità di informazioni a proposito delle
operazioni eseguite.
Livelli al di sopra di 1 generano considerevole quantità
di dati di registrazione, e dovrebbero essere usati quando si investiga
su un problema. Livelli oltre il 3 sono realizzati solo per l'uso di sviluppatori
e generano una GRAN mole di dati per la maggior parte criptica.
-l nome
base per le registrazioni.
Se specificato, nome indica un nome di base
per file dove verranno registrati dati delle operazioni durante l'esecuzione
del client.
Il valore di default è specificato durante la compilazione.
Il nome base è usato per generare i nomi effettivi dei file di log. Per
esempio, se il nome specificato era "log", i seguenti file saranno usati
per memorizzare dati:
log.client.debug (informazioni di debug)
log.client.in
(dati delle transazioni in ingreso)
log.client.out (dati delle transazioni
in uscita)
I file di registrazione generati non sono mai cancellati
dal client.
-n nome netbios
Per default, il client usa il nome della
macchina (in maiuscole) come nome netbios. Questo parametro consente di
impostare qualsiasi nome netbios si desideri.
-W workgroup
Imposta
il nome del gruppo di lavoro utilizzato per la connessione. Può essere
richiesto da alcuni server.
-p numero di porta
Si tratta di un numero
positivo intero.
Il valore predefinito, se il parametro non è specificato,
è 139.
Questo numero indica la porta che sarà utilizzata per effettuare
le connessioni al server. Il valore standard per il server (ben conosciuto)
è 139, da qui il valore predefinito.
Questo parametro di solito non viene
usato.
-T opzioni tar
dove opzioni tar consiste in uno o più di: c,
x, I, X, b, g, N o a; usati come:
smbclient \\server\condivisione -TcxIXbgNa
[ dimensioneblocco ] [ filepiùrecente ] filetar [ nomefile.... ]
c Crea
un file tar su UNIX. deve essere seguito dal nome del file tar, dispositivo
a nastro oppure "-" per indicare l'output standard. (Potrebbe essere necessario
impostare il livello di debug ad un valore basso (-D0) per evitare di corrompere
il file tar mentre si usa "-"). É alternativo all'opzione: x
x Estrae (ripristina)
un file tar locale su una risorsa condivisa. A meno che l'opzione -D non
sia indicata, il file tar sarà ripristinato dal livello più elevato della
condivisione. Deve essere seguito dal nome del file tar, dispositivo o
"-" per l'input standard. In alternativa rispetto l'opzione c
I Includi file
e directory. Comportamento predefinito quando diversi nome file sono specificati.
Consente di includere file in estrazione o creazione (e quindi escludere
ogni altra cosa). L'uso di maschere per nomi di file (ancora) non funziona.
Vedere l'esempio oltre.
X Esclude file e directory. Consente di escludere
file in estrazione o creazione L'uso di metacaratteri non funziona (ancora).
Vedere l'esempio oltre.
b Dimensione del blocco. Deve essere seguito da
una dimensione valida (maggiore di zero) di un blocco. Il file tar viene
scritto in dimensione_blocco*TBLOCK (di solito 512 byte) blocchi.
c Incrementale.
Solo i file che hanno il bit di archivio impostato. Utile solo con l'opzione
c
N Più recenti. Deve essere seguito dal nome di un file la cui data è
confrontata con i file trovati nella condivisione al momento della creazione.
Solo i file più recenti di quello indicato sono salvati nel tar. Utile
solo con l'opzione c
a Imposta il bit di archivio. Consente di cancellare
il bit di archivio quando un file è salvato. Utile con l'opzione g (anche
c ).
Esempi
smbclient \\mypc\myshare "" -N -Tx backup.tar
Ripristina dal file
tar backup.tar in myshare su mypc (nessuna password sulla condivisione)
smbclient \\mypc\myshare "" -N -TXx backup.tar users/docs
Ripristina ogni
cosa eccetto users/docs
smbclient \\mypc\myshare "" -N -Tc backup.tar users/docs
Crea un file tar di tutti i file da users/docs in poi.
-D Directory
iniziale
Cambia il directory iniziale prima di cominciare. Probabilmente
utile solo con l'opzione tar (-T)
-c stringa di comando
Si tratta di
una lista di comandi separati da punto e virgola che deve essere eseguita
invece di richiedere dallo stdin. L'opzione -N è implicita con -c.
É particolarmente
utile negli script e per inviare lo stdin al server, ad esempio -c 'print
-'.
Mentre il client è in esecuzione, all'utente è mostrato un
prompt, "smb \>". La barra inversa ("\") indica il directory corrente sul
server e cambia quando ci si sposta in un altro directory.
Il prompt indica
che il client è pronto ed in attesa di eseguire un comando utente. Ciascun
comando è composta da un singola parola, eventualmente seguita da parametri
specifici del comando. Comando e parametri sono limitati da spazio a meno
che in queste note non sia esplicitamente affermato diversamente. Tutti
i comandi non sono sensibili all'uso di minuscole o maiuscole. Parametri
dei comandi possono o meno essere sensibili, a seconda del comando.
É
possibile specificare nomi di file che contengono spazi usando le doppie
virgolette, ad esempio "un nome di file lungo".
Parametri compresi all'interno
di parentesi quadre sono opzionali (es. "[parametro]"). Se non dati, il
comando userà qualche valore predefinito. Parametri compresi all'interno
di parentesi angolari sono richiesti (es. "<parametro>").
Da notare che tutti
i comandi che operano sul server sono realizzati spedendo una richiesta
al server stesso. Quindi il comportamento puo' cambiare da server a server,
a seconda di come sono stati implementati.
I comandi disponibili sono
elencati in ordine alfabetico.
? Parametri: [comando]
Descrizione:
Se comando è indicato sarà mostrato un breve messaggio informativo riguardante
lo specifico comando.
Se nessun comando è specificato, sarà mostrata una
lista di comandi disponibili.
! Parametri: [comando shell]
Descrizione
Se comando shell viene specificato, il comando ! eseguirà in modo locale
uno shell per poter dare il comando specificato. Se non viene specificato
alcun comando, si esegue uno shell.
cd Parametri: [nome directory]
Se viene specificato nome directory il directory di lavoro corrente
sul server sarà cambiato con quello specificato. Questa operazione fallirà
se per una qualsiasi ragione tale directory sia inaccessibile.
Se non
si specifica alcun nome di directory, viene restituito il directory di
lavoro corrente sul server.
del Parametri: <maschera>
Descrizione:
Il client farà una richiesta di cancellazione di tutti i file corrispondenti
a maschera dal directory di lavoro corrente sul server.
dir Parametri
<maschera>
Descrizione: Viene recuperata e mostrata, dal directory corrente
sul server, una lista di file corrispondenti alla maschera indicata.
exit Parametri: Nessuno.
Descrizione: Chiude la connessione con
il server ed esce dal programma.
get Parametri: <nome di file remoto>
[nome di file locale]
Descrizione: Copia il file chiamato nome di file
remoto dal server alla macchina che esegue il client. Se specificato, usa
nome di file locale come nome per la copia locale. Notare che tutti i trasferimenti
di smbclient sono in modalità binaria. Vedere anche il comando lowercase.
help Parametri: [comando]
Descrizione: Vedi il comando precedente:
?
lcd Parametri: [nome di directory]
Descrizione: Se nome di directory
è specificato, il directory di lavoro corrente sulla macchina locale sarà
cambiato nel directory specificato. Questa operazione fallisce se per una
qualsiasi ragione il directory specificato è inaccessibile.
Se non è specificato
alcun nome di directory, sarà restituito il nome del directory di lavoro
corrente sulla macchina locale.
lowercase Parametri: Nessuno.
Descrizione:
Attiva o disattiva le lettere minuscole per i comandi get e mget
Quando
le lettere minuscole sono attivate, i nomi dei file locali sono convertiti
in minuscolo quando si usano i comandi get e mget. Spesso è utile quando
si copiano file MSDOS da un server, perche' nomi di file in minuscolo sono
la norma sui sistemi UNIX.
ls Parametri: <maschera>
Descrizione:
Vedere il comando precedente: dir.
mask Parametri: <maschera>
Descrizione:
Con questo comando è possibile impostare una maschera da usare durante
operazioni ricorsive dei comandi mget e mput.
Le maschere specificate
per i comandi mget e mput agiscono come filtri per directory piuttosto
che per i file quando la ricorsione è ATTIVATA.
La maschera specificata
con il comando mask è necessaria per filtrare file presenti in tali directory.
Per esempio, se la maschera specificata in un comando mget è "source*",
la maschera specificata con il comando mask è "*.c" e la ricorsione è ATTIVA,
il comando mget recupera tutti i file che corrispondono a "*.c" nei directory
corrispondenti a "source*" ed in tutti quelli contenuti partendo dal directory
di lavoro corrente.
Notare che il valore di default per maschera è nullo
(equivalente a "*"); rimane tale fino a che il comando mask non viene
usato e mantiene il valore impostato più di recente. Per evitare risultati
inattesi sarebbe saggio cambiare il valore di maschera a "*" dopo aver
usato i comandi mget e mput.
md Parametri: <nome di directory>
Descrizione:
Vedere il comando mkdir.
mget Parametri: <maschera>
Descrizione:
Copia tutti i file corrispondenti alla maschera indicata dal server alla
macchina che esegue il client.
Notare che: maschera è interpretata in
modo diverso durante le operazioni ricorsive e non ricorsive - vedere i
comandi recurse e mask per maggiori informazioni. Tutti i trasferimenti
di smbclient sono in formato binario. Vedere anche il comando lowercase.
mkdir Parametri: <nome di directory>
Descrizione Crea un nuovo directory
sul server (ammesso che i privilegi dell'utente lo consentano) con il nome
indicato.
mput Parametri: <maschera>
Descrizione: Copia tutti i
file corrispondenti a maschera nel directory corrente sulla macchina
locale dal directory corrente di lavoro sul server.
Notare che maschera
è interpretata in modo diverso durante le operazioni ricorsive e non ricorsive
- vedere i comandi recurse e mask per maggiori informazioni. Tutti i trasferimenti
di smbclient sono in formato binario.
print Parametri: <nome di file>
Descrizione: Stampa il file indicato dalla macchina locale attraverso
un servizio di stampa sul server.
Vedere anche il comando printmode.
printmode Parametri: <graphics|text>
Descrizione: Imposta il modo di
stampa o per dati binari (come informazioni di tipo grafico) o testo. I
seguenti comandi print faranno uso del corrente modo di stampa.
prompt
Parametri: Nessuno.
Descrizione: Attiva (o disattiva) le richieste
per i file durante le operazioni di mget e mput.
Quando ATTIVO, all'utente
sarà richiesto di confermare i trasferimenti di ciascun file durante questi
comandi. Quando DISATTIVO, tutti i file specificati saranno trasferiti
senza ulteriori richieste.
put Parametri: <nome di file locale> [nome
di file remoto]
Descrizione: Copia il file chiamato nome di file locale
dalla macchina che esegue il client al server. Se specificato, chiama la
copia remota con il nome di nome di file remoto. Notare che tutti i trasferimenti
di smbclient sono in formato binario. Vedere anche il comando lowercase.
queue Parametri: Nessuno.
Descrizione: Elenca la coda di stampa,
mostrando l'id della stampa (job), nome, dimensione e stato corrente.
quit Parametri: Nessuno.
Descrizione: Vedere il comando exit.
rd
Parametri: <nome di directory>
Descrizione: Vedere il comando: rmdir
recurse Parametri: Nessuno.
Descrizione: Attiva (o disattiva) la
ricorsione dei directory per i comandi mget e mput.
Quando ATTIVO, questi
comandi elaboreranno tutti i directory in quello sorgente (cioè, i directory
dacui stanno copiando) ed entreranno ricorsivamente in ogni directory
che corrisponde alla maschera specificata con il comando. Solo i file che
corrispondono alla maschera specificata con il comando: mask saranno recuperati.
Vedere anche il comando mask.
Quando la ricorsione è DISATTIVA, solo i
file del directory di lavoro corrente che corrispondono alla maschera
specificata con i comandi mget o mput saranno copiati ed ogni maschera
impostata usando il comando mask sarà ignorata.
rm Parametri: <maschera>
Descrizione: Rimuove tutti i file corrispondenti alla maschera dal
directory di lavoro corrente sul server.
rmdir Parametri: <nome di
directory>
Descrizione: Rimuove il directory specificato (ammesso che
i privilegi dell'utente lo consentano) dal server.
tar Parametri: <c|x>[IXbgNa]
Descrizione: Esegue un'operazione tar - vedre la precedente opzione della
linea di comando -T. Il comportamento può essere modificato dal comando
tarmode (vedi oltre). L'uso delle opzioni g (incrementale) ed N (più recenti)
cambierà le modalità tarmode. Da notare che l'opzione "-" con tar x potrebbe
non funzionare - usare piuttosto la linea di comando.
blocksize Parametri
<blocksize>
Descrizione Deve essere seguita da una dimensione di blocco
valida (maggiore di 0). Provoca la scrittura in uscita di file tar in blocksize*TBLOCK
(di solito 512 byte) blocchi.
tarmode Parametri <full|inc|reset|noreset>
Descrizione Cambia il comportarmento di tar nei confronti del bit di
archivio. In modalità full (modo di default) tar esegue un backup di tutto
indipendentemente dallo stato del bit di archivio. In modo incrementale,
tar prenderà in esame solo i file con il bit di archivio attivo. In modalità
reset, tar azzererà il bit di archivio di tutti i file di cui effettua
una copia (implica condivisioni di lettura/scrittura).
setmode Parametri
<nome di file> <perm=[+|-]rsha>
Descrizione Una versione del comando DOS
attrib per modificare i permessi dei file. Per esempio,
setmode miofile
+r
rende mio di sola lettura.
Alcuni server sono imprecisi riguardo
l'uso di maiuscole e minuscole su nomi di utenti, password, nomi di condivisione
(cioè nomi di servizi) e nomi delle macchine. Se si non si è in grado di
connettersi è necessario provare tutti i parametri in maiuscolo.
Spesso
è necessario usare l'opzione -n connettendosi ad alcuni tipi di server. Per
esempio OS/2 LanManager pretende che sia usato un nome netbios valido,
quindi è necessario fornire un nome valido che sia conosciuto al server.
smbclient supporta nomi di file lunghi dove il server supporta il protocollo
LANMAN2.
Non applicabile.
USER Tale variabile
dovrebbe essere impostata al nome dell'utente che usa il client. L'informazione
è usata solo se il livello di protocollo è abbastanza alto per supportare
password a livello di sessione.
La posizione del server
e dei file di supporto sono scelte da ciascun amministratore di sistema.
Quelli che seguono solo semplici suggerimenti.
Si raccomanda che il software
che funge da client gerarchia /usr/local/samba sia installato all'interno
della gerarchia /usr/local/samba in un directory leggibile da chiunque,
scrivibile solo da root. Il programma NON dovrebbe essere ne' setuid, ne'
setgid.
I file di log dovrebbero essere posti in un directory leggibile
e scrivibile solo dall'utente.
Per verificare il funzionamento del client,
è necessario conoscere il nome di un Lan manager server funzionante. É
possibile eseguire smbd (vedere smbd(8)
) come un utente ordinario - eseguendo
il server come un demone su una porta accessibile all'utente (di solito
ogni porta il cui numero sia superiore a 1024) è un valido server di test.
Questa pagina di manuale è (per la maggior parte) corretta
per la versione 1.9.00 del pacchetto Samba, più qualche recente patch. Necessariamente
queste note saranno in ritardo rispetto lo sviluppo del software, perciò
è possibile che la versione disponibile del programma abbia estensioni
o semantiche dei parametri che differiscono o non sono illustrate in queste
pagine del manuale. Si prega di indicare queste situazioni all'indirizzo
indicato successivamente per la correzione.
smbd(8)
[Sezione in corso di realizzazione]
La maggior parte dei messaggi diagnostici
del client sono memorizzati in file specifici che devono essere specificati
all'atto della compilazione ma possono essere impostati con la linea di
comando.
Il numero ed il tipo dei messaggi di diagnosi disponibili dipende
dal livello di debug usato dal client. Se si manifestano problem, è utile
assegnare un livello di debug 3 ed utilizzare i file di log.
La maggior
parre dei messaggi sono ragionevolmente autoesplicativi. Sfortunatamente
al momento in cui si scrivono questa pagina del manuale il codice sorgente
non è ancora definitivo al punto di garantire la descrizione di ciascuna
segnalazione. A questo punto la cosa migliore da fare potrebbe essere di
ispezionare il codice sorgente alla ricerca delle condizioni che hanno
generato il messaggio che si interessa investigare.
Nessuno conosciuto.
La versione originale del pacchetto software Samba e delle
utility relative sono state create da Andrew Tridgell (samba-bugs@samba.anu.edu.au).
Inoltre Andrew mantiene i sorgenti ufficiali per questo progetto.
Traduzione:
Andrea Girotto (andrea.girotto@usa.net)
Consultare smb.conf(5)
per una lista
completa di contribuzioni e dettagli su come segnalare bug, riportare
commenti etc.
Table of Contents
|