Gyakran előforduló feladat, hogy egy távoli Windows gép megosztását, vagy egy Linux gép Samba megosztását kell rendszerünkbe felcsatolni.
Előkészületek
Írja be egy fájlba a felhasználónevet és jelszót, hogy az aztán ne legyen szem előtt – mint például mount paraméterei között:
/root/.smbpasswd tartalma:
username=YOURUSERNAME password=YOURPASSWORD domain=HAKELLAKKORADJUKMEG
Rejtse el a fájlt világ kíváncsi szeme elől:
chown root. /root/.smbpasswd chmod 600 /root/.smbpasswd
Ha egy usernek kell és mondjuk néha változik a tartalma:
A /root/.smbpasswd helyett legyen /home/user/.smbpasswd
chown-nál meg az adott felhasználót adja meg.
Felvétel fstab-ba (működik régivel, újjal, mindenhol)
Szekessze az fstab fájlt:
mcedit /etc/fstab
és végére illesszünk be egy új sort:
//ip/share /media/ide/akarom/ cifs credentials=/root/.smbpasswd,iocharset=utf8,file_mode=0664,dir_mode=0775,_netdev,x-systemd.after=network-online.target,noexec,nosuid 0 0
A _netdev és a x-systemd.after=network-online.target paraméterekkel bevárja a hálózat éledését.
Ha nem akarja automatikusan csatolni a fájlrendszert, használhatja ezt az fstab fájlban megadható sort is:
//ip/share /media/ide/akarom/ cifs credentials=/root/.smbpasswd,iocharset=utf8,file_mode=0664,dir_mode=0775,_netdev,x-systemd.after=network-online.target,noauto,x-systemd.automount,x-systemd.idle-timeout=30,noexec,nosuid 0 0
(Természetesen a megfelelő //ip/share (távoli kiszolgáló) és /media/ide/akarom/ (hely csatolási pont) értékekkel)
Ezek után a
mount -a mount
parancsokkal meg tudjuk nézni, hogy sikerül-e a mount az fstab alapján.
Másik megoldás fstab helyett, systemd-vel – az újabb, systemd-s rendszerekhez
Hozza létre egy fájlt media-ide-akarom.mount néven ebben a mappában: /etc/systemd/system. Fontos, hogy a mount neve a "Where" résznél megadott legyen, csak per jelek helyett "-" (minusz) jellel megadva.
[Unit] Description=My CIFS Mount Requires=network-online.target After=network-online.service Before=samba.service [Mount] What=//ip/share Where=/media/ide/akarom/ Options=credentials=/root/.smbpasswd,iocharset=utf8,file_mode=0664,dir_mode=0775,noexec,nosuid Type=cifs [Install] WantedBy=multi-user.target
Ha nem akarja azonnali felcsatolást, csak a használat esetén, akkor egy fájlt media-ide-akarom.automount néven hozza létre a fájlt ebben a mappában: /etc/systemd/system.
[Unit] Description=My CIFS Mount Requires=network-online.target After=network-online.service Before=samba.service [Automount] What=//ip/share Where=/media/ide/akarom/ Options=credentials=/root/.smbpasswd,iocharset=utf8,file_mode=0664,dir_mode=0775,noexec,nosuid Type=cifs TimeoutIdleSec=30 [Install] WantedBy=multi-user.target
Hibaelhárítás
A „CIFS: Unknown mount option x-systemd.after” hiba
Ha a "CIFS: Unknown mount option x-systemd.after" hibát kapjuk akkor távolítsa el a x-systemd.after=network-online.target paramétert.
A „CIFS VFS: No username specified” hiba
Ha a "CIFS VFS: No username specified" hiba jelentkezik, telepítse a cifs-utils csomagot:
sudo apt install cifs-utils
Vagy CentOS/Fedora rendszerek esetében:
sudo yum install cifs-utils
A "mount error(112): Host is down" és "CIFS VFS: cifs_mount failed w/return code = -112" hiba
Ha a SMB/CIFS kiszolgáló elérhető és ennek ellenére a felcsatolás során a
mount error(112): Host is down
hibát jelez a mount parancs, illetve az automatikus csatoláskor a /etc/fstab fájlban vagy systemd szervizként végzett csatolása dmesg rendszernaplóban az alábbi hibaüzenetet produkálja:
CIFS VFS: cifs_mount failed w/return code = -112
akkor érdemes magasabb (vagy éppen alacsonyabb - bár az alacsonyabb verziók biztonsági megfontolásból nem ajánlottak) SMB protokoll verziót megadni a CIFS mount számára. Erre a "vers" paraméter szolgál, amely a SMB protokoll verziót adja meg. Engedélyezett értékek:
- 1.0 - A klasszikus CIFS/SMBv1 protokoll.
- 2.0 - Az SMBv2.002 protokoll. Ezt először a Windows Vista Service Pack 1-ben, és a Windows Server 2008-ban vezették be. Ne feledje, hogy a Windows Vista kezdeti kiadásának egy kicsit más nyelvjárása (2.000) nem támogatott.
- 2.1 - Az SMBv2.1 protokoll, amelyet a Microsoft Windows 7-ben és a Windows Server 2008R2-ben vezettek be.
- 3.0 - Az SMBv3.0 protokoll, amelyet a Microsoft Windows 8-ban és a Windows Server 2012-ben vezettek be.
- 3.02 vagy 3.0.2 - Az SMBv3.0.2 protokoll, amelyet a Microsoft Windows 8.1-ben és a Windows Server 2012R2-ben vezettek be.
- 3.11 vagy 3.1.1 - Az SMBv3.1.1 protokoll, amelyet a Microsoft Windows 10-ben és a Windows Server 2016-ban vezettek be.
- 3 - Az SMBv3.0 protokoll verziója és felette.
- default- Megpróbálja megállapodni a kliens és a szerver által támogatott legmagasabb SMB2+ verzióban.
A fenti példát átalakítva a "vers=3.11" beállítást használva:
//ip/share /media/ide/akarom/ cifs credentials=/root/.smbpasswd,iocharset=utf8,file_mode=0664,dir_mode=0775,_netdev,x-systemd.after=network-online.target,noauto,x-systemd.automount,x-systemd.idle-timeout=30,noexec,nosuid,vers=3.11 0 0