Nie można zamontować udziału Windows 7 w systemie Linux za pomocą CIFS: Błąd montowania (13): Odmowa uprawnień

4

Mamy wpis akcji Windows XP w naszym FSTAB, który działa w następujący sposób:

//MAIN/StorageD /mnt/storaged cifs username=admin,password='',uid=1001,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0    0

Ale wpis dotyczący systemu Windows 7 nie:

//MAIN-WIN7/Win7VM /mnt/Win7VM cifs username=main,password='',uid=1001,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0    0

Katalog / mnt / Win7VM jest ustawiony na 777 uprawnień i jest własnością użytkownika 1001

Staramy się więc trochę debugować i montować ręcznie ...

W ramach kontroli działają następujące elementy:

mount -t cifs '//MAIN/backupx' /mnt/backupx -o username=Admin,password=''

Ale w przypadku systemu Windows 7 to nie działa.

mount -t cifs '//MAIN-WIN7/Win7VM' /mnt/Win7VM -o username=Main,password=''

Gdy dostaję błąd (jak sądzę, słynny):

root@debian:/home/user# mount -t cifs //MAIN-WIN7/Win7VM /mnt/Win7VM -o     username=Main,password='',sec=ntlm
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Spędzam więc godziny, szukając, sprawdzając i próbując wykonać następujące czynności:

Sprawdzone ustawienia:

  • Grupa robocza to „WORKGROUP”
  • Domena to „MAIN-WIN7”
  • Użytkownik jest „Główny”
  • Hasło nie jest ustawione
  • Udział jest Win7VM
  • Udział jest dostępny za pośrednictwem udziałów sieciowych w systemie Windows

Listy SMBTREE:

root@debian:/home/user# smbtree
Enter root's password: 
WORKGROUP
\\MAIN-WIN7             
    \\MAIN-WIN7\Win7VM    
  • Zmieniono ustawienia zasad bezpieczeństwa systemu Windows „Klient sieci Microsoft: Wysyłaj niezaszyfrowane hasła stronom trzecim” na „Włączone”
  • Zmieniono politykę bezpieczeństwa systemu Windows w „Zabezpieczeniach sieci: Poziom uwierzytelnienia menedżera sieci LAN w celu wysłania LM i NTLM - użyj zabezpieczeń sesji NTLMv2, jeśli jest negocjowana”
  • Wyłączono wszystkie programy antywirusowe i zapory ogniowe
  • Dodanie przełącznika „sec = ntlm” jak w „/ mnt / Win7VM -o nazwa użytkownika = Main, hasło = '', sec = ntlm”
  • Dodanie domeny do użytkownika jak w „MAIN-WIN7 / Main”
  • Używanie „mount.cifs” zamiast „mount -t cifs”
  • Katalog montowania CHMOD do 777 Katalog montowania CHOWN do użytkownika „1001” i Grupowanie do „użytkownika” (będzie to potrzebne do wpisu fstab, jeśli uda mi się go zamontować ręcznie)

Udział jest w systemie Windows 7 Ultimate, a klient z błędami uprawnień to Debian Wheezy.

Teraz brakuje mi terminów i pomysłów. Myślałem, że to będzie proste; teraz zmarnowałem godziny. Czy ktoś ma jakieś pomysły? To chyba coś prostego, prawda?

Edytować:

Zapomniałem fikcyjnego wyboru próby uzyskania dostępu do udziału z komputera z systemem Windows. Nie zadziałało to, że zbadałem więcej ustawień systemu Windows, co doprowadziło mnie do rozwiązania zamieszczonego poniżej.

Damon
źródło
Po prawej stronie linii poleceń ukryta jest sec=ntlmopcja, która okazała się być kluczem w moim przypadku. Warto również przeczytać: askubuntu.com/questions/580069/…
Stéphane Gourichon
(Windows 7) Musiałem przejść do panelu sterowania -> sieć i internet -> centrum sieci i udostępniania -> zaawansowane ustawienia udostępniania -> i wybrać „wyłącz [tak, wyłącz] chronione hasłem udostępnianie”. Następnie mógłbym zamontować swój udział w Debianie za pomocą hasła (tak, z).
BurnsBA

Odpowiedzi:

3

Pozostaw to Windowsowi, a NIE Linuxowi.

Rozwiązaniem była zmiana udostępniania ORAZ ustawienia zabezpieczeń udziału w celu uwzględnienia niezbędnych uprawnień.

Znalazłem tutaj film na waszej tubie, który był ostatnim elementem układanki.

Zasadniczo dajesz zarówno uprawnienia do udostępniania, jak i zabezpieczenia „KAŻDEMU” na dysku, który chcesz udostępnić (prawdopodobnie dotyczy to również folderu, ale nie tego chciałem udostępnić).

Po pierwsze, przejdź do napędu, a następnie przejdź do Właściwości> Udostępnianie> Udostępnianie zaawansowane> Uprawnienia i do grupy / użytkownika „WSZYSTKIEGO” przydziel wszystkie uprawnienia. Jeśli nie ma nikogo na liście, dodaj go do listy.

Po drugie przejdź do Właściwości> Bezpieczeństwo> Edytuj> Dodaj i dodaj „WSZYSTKO”. Następnie przypisz wszystkie uprawnienia, które chcesz „KAŻDEMU”.

Jako notatkę zidentyfikowałem również sieć jako „prywatną” za pomocą Panelu sterowania> Narzędzia administracyjne> Zasady zabezpieczeń lokalnych> Zasady listy menedżerów sieci> następnie wybrałem odpowiednią sieć i zmieniłem lokalizację na „Prywatną”. Nie jestem pewien, czy to wpłynęło na coś w koniec.

Jestem pewien, że wszystkie ustawienia domyślne mają słuszną przyczynę, a udzielenie „wszystkim” pełnych uprawnień kontrolnych otworzyło lukę, która spowoduje eksplozję mojego komputera i sieci przez interpretację przyszłych zdarzeń przez niektórych ludzi, ale hej, to naprawiło problem.

Damon
źródło
2

To może być dziwne, ale kiedy użyłem poprzedniej odpowiedzi, wydawało się, że nie rozwiązało to wszystkich problemów. Ale znalazłem kombinację rozwiązań, które wydają się naprawiać problem, a ponieważ problem wydaje się tak powszechny, rozsądne było opublikowanie mojej poprawki.

Najpierw zanotuj niektóre elementy w oknach i zmień niektóre ustawienia. Uwaga nazwa użytkownika, hasło i grupa robocza (domena). Opuściłem również „grupę domową”.

Zmień także wpis rejestru, aby zapobiec błędom alokacji pamięci przy większych (<1 GB powodowało problemy dla mnie) udziałach i transferach. Zmień HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Sizena „3”

Link do dodatkowych informacji o tym ustawieniu rejestru znajduje się tutaj .

Teraz uruchom ponownie LanmanServer, aby zastosować ustawienia rejestru. Otwórz wiersz CMD z uprawnieniami administratora i wpisz:

sc stop LanmanServer
sc start LanmanServer

To rozwiązanie pochodzi stąd

Teraz mam nadzieję, że Windows jest gotowy do pracy.

Następnie strona linux. Dużą zmianą, która się sprawdziła, było umieszczenie informacji o użytkowniku i serwerze w pliku referencji zamiast polecenia montowania. To był ostatni magiczny kawałek, który, jak myślałem, nic nie zrobił i zaczął działać natychmiast po zmianie (choć z problemami z pamięcią, które rozwiązaliśmy powyżej). Zrób to, tworząc plik z:

user="UserName"
password="Password"
domain="WindowsWorkgroup"

Następnie dodaj parametr „cred” do wpisu fstab. Dodałem również parametr rw. I na wszelki wypadek zmieniłem identyfikator użytkownika i identyfikator użytkownika na mój użytkownik zalogowany na Linux-ie. 1001 może działać, po prostu tego nie próbowałem.

Więc mój ostatni wpis na fstab wyglądał tak.

//DESIGNPC/BackupX /mnt/backupx cifs rw,uid=user,gid=user,file_mode=0777,dir_mode=0777,cred=/home/user/.cred,sec=ntlm 0 0

Szczegóły niektórych z nich pochodzą stąd

Przesyłanie plików w obu kierunkach działało bezbłędnie wraz z czytaniem i usuwaniem, gdzie moja odpowiedź wcześniej miała pewne problemy z uprawnieniami przy zapisywaniu i usuwaniu, że po prostu pracowałem i nie wróciłem do tego pytania. To także rozwiązuje problemy z alokacją pamięci, które prawdopodobnie się pojawią, które wydają się być po stronie Linuksa, ale wymagały naprawy rejestru rejestru Windows.

Damon
źródło