Jak uzyskać dostęp do serwera plików Windows z systemu Linux?

12

Mamy serwer plików systemu Windows o takim adresie:

\\bioinf-filesrv2.mycompany.fr\cluster15

Jak mogę uzyskać do niego dostęp z Linuksa?

Na Ubuntu 14.04 próbowałem uzyskać do tego dostęp za pośrednictwem nautilus, ale to się zawiesiło. Oto raport o awarii:

http://pastebin.mozilla.org/5533388

co było do okazania
źródło
1
Podaj nam więcej informacji. Z jakiego systemu Linux korzystasz? Czy masz interfejs graficzny? Czy próbowałeś otworzyć przeglądarkę plików (wystarczy kliknąć dowolny katalog) i sprawdzić sekcję sieci? Oczekujemy również, że użytkownicy najpierw sami spróbują rozwiązać problem przed opublikowaniem tutaj. Czy wypróbowałeś któryś z kilku tysięcy wyników, które otrzymałeś, kopiując / wklejając tytuł pytania do wyszukiwarki? Jak ponieśli porażkę?
terdon

Odpowiedzi:

14

Zakładając najnowszą wersję systemu Linux, wykonaj następujące czynności:

$ mount -t cifs //bioinf-filesrv2.mycompany.fr/cluster15 /mnt

Który to zamontuje na /mnt. Będziesz potrzebował wystarczających uprawnień (lub uprawnienia roota).

Jeśli musisz dodać poświadczenia, spróbuj:

$ mount -t cifs -o username=myuser,password=mypass //bioinf-filesrv2.mycompany.fr/cluster15 /mnt

Może być konieczne zainstalowanie pakietu z repozytorium dystrybucji, o nazwie, cifs-utilsale mam nadzieję, że będzie on już dostępny jako część standardowej instalacji.

rozgwiazdy
źródło
Czy bezpiecznie jest umieścić hasło w linii poleceń?
qed
Tylko tak bezpieczne, jak w wierszu polecenia. Jeśli umieszczasz je w skrypcie, są one tak bezpieczne, jak uprawnienia w tym skrypcie. Istnieje alternatywa polegająca na użyciu pliku referencji. Jest to opisane tutaj .
starfry
Na Debianie GNU / Linux 10 (buster) dostaję bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.AKTUALIZACJĘ: OK, prawdopodobnie muszę apt install cifs-utils...
NoOne
4

Sugeruję dodanie go do twojego /etc/fstab, więc będzie on dostępny zaraz po uruchomieniu. Mój ma (długi) odczyt linii:

//1.2.3.4/share_name/    /media/mount_point    cifs    uid=1000,guid=1000,rw,credentials=/etc/cifspasswd    0    0
  • Pierwsze pole to adres i nazwa udziału.
  • Drugie pole to punkt podłączenia w systemie (folder musi istnieć).
  • cifs to typ systemu plików dla dowolnego udziału Windows.
  • uid=1000,guid=1000,rw oznacza, że ​​każdy w systemie może uzyskać dostęp do tego udziału
  • credentials=/etc/cifspasswdoznacza, że ​​znalezione poświadczenia /etc/cifspasswdzostaną użyte do uwierzytelnienia dostępu do udziału na serwerze Windows.

Ten plik poświadczeń powinien zawierać nazwę użytkownika i hasło niezbędne do uzyskania dostępu do udziału Windows, tj

username=foo
password=bar

Ponieważ /etc/fstab(zwykle) można odczytać innym użytkownikom systemu, możesz utworzyć plik jako root i chmod go-=rwxusunąć dostęp dla innych użytkowników, aby chronić swoje hasło.

Zastrzeżenie Jeśli uruchomisz system, a serwer nie jest dostępny, Linux poczeka chwilę podczas sekwencji rozruchowej, zanim się podda.

Marmaduke
źródło
1
Ten pracował dla mnie świetnie, z wyjątkiem opcji części linii powinno być: uid=1000,gid=1000,rw,credentials=/etc/cifspasswd. Uwaga: guidzmieniono na gid.
Michael Johnson
1
Aha, musiałem zmienić sekcję systemu plików, aby używać jej \040spacji (muszę uwielbiać administratorów Windows). Mam te informacje z tej odpowiedzi Przepełnienie stosu .
Michael Johnson