Jak přistupovat k CIFS z linuxového počítače pomocí SAMBA
Obvykle vám příkaz sdělí, zda je použita nesprávná volba, ale někdy jsou chyby méně než užitečné. Toto je několik chyb, na které jsem narazil.
Nesprávná volba připojení
Tohle bylo celkem jasné. Zaprvé jsem neměl nainstalované nástroje cifs-utils. Za druhé jsem použil špatnou syntaxi příkazu.
Mount point does not exist
Opět samozřejmost. Adresář, do kterého se snažíte připojit, musí existovat.
Není takový soubor nebo adresář (při připojování)
To znamená, že jste na serveru NFS zadali špatnou exportní cestu. Zkontrolujte cesty propojení a zkuste to znovu.
Host je mimo provoz
Tato chyba byla záludná, protože naznačuje, že server nebyl v provozu. V některých případech může jít skutečně o problém. V mém případě tomu tak ale nebylo.
# mount -t cifs -o user=cifsuser \\\\DEMO\\nas /mnt/nasPassword for cifsuser@\DEMO\nas: **********mount error(112): Host is down
Ve skutečnosti byl ale problém v tom, že jsem nezadal verzi SMB a ve výchozím nastavení se pokusil použít SMBv1.0.
Zadáním verze SMB (-o vers=3.0) se tento problém obešel.
Potřebný klíč není k dispozici
Tato chyba je specifická pro Kerberos. V mém případě neexistoval SPN cifs/servername.domain.com pro název hostitele, který jsem použil v cestě UNC. To můžete vidět na zachycení paketu.
Oprávnění odepřeno
Tato chyba je v systému Windows i Linux v mnoha případech poměrně zbytečná – hlavně proto, že může znamenat různé věci. Někdy se skutečně jedná o problém s přístupem (například oprávnění na úrovni sdílení nebo souborů). Při testování jsem však na tento problém narazil i v případě, že jsem měl na serveru CIFS v ONTAP povoleny nepodporované funkce SMB.
# mount -t cifs -o vers=3.0,user=administrator,domain=NTAP.LOCAL //DEMO/nas /mnt/nasPassword for administrator@//DEMO/nas: **********mount error(13): Permission denied
V trasování paketů jsem viděl, že mi klient sdělil, co podporuje:
Odpověď se však o problému nezmiňovala. So I made sure to disable the following CIFS/SMB features:
- SMB3 encryption (cifs security modify)
- Large MTU and SMB Multichannel (cifs options modify)
Once I did that, I was able to mount.
# mount -t cifs -o vers=3.0,user=administrator,domain=NTAP.LOCAL //DEMO/nas /mnt/nasPassword for administrator@//DEMO/nas: **********# touch /mnt/nas/smbfile# ls -la /mnt/nastotal 1drwxr-xr-x 2 root root 0 Mar 27 14:36 .drwxr-xr-x. 9 root root 97 Mar 27 10:17 ..-rwxr-xr-x 1 root root 0 Mar 27 14:36 smbfile
For Kerberos, you would just specify sec=krb5.
# mount -t cifs -o sec=krb5,vers=3.0,user=administrator,domain=NTAP.LOCAL //DEMO/nas /mnt/nas