Portál AbcLinuxu, 6. května 2025 01:32

Dotaz: sticky bit nebo prava?

18.5.2008 21:34 sranda
sticky bit nebo prava?
Přečteno: 3790×
Odpovědět | Admin
Dobry vecer, vazeni

Resim mensi teoreticky problem. Jakmile je na adresari sticky bit(user nesmazne co neni jeho, ale vytvaret tam muze) a pri tvorbe noveho souboru kymkoliv(ovlivneno UMASKem) ma tento novy soubor -rw-rw-rw, co ma prednost?

Nastane situace, kdy root neco vytvori. Toto neco dostane do vinku -rw-rw-rw. Pak prijde nejaky jiny uzivatel a jelikoz o=rw a zaroven je na adresari aplikovan sticky bit, bude moci zapsat?(mam na mysli zapis do souboru, jenz vytvoril root)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

kozzi avatar 18.5.2008 21:36 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Odpovědět | | Sbalit | Link | Blokovat | Admin
jestli to chapu tak na ten soubor ma uziuvatel pravo zapisovat tak na nej proste zapisovat muze nevidim v tom problem, samozrejme pokud ma pravo se k tomu souboru vubec dostat :-D
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
18.5.2008 21:42 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
dobre, ale pak tedy postradam smysl toho, proc sticky bit existuje, kdyz jeho definice zni:

t Sticky bit, umožňuje zápis do adresáře každému uživateli, mazat nebo modifikovat soubory v tomoto adresáři smí však pouze vlastníci souborů. Používá se například pro adresář "/tmp", kam si uživatelé odkládají své soubory.
kozzi avatar 18.5.2008 21:54 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
No jo ale to plati pro Solaris mozna bSD a jine UNIX ale Linux na to ohled nebere ale to je jen me skromne mineni.
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
18.5.2008 21:55 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
dobra, dobra :)

vyzkousime, uvidime :)

i tak diky...
michich avatar 18.5.2008 22:01 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Odkud máš tuto chybnou definici?
pdp7 avatar 18.5.2008 22:06 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Ja myslim ze je spravna. Realite to ale neodpovida JAKTO???

Zkusil jsem si to a modifikovat muze i jiny uzivatel nez vlastnik, pouze nesmaze. Jakto? Neni to chyba?
michich avatar 18.5.2008 22:12 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Ta definice není správná. A realita odpovídá správné definici.

Sticky bit žádná práva navíc neuděluje. Pouze práva o něco omezuje, a sice o možnost mazání/přejmenovávání souborů patřících jiným uživatelům. Modifikování souboru se stále řídí jako obvykle právy na tom souboru. man chmod:

The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the file type. For directories, it prevents unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp.
pdp7 avatar 18.5.2008 22:15 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
18.5.2008 22:21 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
For directories, it prevents unprivileged users from removing or renaming a file in the directory unless they own the file or the directory

Budto mi ta anglictina takhle navecer uz nejde, nebo z te vety nevyplyva nic noveho, co by neslo ovlivnit a nastavit pravy....
michich avatar 18.5.2008 22:28 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Normálně můžeš mazat i cizí soubory, pokud máš práva na zápisu na adresář. Se sticky bitem to nemůžeš.
18.5.2008 22:41 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
debian:/# mkdir sticky debian:/# chown standa sticky/ debian:/# clear debian:/# ls -l|grep sticky drwxr-xr-x 2 standa root 1024 2008-05-18 23:38 sticky debian:/# cd sticky/ debian:/sticky# touch rootovo debian:/sticky# su standa standa@debian:/sticky$ rm rootovo rm: remove write-protected regular empty file `rootovo'? y standa@debian:/sticky$ ls -l celkem 0 standa@debian:/sticky$ cd .. standa@debian:/$ chmod +t sticky/ standa@debian:/$ su Password: debian:/# cd sticky/ debian:/sticky# touch rootovo debian:/sticky# cd .. debian:/# su debian:/# su standa standa@debian:/$ cd sticky/ standa@debian:/sticky$ rm rootovo rm: remove write-protected regular empty file `rootovo'? y standa@debian:/sticky$

........ 1) vytvoril jsem adresar, jako vlastnika jsem dal standu 2)root ve sticky/ vytvoril soubor, jelikoz je vlastnik nadrizeneho adresare standa, mohl "rootovo" smazat 3)pote chmod +t /sticky 4)ale standa mohl rootovo smazat stejne 5)a ted babo rad ...
18.5.2008 22:43 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
debian:/# mkdir sticky
debian:/# chown standa sticky/
debian:/# clear
debian:/# ls -l|grep sticky
drwxr-xr-x 2 standa root 1024 2008-05-18 23:38 sticky
debian:/# cd sticky/
debian:/sticky# touch rootovo
debian:/sticky# su standa
standa@debian:/sticky$ rm rootovo
rm: remove write-protected regular empty file `rootovo'? y
standa@debian:/sticky$ ls -l
celkem 0
standa@debian:/sticky$ cd ..
standa@debian:/$ chmod +t sticky/
standa@debian:/$ su
Password:
debian:/# cd sticky/
debian:/sticky# touch rootovo
debian:/sticky# cd ..
debian:/# su
debian:/# su standa
standa@debian:/$ cd sticky/
standa@debian:/sticky$ rm rootovo
rm: remove write-protected regular empty file `rootovo'? y
standa@debian:/sticky$
........ 1) vytvoril jsem adresar, jako vlastnika jsem dal standu
2)root ve sticky/ vytvoril soubor, jelikoz je vlastnik nadrizeneho adresare standa, mohl "rootovo" smazat
3)pote chmod +t /sticky
4)ale standa mohl rootovo smazat stejne
5)a ted babo rad ...
..snad to ted bude citelnejsi..
michich avatar 18.5.2008 22:50 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
3)pote chmod +t /sticky
4)ale standa mohl rootovo smazat stejne
Protože standa je vlastníkem toho adresáře.
... unless they own the file or the directory
18.5.2008 22:55 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
diky za vysvetleni a trpelivost. Funguje to a rozumim tomu.

Pekny zbytek dne
18.5.2008 22:56 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
To odpovídá části "…unless they own the file or the directory". Kdyby ve vašem příkladu uživatel standa nebyl vlastníkem adresáře, ale jen měl k němu práva zápisu (přes skupinu, přes ostatní nebo pomocí ACL), pak by mu první pokus prošel, ale druhý už ne.
18.5.2008 22:59 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Diky, ted tomu uz rozumim
18.5.2008 22:10 sranda
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
http://chemi.muni.cz/~n19n/vyuka/2lekce/prikazy.htm

Jak teda zni spravna? Jsem napjaty jako guma u trenyrek :)
pdp7 avatar 18.5.2008 22:14 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Odvolavam co jsem napsal.

Ta definice cos uvedl v komentari je skoro spravna, jen z ni vypust slovo modifikovat a bude uplne spravne :-)

Vycet jsem to z knizky od Vilema Vychodila.
kozzi avatar 18.5.2008 22:19 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Ne ona je zcela spravna, ale ne pro linux. Staci si zajit na wikipedii tam toho je vic.
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
michich avatar 18.5.2008 22:24 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
To by mě teda zajímal aspoň jeden příklad systému, který má chování podle té definice. Díval jsem se i do Open Group specifikace a odpovídá Linuxovému chování:
If a directory is writable and the mode bit S_ISVTX is set on the directory, a process may remove or rename files within that directory only if one or more of the following is true:

- The effective user ID of the process is the same as that of the owner ID of the file.

- The effective user ID of the process is the same as that of the owner ID of the directory.

- The process has appropriate privileges.

If the S_ISVTX bit is set on a non-directory file, the behavior is unspecified.
pdp7 avatar 18.5.2008 22:29 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
A zkusil si to, v realu jestli to tak skutecne je?
pdp7 avatar 18.5.2008 22:31 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
To byla reakce na Kozziho
kozzi avatar 18.5.2008 23:05 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Vsak si reagoval na me ;-)
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
kozzi avatar 18.5.2008 23:06 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
neni spravna nikde melu hovna, pozde vecer bych nemel psat :-D
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
18.5.2008 23:18 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na toto sa treba pozerat ako celok, nie ciastkovo ako to tu bolo spominane.

zo suborom mozme spravit nasledujuce operacie:
- vytvorit
- vymazat
- presunut (premenovat)
- zapisovat do uz existujuceho
- citat obsah

Operacie vytvorit, vymazat, presunut (premenovat) su vpodstate zapis do directory. Operacie zapisovat, citat su operacie nad suborom. Prve tri sa riadia tym co je nastavene na directory a posledne dve tym co je nastavene na subore. Inak povedane ak chcem vytvorit, vymazat, presunut (premenovat) subor, tam musim mat 'w' na directory, Ak chcem menit subor tak na nom.
Sticky bit ovplivnuje 'w' na directory tak ze operacie vymazat a presunut povoli len vlastnikovi suboru (zapis do directory).

No a teraz k otazke. Predpokladame ze dir ma sticky byt a uzivatel ma rwx v svojom policku. Root pride a vytvori subor ktory bude vlastnit a pre uzivatela bude mat rw-. Uzivatel nebude moct subor vymazat ani presunut (pretoze ho nevlastni), ale zapisat/citat bude moct lebo na subore na tom ma prava.
18.5.2008 23:36 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: sticky bit nebo prava?
Ještě bych doplnil operace změny vlastníka (smí pouze root), skupinového vlastníka (smí root nebo vlastník, ale ne-root jen na skupinu, jíž je členem) a práv/ACL (smí root nebo vlastník).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.