Linux · 3 min read · Dec 10, 2025
Come Usare AutoFS Per Accedere a Condivisioni Windows e Samba
Accesso a Condivisioni Windows o Samba Utilizzando AutoFS
Hai già installato Linux sul tuo PC desktop in rete e ora vuoi lavorare con i file memorizzati su alcuni altri PC nella tua rete. Qui entra in gioco autofs. Questo tutorial mostra come configurare autofs per utilizzare CIFS per accedere a condivisioni Windows o Samba da PC desktop Linux. Include anche un file di configurazione personalizzato.
Se la versione 4.0 o superiore di autofs è già installata, dovresti trovare i file
/etc/auto.mastere
/etc/auto.smbsul tuo sistema. In caso contrario, avvia il gestore pacchetti della tua distribuzione (ad es. YaST su SuSE, synaptic su Debian o Ubuntu, …) e installalo. Mentre ci sei, installa anche il pacchetto client Samba (cerca smbclient), perché ne avremo bisogno. Su alcune distribuzioni (Ubuntu) abbiamo anche bisogno del pacchetto smbfs che contiene gli strumenti mount.cifs e umount.cifs.
Configurazione
Se autofs è già installato, probabilmente non è ancora configurato e non funziona. Supponendo che la tua distribuzione Linux contenga un kernel Linux 2.6.x, ti consiglio di utilizzare il modulo common internet file system (cifs) per accedere ai file sulla rete. Si prega di memorizzare il seguente file come
/etc/auto.cifssul tuo computer. Hai bisogno di root (o sudo) per avere i permessi per farlo:
#!/bin/bash
# $Id$
# Questo file deve essere eseguibile per funzionare! chmod 755!
key="$1"
# Nota: crea un file cred per ogni server Windows/Samba nella tua rete
# che richiede autenticazione con password. Il file dovrebbe contenere
# esattamente due righe:
# username=user
# password=*****
# Si prega di non utilizzare spazi vuoti per separare il segno di uguale dal
# nome dell'account utente o dalla password.
credfile="/etc/auto.smb.$key"
# Nota: Usa cifs invece di smbfs:
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=user,gid=users"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
if [ -x $P/smbclient ]
then
SMBCLIENT=$P/smbclient
break
fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
mountopts=$mountopts",credentials=$credfile"
smbclientopts="-A "$credfile
else
smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
/Disk/ { if (first) { print opts; first=0 };
gsub(/ /, "\\ ", $2);
sub(/\$/, "\\$", $2);
print " \
/" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'Rendi questo file eseguibile utilizzando il comando:
chmod 755 /etc/auto.cifsQuesto file è una versione leggermente modificata del file auto.smb che di solito viene fornito come parte del pacchetto autofs. Devi modificare la riga che definisce i mountopts sopra e cambiare user con il nome del tuo account personale. Ora devi fornire ad autofs le credenziali necessarie per accedere alle condivisioni sulla tua rete. Per fare ciò, crea un file chiamato
/etc/auto.smb.FILESERVERNAMEper ogni computer a cui vuoi accedere. Naturalmente, sostituisci FILESERVERNAME con il nome del computer. Riempi questi file con il nome dell’account utente e la password necessari per accedere alle condivisioni sul computer. Il contenuto di questi file dovrebbe essere simile al seguente esempio:
username=user
password=secretUsa il comando
chmod 600 /etc/auto.smb.*per proteggere le informazioni sulla password.
Ora dobbiamo dire ad autofs di utilizzare il nostro nuovo file di configurazione. Usa i comandi:
echo "/cifs /etc/auto.cifs --timeout=60" >>/etc/auto.mastere
/etc/init.d/autofs restartQuesto è tutto.
Test
Usa il comando
ls -als /cifs/FILESERVERNAME/SHARENAMEper controllare se funziona. In caso contrario, consulta i file di registro di sistema (di solito /var/log/messages o /var/log/syslog) per eventuali messaggi.
Crediti: davek per aver fornito una patch per meglio sfuggire ai segni del dollaro e agli spazi nei nomi delle condivisioni
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.