Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Link se rozbije při přihlášení přes jiného uživatele

Dobrý den,

Pokud jako uživatel user_1 vytvořím link na složku ve svém domácím adresáři (home directory) a tento link přesunu do domácího adresáře uživatele user_2, tak funguje, tak jak má, tedy mě dostane do složky, na kterou je adresován. Jenže, pokud se přihlásím pod uživatelem user_2, tak link hlásí, že je rozbitý a že takovýto adresář neexistuje.

Adresa linku je absolutní, tedy nebere v úvahu ani aktuální složku, ani domácí složku (home folder) (vypadá asi takto: /home/user_1/Shared_folder).

Úplně totožný link, jsem schopný vytvořit zadáním stejné absolutní adresy i, když jsem přihlášený na uživatele user_2, ale, přestože se vytvoří a nenahlásí chybu, že takovýto adresář neexistuje, (jak to dělá normálně, pokud zadám neexistující adresář,) tak je okamžitě rozbitý a nelze použít.

Jak by se toto dalo vyřešit? Chci docílit toho, abych měl jednu složku, do které budou mít přístup oba uživatelé.

Byla by možnost třeba umístit sdílenou složku někam mimo domácí adresář a dát oboum uživatelům link? Pokud ano, kam je vhodné ji umístit?

Operační systém je Fedora 36.

Předmět Autor Datum
jestli i linux rozlišuje přístupová práva uživatelů - zvláště do adresáře /home - tak tam bude zakop…
lední brtník 20.06.2022 18:50
lední brtník
No, samotná sdílená složka by měla mít povolené uplně všechno od kohokoli. Taky mě napadlo, že to bu…
Rostislav1 20.06.2022 19:01
Rostislav1
Bud do All Users (public) nebo udelej sdilenou slozku rovnou v rootu, ne v home slozce uzivatele
Jan Fiala 20.06.2022 20:23
Jan Fiala
V Linuxu All Users neexistuje. poslední
Rce 21.06.2022 00:16
Rce
Ne, takto to opravdu nefunguje. Existuje něco jako directory traversal, takže pokud user2 nemá práva…
touchwood 20.06.2022 21:10
touchwood
Chceš složku, kam budou mít přístup oba uživatelé? Nejlépe je udělat skupinu uživatelů těch dvou a u…
Rce 21.06.2022 00:08
Rce

No, samotná sdílená složka by měla mít povolené uplně všechno od kohokoli. Taky mě napadlo, že to bude přístupovými právy právě domácí složky, ale podle tutoriálů na internetu by to mělo jít i takto.

Kam jinam by třeba bylo vhodné umístit takovouto sdílenou složku?

Ne, takto to opravdu nefunguje. Existuje něco jako directory traversal, takže pokud user2 nemá práva na nadřazený adresář (což by mít samozřejmě a rozhodně neměl), tak se do něj prostě nedostane.
Stejný problém budeš mít u démonů (SMB apod.), které bys případně chtěl na takovou cestu nasměrovat.

Složku pro sdílená data můžeš umístit prakticky kamkoli - záleží samozřejmě na tom, jak máš rozdělený disk. Pokud je jen jeden oddíl, tak klidně můžeš do rootu, tj. rovnou do "/", takže např.:

mkdir /sdileny

následně nastavíš správně chmod a práva (opět příklad - předpoklad je, že máš správně nastavenou skupinu)

chgrp mygroup /sdileny
chmod 774 /sdileny

a můžeš začít plnit. Další varianta je použít xattr (pak se práva nastavují podobně jako ve Windows, ale vyžaduje to mít daný oddíl namountovaný s podporou xattr, a samozřejmě mít filesystém, který je podporuje.)

P.S.: doporučuju vystoupit ze začarovaného kruhu (ke všemu dost debilních) tutoriálů a začít se opravdu vzdělávat (chápat principy). K tomu je vhodné mít "testovací" systém, kde si své neúspěchy můžeš dosytosti a bez ztráty kytičky otestovat.

Chceš složku, kam budou mít přístup oba uživatelé? Nejlépe je udělat skupinu uživatelů těch dvou a u složky, kam je chceš pustit, zadej v právech přístup pro zápis i čtení pro ono skupinu uživatelů. Pak můžeš dělat linky oboum uživatelům na onu složku. Vše jde naklikat z Dolphinu, Nautiluse nebo Krusadera. Skupinu uživatelů jak udělat neporadím, nevím jaké prostředí používáš. V Plasmě je to KUser (nutno doinstalovat).

Zpět do poradny Odpovědět na původní otázku Nahoru