Fórum Root.cz

Hlavní témata => Desktop => Téma založeno: Pavel 'TIGER' Růžička 09. 04. 2013, 00:12:31

Název: Práva souboru na ploše LXDE
Přispěvatel: Pavel 'TIGER' Růžička 09. 04. 2013, 00:12:31
Zdravíčko, objevil jsem asi bug v LXDE. Ať dám jakékoliv práva souboru.desktop na ploše LXDE, soubor jde smazat. Může to prosím někdo ověřit? (PCManFM 1.1.0)
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Pavouk106 09. 04. 2013, 11:37:15
Já nechci bejt ani za chytrýho, ani za hloupýho, ale jedno z toho teď budu a ptám se:

Pokud jsem vlastníkem, tak je jedno, jaká jsou práva, já ten soubor tak jako tak můžu smazat, nebo ne? Tím pádem by to nebyl bug, ale správné chování.
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Franta. 09. 04. 2013, 12:30:14
Tady totiž nejde o práva k tomu souboru, ale o práva k adresáři

Kód: [Vybrat]
$ mkdir TEST
$ touch TEST/soubor.txt
$ chmod 000 TEST/soubor.txt
$ echo ahoj > TEST/soubor.txt
bash: TEST/soubor.txt: Operace zamítnuta
$ rm TEST/soubor.txt
rm: smazat proti zápisu chráněný běžný prázdný soubor „TEST/soubor.txt“? y
$ touch TEST/soubor.txt
$ chmod 500 TEST/
$ ls -ld TEST/
dr-x------ 2 kuceraf kuceraf 4096 dub  9 12:27 TEST/
$ rm TEST/soubor.txt
rm: nelze odstranit „TEST/soubor.txt“: Operace zamítnuta
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Pavel 'TIGER' Růžička 09. 04. 2013, 15:24:25
Ano, jde o práva k adresáři, pokud hodím práva na celý adresář ~/Desktop tak je dodžuje správně, ale jestli je hodím jen na konkrétní soubor, tak mohou být jakákoliv a neakceptují se. Takže se zeptám jinak, lze udělat v LXDE odkaz na aplikaci tak, aby nemohl být odstraněn, ale zároveň si uživatel mohl své věci umísťovat na plochu? A je to chyba, tak jak se to chová, nebo správné chování? Podle mne je to bug. Měly by být přeci i akceptovaná práva k danému souboru a nejen na složku, ne?
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: vty67 09. 04. 2013, 16:12:41
Pokud uživatel vlastní adresář ~/Desktop a má na něm právo w pak v něm může cokoliv smazat.
U mě má tento adresář tyto permisson flagy drwxr-xr-x
IMHO se to chová naprosto standardně.
Pokud chcete jiné chování tak adresáři změňte vlastníka:skupinu a nastavte sticky bit a je to podobně jako v /tmp.
Pokud chcete ještě speciálnější chování pak si prostudujte rozšířená práva tedy ACL.
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Franta. 09. 04. 2013, 16:32:18
Tohle je vlastnost linuxových/posixových adresářů a souborů. Adresář je zvláštní soubor, který obsahuje seznam inodů a jmen souborů.
Inode obsahuje všechno o souboru, kromě jeho názvu a samotných dat. (díky tomu můžeš mít jeden inode napojený ve víc adresářích nebo v jednom pod různými jmény - pevné odkazy)
Z toho vyplývá, že smazání souboru je úpravou adresáře, nikoli souboru - soubor, resp. inode se smaže ve chvíli, kdy na něj už nikdo neodkazuje.

Pokud nechceš, aby uživatel mazal soubory, tak je nedávej do adresářů, které uživateli patří :-)
Maximálně by to desktopové prostředí mohlo zobrazovat nějaké varování - stejně jako rm na příkazové řádce výše - s tím, že mažeš soubor chráněný proti zápisu.

Vždycky se to dá nějak ohackovat, ale podle mého to nedává moc smysl. K čemu to má být?
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: JardaP . 09. 04. 2013, 16:38:01
Jeste by se tam ty soubory daly vracet z cronu, treba kazdych 10 minut, coz by uzivatele obzvlaste pekne vytacelo. :-)
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Franta. 09. 04. 2013, 17:03:23
Jeste by se tam ty soubory daly vracet z cronu, treba kazdych 10 minut, coz by uzivatele obzvlaste pekne vytacelo. :-)
Nebo by ajťák mohl s uživatelem přestat bojovat a mohl by mu pomáhat – dovolit mu si ikony smazat, když chce, a udělat mu skript, který obnoví smazané ikony, pokud by si je smazal omylem.
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Pavel 'TIGER' Růžička 09. 04. 2013, 17:28:38
Tohle je vlastnost linuxových/posixových adresářů a souborů. Adresář je zvláštní soubor, který obsahuje seznam inodů a jmen souborů.
Inode obsahuje všechno o souboru, kromě jeho názvu a samotných dat. (díky tomu můžeš mít jeden inode napojený ve víc adresářích nebo v jednom pod různými jmény - pevné odkazy)
Z toho vyplývá, že smazání souboru je úpravou adresáře, nikoli souboru - soubor, resp. inode se smaže ve chvíli, kdy na něj už nikdo neodkazuje.

Pokud nechceš, aby uživatel mazal soubory, tak je nedávej do adresářů, které uživateli patří :-)
Maximálně by to desktopové prostředí mohlo zobrazovat nějaké varování - stejně jako rm na příkazové řádce výše - s tím, že mažeš soubor chráněný proti zápisu.

Vždycky se to dá nějak ohackovat, ale podle mého to nedává moc smysl. K čemu to má být?

Tohle je nakopnutí správným směrem, říkal jsem si, že někde dělám chybu ... chtělo by to méně makat a více spát. ;D
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Pavel 'TIGER' Růžička 09. 04. 2013, 17:31:14
Jeste by se tam ty soubory daly vracet z cronu, treba kazdych 10 minut, coz by uzivatele obzvlaste pekne vytacelo. :-)
Nebo by ajťák mohl s uživatelem přestat bojovat a mohl by mu pomáhat – dovolit mu si ikony smazat, když chce, a udělat mu skript, který obnoví smazané ikony, pokud by si je smazal omylem.
Ono nejde o boj s uživatelem, je to spíše o vzájemné pomoci. Než uživateli vysvětlovat, jak obnovit ikony ze skriptu, je jednodušší je udělat nesmazatelné.  ;)
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Pavel 'TIGER' Růžička 09. 04. 2013, 17:33:19
Každopádně děkuji všem.
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Palo M. 10. 04. 2013, 08:49:19
Ak chces subor urobit nezmazatelny, mas aj nasledujuce moznosti:
1. Pouzit sticky-bit (chmod +t) na adresar, uzivatel nebude vlastnikom daneho adresara, ale bude nan mat pravo zapisu (napriklad aj cez skupinove prava) - uzivatel si bude moct v adresari vytvarat vlastne subory/podadresare, aj ich mazat, ale nebude moct mazat subory vytvorene inym uzivatelom. Pouziva sa to na adresar /tmp. man chmod, sekcia sticky directories
2. Na ext2/3/4 mozes pouzit chattr +i na subor, subor bude nemodifikovatelny a nezmazatelny. Atribut 'i' (ako immutable) moze menit len root, takze uzivatel nedokaze takyto subor zmazat (ani ak vlastni dany adresar i subor - a nedokaze zmazat ani adresar v ktorom sa takyto subor nachadza). man chattr
Název: Re:Práva souboru na ploše LXDE
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 10:54:26
Jasně, mrknu na to, díky.