Práva souboru na ploše LXDE

Pavel 'TIGER' Růžička

Práva souboru na ploše LXDE
« kdy: 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)


Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Práva souboru na ploše LXDE
« Odpověď #1 kdy: 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í.

Franta.

Re:Práva souboru na ploše LXDE
« Odpověď #2 kdy: 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

Pavel 'TIGER' Růžička

Re:Práva souboru na ploše LXDE
« Odpověď #3 kdy: 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?

vty67

Re:Práva souboru na ploše LXDE
« Odpověď #4 kdy: 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.


Franta.

Re:Práva souboru na ploše LXDE
« Odpověď #5 kdy: 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?

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Práva souboru na ploše LXDE
« Odpověď #6 kdy: 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. :-)

Franta.

Re:Práva souboru na ploše LXDE
« Odpověď #7 kdy: 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.

Pavel 'TIGER' Růžička

Re:Práva souboru na ploše LXDE
« Odpověď #8 kdy: 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

Pavel 'TIGER' Růžička

Re:Práva souboru na ploše LXDE
« Odpověď #9 kdy: 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é.  ;)

Pavel 'TIGER' Růžička

Re:Práva souboru na ploše LXDE
« Odpověď #10 kdy: 09. 04. 2013, 17:33:19 »
Každopádně děkuji všem.

Palo M.

Re:Práva souboru na ploše LXDE
« Odpověď #11 kdy: 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

Pavel 'TIGER' Růžička

Re:Práva souboru na ploše LXDE
« Odpověď #12 kdy: 10. 04. 2013, 10:54:26 »
Jasně, mrknu na to, díky.