Błąd „Tylko root można zamontować” - ale jestem rootem

9

Wczoraj mogłem zamontować mój udział smb za pomocą następującego polecenia:

sudo mount -t cifs //XXXX/share /media/share -o user=Ben,password=XXX,workgroup=WORKGROUP,ip=XXX.XX.XX,uid=ben,gid=ben,rw

Nie wiem, dlaczego to już nie działa. (Może z aktualizacji systemu).

Wystąpił następujący błąd:

mount: only root can mount //XXX.XXX.XXX/share on /home/ben/share

Nie wiem jak rozwiązać ten problem ..

Próbowałem również zamontować go za pomocą su - i Smbclient działa.

Korzystam z ArchLinux.

Ben D.
źródło
1
Jaka jest wydajność echo "$EUID"?
Chris Down
1
@ChrisDown echo $ EUID = 1000
Ben D
6
@BenD - W takim przypadku nie działasz efektywnie jako root. (Oczywiście powinno to być uruchamiane w tym samym środowisku, w którym próbujesz się zamontować, więc upewnij się, że rozwija się powłoka root $EUID.)
Chris Down
2
Dlaczego ścieżka różni się między komunikatem o błędzie a poleceniem montowania? Jeden jest, /media/sharea drugi jest /home/ben/share. Polecam również /mntdo montażu ręcznego lub statycznego. /mediazostał stworzony dla demonów HAL / udev do montowania dynamicznie tworzonych dysków, takich jak napęd USB.
penguin359
1
Jak wspomniano w @ 9000, zobacz, co mówi tryb pełny, dodając -v do polecenia mount. Sprawdź także dzienniki systemowe, jeśli jeszcze tego nie zrobiłeś, i dmesg, i być może uruchom polecenie w celu głębszego rozwiązywania problemów.
Banjer

Odpowiedzi:

1

Jeśli nie wiesz, co się stanie, wypróbuj strace:

sudo strace -f -F -o mount.strace mount -t cifs //XXXX/share /media/share -o user=Ben,password=XXX,workgroup=WORKGROUP,ip=XXX.XX.XX,uid=ben,gid=ben,rw

Następnie spróbuj wyszukać plik mount.straceod dołu w poszukiwaniu błędów, oczywiście znajdziesz powód ... To trudna metoda, wiem ...

Jan Marek
źródło
0

Ponieważ nie widzę żadnego właściwego powodu twojego błędu, zaproponowałbym nieco inną składnię.

Najpierw utworzę nowy katalog jako root (aby mieć pewność, że root go utworzy), a następnie zamontuję udział z nieco innymi opcjami. Oto polecenia (wszystkie powinny się powieść):

sudo mkdir /mnt/smb_share
sudo touch /mnt/smb_share/test && sudo rm -f /mnt/smb_share/test && echo "Permissions are OK"
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP)

Polecenie mount powinno poprosić cię o podanie hasła Ben użytkownika Samby. Usunąłem opcje UID i GID tylko po to, by usunąć trochę „szumu”. Za pomocą tego polecenia powinieneś być w stanie sprawdzić, czy możesz zamontować udział. Oczywiście musisz wymienić:

  • (nazwa hosta) według nazwy hosta serwera udostępniania. Jeśli nie działa z nazwą hosta, spróbuj ponownie, ale zamiast tego użyj adresu IP;
  • (WORKGROUP) według grupy roboczej lub domeny.

Jeśli to zadziała. Spróbuj odmontować udział i ponownie zamontować go tylko za pomocą identyfikatora użytkownika:

sudo umount /mnt/smb_share
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP),uid=ben

Jeśli to działa, dodaj gid, następnie dodaj rw, a następnie dodaj opcję hasła (krok po kroku). Dzięki temu możesz określić, która z opcji nie jest zrozumiała.

Huygens
źródło