jak zalogować się do sshfs jako użytkownik sudo

1

Muszę zamontować zewnętrzny zasób udostępniony za pomocą sshfs. Mam skonfigurowane uwierzytelnianie SSH między moim komputerem a serwerem za pomocą lokalnego użytkownika (innego niż root) i działa jak urok za pomocą następującego polecenia:

sshfs rperez@<server_ip>:/home/rperez/shared -p 2051 ~/shared -o auto_cache,reconnect

Teraz muszę udostępnić zamontowany zasób kontenerem Docker jako wolumin, ale widocznie nie jest to możliwe bez uruchomienia powyższego polecenia za pomocą sudo. Jest to wyjście do uruchomienia polecenia powyżej jako sudo:

$ sudo sshfs rperez@<server_ip>:/home/rperez/shared -p 2051 ~/shared -o auto_cache,reconnect
[sudo] password for rperez: 
fuse: bad mount point `/home/rperez/shared': Transport endpoint is not connected

Punkt montowania zmienia się na czerwony z ? jako pierwsza postać i staje się niedostępna ?shared (czerwony, ponieważ widzę z mc`.

Próbowałem skonfigurować uwierzytelnianie SSH za pomocą sudo ale najwyraźniej tak jest niemożliwe jak w odpowiedzi na ten post . Przeczytałem kilka na ten temat ( 3 , 4 , 5 , 6 ) temat, ale nie mogę tego zrobić.

Jakakolwiek rada? Czego tu brakuje?

Aktualizacja :

Zgodnie z sugestią @Xaloroues uruchomiłem następujące polecenia:

$ sudo mkdir shared
$ sudo sshfs rperez@<server_ip>:/home/rperez/shared -p 2051 /mnt/shared -o auto_cache,reconnect
rperez@<server_ip> password: 

Polecenie mount działa, ale nie mogę uzyskać dostępu do zamontowanego zasobu. Uruchomiłem następujące polecenie i zobaczę dane wyjściowe:

$ sudo stat /mnt/shared
[sudo] password for rperez: 
  File: 'shared'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 32h/50d Inode: 1           Links: 1
Access: (0775/drwxrwxr-x)  Uid: ( 1041/ UNKNOWN)   Gid: ( 1038/ UNKNOWN)
Access: 2016-09-30 10:27:28.000000000 -0400
Modify: 2016-09-21 15:20:20.000000000 -0400
Change: 2016-09-21 15:20:20.000000000 -0400
 Birth: -

Zobacz także ten obrazek o tym, jak wygląda zamontowany folder:

enter image description here

Uprawnienia przed zamontowaniem zasobów udostępnionych wydają się być w porządku:

$ ls -la /mnt/
total 16
drwxr-xr-x.  4 root root 4096 Sep 30 10:35 .
dr-xr-xr-x. 18 root root 4096 Sep 30 08:10 ..
drwxr-xr-x   2 root root 4096 Sep 30 10:35 shared

Więc co się stało?

ReynierPM
źródło
Przy 755 uprawnieniach każdy powinien mieć możliwość czytania /mnt/shared. Po zamontowaniu jakie są wyniki tego samego polecenia? ( ls -ld /mnt ). 'UNKNOWN' w UID i GID w stat polecenie results.is wynika z faktu, że NFS używa UID i GID do określenia własności i przynależności do grupy, a UID i GID nie są automatycznie synchronizowane między systemami. Istnieje wiele sposobów ich synchronizacji, z różnym stopniem złożoności, żadna nie jest łatwa i zautomatyzowana.
Xalorous

Odpowiedzi:

0

Root nie ma uprawnień do punktu montowania. Wybierz jeden poza swoim profilem. Najlepsze miejsce na Standard hierarchii systemu plików byłby punktem montowania w / mnt.

Xalorous
źródło
To w ogóle nie jest prawdą i to jest coś innego, ponieważ nie działa dla mnie, sprawdź moją edycję w OP
ReynierPM
Zaloguj się jako użytkownik sudo w systemie Linux ( someuser dla naszego przykładu). Biegać sudo su (bez zwykłego -). W rezultacie przełączasz się na roota, ale nie zmieniasz środowiska. Nadal jesteś w / user / someuser pwd. Teraz biegnij ls i powiedz mi jeszcze raz, jak się mylę. Jeśli użytkownik nie zmodyfikował uprawnień lub prawa własności / user, root nie może przejść do folderów poszczególnych użytkowników jako root. Root może przełączyć się na użytkownika, a następnie wejść. Root może przejąć własność, a następnie wejść. Root może zmienić uprawnienia na + r na innych bitach, a następnie wejść. Ale root nie może odczytywać folderów domowych użytkowników bezpośrednio bez modyfikacji.
Xalorous
Uruchamiasz komendę sudo, aby uruchomić ją jako root. To polecenie mówi rootowi, aby zamontował udział zewnętrzny w miejscu, w którym root nie ma bezpośrednich uprawnień. Więc to się nie udaje. Z podanym kodem błędu.
Xalorous