Linux: Montowanie zdalnego dysku (samba, network share)

6-wrz-2021

Do zmontowania zasobu sieciowego można wykorzystać polecenie:

sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o user=faxuser
[sudo] password for boss: 
Password for faxuser@//192.168.2.20/Gigabajtus:  ***********

faxuser to użytkownik zdalny (majacy dostęp do zdalnego share)

boss to lokalny użytkownik z uprawnieniami do sudo

Pierwsze haslo podajemy dla sudo, a drugie, to haslo zdalnego użytkonika zasobu sieciowego

Takie montowanie pozwoli wprawdzie wyświetlić dane z zasobu sieciowego, ale do zapisu trzeba by jeszcze dodać uid= i guid=. Dlaczego? Lokalny użytkownik uzyskujący dostęp do zdalnych zasobów, jako tako – nie ma tam zdefiniowanych uprawnień, bo jest użytkownikiem lokalnym. Dodanie tych opcji powoduje, że operacje wykonywane na zdalnym zasobie będą „mapowane” tak, jakby uruchamiał je użytkownik z określonym uid i guid

Polecenie może nawet wyglądać tak:

sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o user=faxuser,uid=1000,gid=1000

Teraz zostaniemy tylko zapytani o haslo, ale jeśli do polecenia dodamy jeszcze password, to żadnego pytania już nie będzie:

sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o user=faxuser,password='remote-password',uid=1000,gid=1000

No to pięknie. Taka komenda o nic nie pyta, więc może dałoby się montować zasoby zdalne automatycznie? Zazwyczaj posłuujemy się do tego plikiem fstab, ale… ten plik jest czytelny dla wszystkich, a my musielibyśmy tam umieścić haslo. To zły pomysł. Zamiast tego można utworzyć plik na dysku o następujacej zawartości:

user=faxuser
password=remote_password
#domain=myDomain

Teraz można już posłużyć się poleceniem bez hasła, które wykorzysta ten plik:

sudo mount -t cifs //192.168.2.20/Gigabajtus ./fax -o credentials=/home/boss/.sambaclient/config-cams.ini,uid=1000,gid=1000

Ponieważ plik zawiera haslo…. lepiej byloby zadbać o nadanie właściwych uprawnień…  np. 600. Admin i tak podejrzy, ale przecież montowanie i tak jest wykonywane przez admina, więc haslo jest mu znane.

Oto jak może wyglądać zawartość pliku fstab:

//192.168.2.20/Gigabajtus  /home/boss/fax   cifs  credentials=/home/boss/.sambaclient/config-cams.ini,uid=1000,gid=1000,iocharset=utf8  0  0

Od tej pory zdalny zasób sieciowy będzie instalowany automatycznie po bootowaniu systemu

https://wiki.samba.org/index.php/Mounting_samba_shares_from_a_unix_client

https://unix.stackexchange.com/questions/68079/mount-cifs-network-drive-write-permissions-and-chown

Auto-mount Samba / CIFS shares via fstab on Linux

Komentarze:

  1. Marcin napisał,

    Jeśli przy montowaniu pojawia się błąd:

    mount: /home/marcin/docs: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. helper program.

    to trzeba doinstalowac cifs-utils

    sudo apt install cifs-utils

Autor: Rafał Kraik