Montowanie dysków, partycji bez hasła

Jesteś nowy na forum? Przeczytaj ...

Home Fora Forum wsparcia Podstawy Montowanie dysków, partycji bez hasła

Ten wątek zawiera 13 odpowiedzi, ma 2 uczestników, ostatnio zmodyfikowany przez azja azja 2 miesięcy, 1 tydzień temu.

Oglądasz 14 posty - 1 do 14 (z 14 ogółem)
  • Autor
    Posty
  • #7889

    klatu
    Forumowicz

    Jak odblokować montowanie dysków, partycji, dla dowolnego użytkownika bądź programu?

    #7896
    azja
    azja
    Moderator

    … co masz na myśli, pisząc ‚dla dowolnego użytkownika’? root może i już; administrator może również; nie sprawdzałem, jak to wygląda na zwykłym user’ze z minimalnymi uprawnieniami. Doprecyzuj – co chcesz osiągnąć?
    ————-
    EDIT-20180711-1330 … zapewne jest, to zależne od przynależności do odpowiedniej grupy (storage?).

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7898

    klatu
    Forumowicz

    Chodzi o to co zrobić (mając uprawnienia roota) aby usunąć blokadę uwierzytelniania dla montowania partycji, dysków – najlepiej dla wszystkich użytkowników, również tych jeszcze nieutworzonych.

    Jeszcze prościej: jak zrobić żeby montowanie dowolnej partycji odbywało się bez uwierzytelniania, tak żeby nie trzeba było podawać hasła.

    Bo aktualnie jest tak, że np. klikając w Dolphinie jakąś partycję trzeba podać hasło żeby ją zamontować.

    #7899
    azja
    azja
    Moderator

    … no właśnie, gdybym był seksistą, lubił prowokować lub miał czerstwe poczucie humoru, to zapytałbym, czy jesteś dziewczyną. Czytający Twoje pytanie nie domyśli się, że chodzi o managera plików Dolphin (i środowisko KDE). Uzupełnij tytuł wątku o tę informację i czekaj na zgłoszenie kogoś, kto ma doświadczenie z tym oprogramowaniem.
    … albo poszukaj na forum (również oficjalnym Manjaro i Arch’a), bo coś mi świta, że to znany temat.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7900

    klatu
    Forumowicz

    Czytający Twoje pytanie nie domyśli się, że chodzi o managera plików Dolphin (i środowisko KDE)

    Bo nie chodzi. Z Dolphinem to był tylko przykład. Problem dotyczy każdego programu. A czy ma to związek z KDE, tego nie wiem.

    albo poszukaj na forum (również oficjalnym Manjaro i Arch’a), bo coś mi świta, że to znany temat.

    Już szukałem.

    zapewne jest, to zależne od przynależności do odpowiedniej grupy (storage?)

    Być może to dobry trop i problem sprowadza się do odpowiedzi na pytanie jak nadać stosowne uprawnienia dla udisks2

    #7901
    azja
    azja
    Moderator

    … uprawnienia, to dla user’a, nie programu. Ale poszedłbym innym tropem:
    # u mnie działa :-) ale ja mam Xfce;
    # jeżeli niczego nie zmieniałeś w systemie;
    # masz KDE;
    to stawiam na ustawienia w środowisku. Co do tego, co mi się ‚śniło’, to przypomniałem sobie – nie chodziło o montowanie dysków, tylko problemy z pracą jako root, w KDE, w przypadku niektórych aplikacji.
    … wypisz podstawowe informacje – system, środowisko graficzne, etc. Jeżeli ktoś będzie chciał Ci pomóc, to powinien to wiedzieć na starcie.
    … jak zwykle – utwórz nowego user’a i sprawdź jak, to wygląda na nim.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7902

    klatu
    Forumowicz

    utwórz nowego user’a i sprawdź jak, to wygląda na nim

    Nowy zwykły użytkownik nic nie może montować. Dodanie go, za Twoją sugestią, do grupy storage też nic nie daje, ale…

    Dodałem montowanie przez udisks2 do grupy wheel w polkit (PolicyKit).

    I teraz już nie woła o hasło.
    Co więcej odblokowało to Ustawienia systemowe w KDE, które wcześniej nie działały.

    Niestety to rozwiązanie nie działa jak trzeba, m.in. nie da się uzyskać dostępu do partycji zamontowanych na innym użytkowniku (po przelogowaniu), a przy zamykaniu systemu jest problem z zamknięciem procesu Disk Manager, co wydłuża wyłączenie komputera o 90 sekund.

    #7905
    azja
    azja
    Moderator

    … pomysł ze storage był na szybko, ale to ślepa uliczka. Natomiast policy, to chyba właściwy kierunek, ale z Twojego opisu nie bardzo wiadomo, co dokładnie zrobiłeś – mógłbyś bardziej szczegółowo opisać wykonane czynności?
    … utworzyłem, u siebie, nowego user’a (standard, bez specjalnych uprawnień) i może bez problemu montować. Utworzyłem go z poziomu środowiska graficznego (Xfce) i za pomocą jego narzędzi – może, to mieć znaczenie. Tworzyłeś user’a w konsoli, czy narzędziami graficznymi? Do jakich grup user przynależy?
    … jeżeli dysk/pen jest montowany przez userone, to usertwo nie ma dostępu do folderu, w którym urządzenie jest zamontowane – tak jest i tak powinno być. Na tym, moim zdaniem, polega ten mechanizm, że izoluje mount’y poszczególnych user’ów (mówię o: /run/media/nazwa-user’a/nazwa-dysku/). Musiałbyś montować ręcznie, do folderów z dostępem dla wszystkich.
    … czas oczekiwania na zamknięcie procesu można zmienić (-> nowy wątek).

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7908

    klatu
    Forumowicz

    Pomysł ze storage był dobry, zawsze to jakiś punkt zaczepienia…

    Dodałem do /etc/polkit-1/rules.d/99-manjaro.rules

    to:

    polkit.addRule(function(action, subject) {
        if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" ||
             action.id == "org.freedesktop.udisks2.filesystem-mount") &&
            subject.isInGroup("wheel")) {
            return polkit.Result.YES;
        }
    });
    

    Na początku do subject.isInGroup("wheel") zamiast wheel dałem właśnie storage, ale nie działało.

    Próbowałem też modyfikować /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
    Konkretnie w sekcjach:

    org.freedesktop.udisks2.filesystem-mount-system
    org.freedesktop.udisks2.filesystem-mount-other-seat

    zamieniłem <allow_active>auth_admin_keep</allow_active> na
    <allow_active>yes</allow_active>

    Dla org.freedesktop.udisks2.filesystem-mount było już ustawione ‚yes’.
    Ale skutek taki sam.

    Użytkownika utworzyłem „narzędziami graficznymi”, ma takie grupy:
    audio lp optical storage video sys network scanner power [nazwa_użytkownika]

    storage sam nadałem, a w wheel go nie ma (i nie było).

    jeżeli dysk/pen jest montowany przez userone, to usertwo nie ma dostępu do folderu, w którym urządzenie jest zamontowane – tak jest i tak powinno być. Na tym, moim zdaniem, polega ten mechanizm, że izoluje mount’y poszczególnych user’ów

    Nie jestem przekonany czy tak powinno być. Zwróć uwagę, że dostęp do takiego home jednak każdy ma – czyli chyba coś nie tak z tą izolacją.

    #7911
    azja
    azja
    Moderator

    no właśnie, pisząc o policy, jako dobrym tropie, miałem na myśli te dwa miejsca. Tyle, że ja już tak mam i niczego nie musiałem modyfikować.

    /etc/polkit-1/rules.d/99-manjaro.rules
    ---------------------------------
    polkit.addRule(function(action, subject) {
        if (action.id.indexOf("org.freedesktop.udisks2.") == 0 && subject.isInGroup("storage")) {
            return polkit.Result.YES;
        }
    });

    Bez wiersza z -mount-system – i tak, moim zdaniem powinno być.

    /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
    ---------------------------------
      <action id="org.freedesktop.udisks2.filesystem-mount">
        <description>Mount a filesystem</description>
        <defaults>
          <allow_any>auth_admin</allow_any>
          <allow_inactive>auth_admin</allow_inactive>
          <allow_active>yes</allow_active>
        </defaults>
      </action>

    org.freedesktop.udisks2.filesystem-mount-system i -mount-other-seat nie zmieniałbym.
    Uważam, że, to wystarczy do montowania podłączanych urządzeń, ale nie nadaje user’om nadmiarowych uprawnień.

    mój ‚nowy-zwykły-user’ ma takie same grupy.

    dostęp do
    /home
    mają wszyscy, bo wszyscy muszą mieć, bo tam mają swoje profile (katalogi domowe). Ale już do poszczególnych katalogów, to dostęp mają ich właściciele, czyli poszczególni user’zy. Podobnie jest z lokalizacją
    /run/media
    do której dostęp mają wszyscy, ale do poszczególnych folderów tam tworzonych (na takiej samej zasadzie jak w home) mają dostęp poszczególni user’zy. Jeżeli chcesz, aby dostęp do zamontowanego zasobu mieli wszyscy, to spróbuj tak:
    # tworzysz katalog /var/mount;
    # tworzysz grupę eciepecie;
    # dodajesz do grupy kogo chcesz;
    # nadajesz stosowne prawa dla grupy eciepecie, do katalogu /var/mount;
    # montujesz ręcznie (cokolwiek się za tym kryje) urządzenia do tego katalogu (podkatalogów).
    Chyba, że ktoś ma prostszy pomysł.

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7913

    klatu
    Forumowicz

    org.freedesktop.udisks2.filesystem-mount-system i -mount-other-seat nie zmieniałbym.
    Uważam, że, to wystarczy do montowania podłączanych urządzeń

    Też tak pomyślałem… a potem nastąpiło zderzenie z rzeczywistością.
    Sprawdzałem te wpisy z osobna i bez ...filesystem-mount-system nie zamontuję żadnych dysków.

    Wychodzi na to że konfiguracja „domyślna” ta sama, na Xfce działa, a na KDE już nie.

    Rozumiem czemu wszyscy mają dostęp do /home. Nie mam nic przeciwko temu.
    Problem polega na utrudnieniu dostępu do innych lokalizacji.
    Oczywistym jest, że blokowanie dostępu do jakichś tam katalogów nie odbywa się poprzez blokowanie montowania partycji.
    Zwracam tu tylko uwagę na niekonsekwencje przyjętych rozwiązań – do home mogą mieć dostęp wszyscy naraz, do innych partycji już nie.
    A skutki tego są opłakane… bo to czy userB_zalogowałem się jako drugi uzyska dostęp do zawartości jakiegoś tam sdbX zależy od tego czy userA_zalogowałem się jako pierwszy sobie tą partycję podmontował czy nie.

    Metody na eciepecie jeszcze nie sprawdziłem – za duży hardcore jak na mnie ;)
    Eh… czemu to wszystko nie może być proste.

    #7914
    azja
    azja
    Moderator

    umknęła mi drobna różnica pomiędzy naszymi
    /etc/polkit-1/rules.d/99-manjaro.rules
    u mnie jest:
    if (action.id.indexOf("org.freedesktop.udisks2.") == 0 && subject.isInGroup("storage")) {
    co sugeruje (przypuszczam, bo nie znam składni), że w grę wchodzi org.freedesktop.udisks2.*, a więc wszystko z udisks2, bez szczegółowego wymieniania poszczególnych pozycji (grup w org.freedesktop.UDisks2.policy). Co by potwierdzało Twoje podejrzenie, tyle że sposób j.w. jest bardziej ogólny, szerszy.

    ponieważ obaj niezgrabnie poruszamy się po temacie, to proponuję:
    # przywrócić org.freedesktop.UDisks2.policy do stanu pierwotnego:

    /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
    ---------------------------------
      <action id="org.freedesktop.udisks2.filesystem-mount">
        <description>Mount a filesystem</description>
        <defaults>
          <allow_any>auth_admin</allow_any>
          <allow_inactive>auth_admin</allow_inactive>
          <allow_active>yes</allow_active>
        </defaults>
      </action>
    
      <action id="org.freedesktop.udisks2.filesystem-mount-system">
        <description>Mount a filesystem on a system device</description>
         <defaults>
          <allow_any>auth_admin</allow_any>
          <allow_inactive>auth_admin</allow_inactive>
          <allow_active>auth_admin_keep</allow_active>
        </defaults>
      </action>
    
      <action id="org.freedesktop.udisks2.filesystem-mount-other-seat">
        <description>Mount a filesystem from a device plugged into another seat</description>
        <defaults>
          <allow_any>auth_admin</allow_any>
          <allow_inactive>auth_admin</allow_inactive>
          <allow_active>auth_admin_keep</allow_active>
        </defaults>
      </action>

    # w 99-manjaro.rules zmodyfikować wpis do postaci:

    /etc/polkit-1/rules.d/99-manjaro.rules
    ---------------------------------
    polkit.addRule(function(action, subject) {
        if (action.id.indexOf("org.freedesktop.udisks2.") == 0 && subject.isInGroup("storage")) {
            return polkit.Result.YES;
        }
    });

    # restart i sprawdzenie, czy działa. Jeżeli nie, to wtedy modyfikować wpisy w org.freedesktop.UDisks2.policy – pojedynczo. Jeżeli okazało by się to konieczne – oznaczało by, że KDE wprowadza jakieś swoje ograniczenia (być może za pomocą jeszcze innego narzędzia).

    /home nie jest partycją. Jest katalogiem, który MOŻE być podmontowaną partycją. Z punktu widzenia systemu operacyjnego, nie ma znaczenia, czy /home jest częścią tej samej partycji, co / (root), czy jest osobną partycją, zamontowaną w tym miejscu struktury plików. O dostępie poszczególnych user’ów decydują prawa do katalogów i plików. Przydzielanie tych praw, zarówno w /home, jak i /run/media jest dokładnie takie samo, dokonuje się wg tych samych reguł. Konsekwencja zdecydowanie jest.

    co do blokowania … wygląda na to, że tak, to działa. Moim zdaniem dobrze. To jest mechanizm, który ma uprościć obsługę montowania urządzeń, tak aby user nie kłopotał się pisaniem długich i niezrozumiałych komend na desktop’ie (najpewniej jest, to notebook, z niewygodną klawiaturą i jednym użytkownikiem). A Ty chcesz, żeby ten prosty i skuteczny tryb skomplikować, tak aby podawał Ci śniadanie do łóżka. Albo bezobsługowa prostota, albo mnogość funkcji i ręczne ich sterowanie – nikt Ci nie zabroni zamontować dowolnego urządzenia/partycji pod dowolny katalog i nadanie mu takich praw dostępu, żeby wszyscy (lub wybrani) mieli do niego dostęp.

    zmuszasz mnie, do tego żebym w weekend usiadł na dupsku i przejrzał parę stron i man’ów nt. montowania urządzeń. W rewanżu, Tobie również tego życzę ;-)

    a tak w ogóle, to po co Ci wielu user’ów jednocześnie pracujących? Mówimy o desktop’ie, czy server’ze?

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

    #7922

    klatu
    Forumowicz

    Mam dokładnie ten sam wpis w /etc/polkit-1/rules.d/99-manjaro.rules
    Po prostu u mnie on nie działa – czy jest czy go nie ma – bez różnicy.

    co sugeruje (przypuszczam, bo nie znam składni), że w grę wchodzi org.freedesktop.udisks2.*

    Dzięki za tą gwiazdkę *. Podstawiłem za nią filesystem-mount i też zadziałało!
    I to nawet lepiej niż te moje wcześniejsze modyfikacje.
    Pojawił się przy tym problem z uwierzytelnieniem przy odmontowywaniu, ale szybko dopisałem kolejną regułę.
    Teraz mam tak:

    polkit.addRule(function(action, subject) {
        if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount") == 0 && subject.isInGroup("storage")) {
            return polkit.Result.YES;
        }
    });
    
    polkit.addRule(function(action, subject) {
        if (action.id.indexOf("org.freedesktop.udisks2.filesystem-unmount-others") == 0 && subject.isInGroup("storage")) {
            return polkit.Result.YES;
        }
    });
    

    Po tym zniknął od razu problem ze „Stop job is running for Disk Manager” i wydłużonym czasem zamknięcia systemu, niestety jak się okazało, nie na długo.

    Na ArchWiki jest już podane na tacy rozwiązanie montowania partycji dla wszystkich.
    Udisks to robi, bez żadnego ALE. Wystarczy:

    /etc/udev/rules.d/99-udisks2.rules
    ---------------------------------
    # UDISKS_FILESYSTEM_SHARED
    # ==1: mount filesystem to a shared directory (/media/VolumeName)
    # ==0: mount filesystem to a private directory (/run/media/$USER/VolumeName)
    # See udisks(8)
    ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_FILESYSTEM_SHARED}="1"

    i voilà. Myślę że w takim Manjaro powinno to być zrobione domyślnie, plus ew. jakiś przełącznik w GUI.

    I tu już się cieszyłem że wszystko działa jak ta lala… i wtedy wrócił błąd ze „Stop job…„.

    zmuszasz mnie, do tego żebym w weekend usiadł na dupsku i przejrzał parę stron i man’ów nt. montowania urządzeń. W rewanżu, Tobie również tego życzę ;-)

    Już nie trzeba, poza tym nie ma sensu się tak poświęcać ;P Oczywiście jestem Ci wdzięczny za pomoc i cenne wskazówki :)
    Ale ja sam z Linuxa to tylko w wolnym czasie korzystam, hobbystycznie można powiedzieć. Staram się go bliżej poznać, może kiedyś będzie z tego coś więcej.
    Na tę chwilę i tak jestem przywiązany do Windowsa przez programy – i w najbliższym czasie, niestety nie widzę żeby się to mogło zmienić.

    #7924
    azja
    azja
    Moderator

    nie działa wpis ogólny (…udisks2.), ale działają szczegółowe (…udisks2.filesystem-mount, …udisks2.filesystem-unmount-others, etc.). Nie wiemy dlaczego, ale najważniejsze, że działa.

    co do rozwiązania z wiki Arch’a, to działa ono out-of-the-box w Manjaro. Dokładniej rzecz biorąc, montowanie w prywatnych folderach: /run/media/$USER/VolumeName. Jak spojrzysz wstecz, w tym wątku, to znajdziesz tam kilka moich uwag na ten temat. Cenna jest natomiast informacja, że można ten automat przestawić na montowanie w udostępnianym folderze: /media/VolumeName. Nie wiem, czy będzie, to dla mnie przydatne rozwiązanie, ale przetestuję, bo może się okazać, że w specyficznych instalacjach będzie pomocne. Przełącznik można zrobić sobie samemu: wystarczy kopiowanie odpowiedniego pliku (z 0 lub 1).

    jeżeli nie widzisz możliwości zmiany uwiązania przez Windows, to … włóż mocniejsze okulary ;-)

    Nie zadawaj pytania, jeżeli nie jesteś gotów usłyszeć odpowiedzi

Oglądasz 14 posty - 1 do 14 (z 14 ogółem)

Musisz być zalogowany aby odpowiedzieć w tym wątku.