Обе стране последње ревизијеПретходна ревизијаСледећа ревизија | Претходна ревизија |
sr:slackbook:filesystem_permissions [2014/08/17 14:49 (UTC)] – slackmuz | sr:slackbook:filesystem_permissions [2014/09/07 12:42 (UTC)] (тренутно) – slackmuz |
---|
<note important>Страница је у припреми</note> | |
<note important>This page is still work in progress</note> | |
| |
====== Дозволе над системима датотека ====== | ====== Дозволе над системима датотека ====== |
| |
</code> | </code> |
| |
**//chmod//** може користити и словне вредности поред тастера <key>+</key> и <key>-</key> за додељивање или ускраћивање дозвола. | **//chmod//** може користити и словне вредности поред тастера <key>+</key> и <key>Minus</key> за додељивање или ускраћивање дозвола. Мада је овај начин лакши за памћење, често је једноставније користити окталне дозволе. |
| |
| **Табела 10.3. Абецедне дозволе** |
| ^Дозволе ^Словна вредност| |
| |Read (читање) |r| |
| |Write (писање) |w| |
| |Execute (извршење) |x| |
| |
| **Табела 10.4. Абецедне вредности корисника и група** |
| ^Циљани налози ^Словна вредност| |
| |User/Owner (Корисник/Власник) |u| |
| |Group (Група) |g| |
| |Others/World (Сви остали/Свет) |o| |
| |
| Да бисте користили словне вредности са **//chmod//**, морате одредити сет на који се односе, или //u// за корисника, или //g// за групу, или //o// за све остале. Такође морате одредити да ли додајете или одузимате дозволе, са //+// и //-//. Ово можете применити и на више сетова одједном тако што ћете сваки одвојити зарезом. |
| |
| <code> |
| darkstar:/tmp/foo# ls -l |
| total 0 |
| -rw-r--r-- 1 alan users 0 2008-06-06 23:37 a |
| -rw-r--r-- 1 alan users 0 2008-06-06 23:37 b |
| -rw-r--r-- 1 alan users 0 2008-06-06 23:37 c |
| -rw-r--r-- 1 alan users 0 2008-06-06 23:37 d |
| darkstar:/tmp/foo# chmod u+x a |
| darkstar:/tmp/foo# chmod g+w b |
| darkstar:/tmp/foo# chmod u+x,g+x,o-r c |
| darkstar:/tmp/foo# chmod u+rx-w,g+r,o-r d |
| darkstar:/tmp/foo# ls -l |
| -rwxr--r-- 1 alan users 0 2008-06-06 23:37 a* |
| -rw-rw-r-- 1 alan users 0 2008-06-06 23:37 b |
| -rwxr-x--- 1 alan users 0 2008-06-06 23:37 c* |
| -r-xr----- 1 alan users 0 2008-06-06 23:37 d* |
| </code> |
| |
| Који начин од ових ћете користити, зависи искључиво од вас самих. У неким случајевима је један начин бољи од другог, тако да као прави корисник Слаквера треба да познајете оба. |
| |
| ===== SUID, SGID и "лепљиви" бит ===== |
| |
| Још није готово са дозволама. Постоје још три ,,посебне'' дозволе, поред поменутих. Оне су SUID, SGID и лепљиви бит. Када документ има једну или више ових посебних дозвола, специфично се понаша. SUID и SGID дозволе мењају начин на који апликација функционише, док лепљиви бит онемогућује уклањање докумената. Ове дозволе су примењене и са **//chmod//** командом као читање, писање и извршавање, али обрнуто. |
| |
| SUID и SGID представљају //Set User ID// односно //Set Group ID//. Када је на апликацију примењен један од ових сетова, апликација се покреће са корисничким и групним дозволама саме апликације, без обзира који је корисник стварно покренуо апликацију. Погледајте уобичајену SUID апликацију **//passwd//** и фајлове које она мења. |
| |
| <code> |
| darkstar:~# ls -l /usr/bin/passwd /etc/passwd /etc/shadow |
| -rw-r--r-- 1 root root 1106 2008-06-03 22:23 /etc/passwd |
| -rw-r----- 1 root shadow 627 2008-06-03 22:22 /etc/shadow |
| -rws--x--x 1 root root 34844 2008-03-24 16:11 /usr/bin/passwd* |
| </code> |
| |
| Обратите пажњу на дозволе везано за **//passwd//**. Уместо <key>x</key> у корисничком извршном одељку стоји <key>s</key>. Ово значи да је **//passwd//** SUID програм, и када се покрене, процес се покреће од стране //root// корисника, а не корисника који је уствари покренуо програм. Разлог за ово је очигледан уколико погледате два фајла које овај програм мења. Нико нема дозволу писања ни у ''/etc/passwd'' ни у ''/etc/shadow'' осим root корисника. Када корисник има потребу да промени личне информације, **//passwd//** мора бити покренут од стране кореног корисника како би изменио поменута два фајла. |
| |
| А шта са лапљивим битом? Лапљиви бит одузима могућност померања или уклањања докумената и постављен је само на директоријумима. Обичан корисник не може да помери или уклони документе унутар директоријума са лепљивим битом, осим уколико није власник датог документа. У нормалним ситуацијама, свако ко има дозволу писања над документом, може да уради ово, али лепљиви бит онемогућује свакога у овоме, осим власника (и root корисника, наравно). Баците поглед на уобичајени ,,лепљиви'' директоријум. |
| |
| <code> |
| darkstar:~# ls -ld /tmp |
| drwxrwxrwt 1 root root 34844 2008-03-24 16:11 /tmp |
| </code> |
| |
| Природно, будући да је директоријум за складиштење привремених фајлова на системском нивоу, свако треба да има дозволе писања, читања и извршавања у ''/tmp'' директоријуму. С обзиром да сваки корисник у сваком тренутку овде има фајл или два, исправно је спречити друге корснике да те фајлове уклоне. Зато се овде поставља лепљиви бит. Можете га уочити по присуству слова <key>t</key> на место слова <key>x</key> у делу који се односи на дозволе за све остале (свет). |
| |
| **Табела 10.5. SUID, SGID и "Лепљиве" дозволе** |
| ^Врста дозволе ^Октална вредност ^Словна вредност| |
| |SUID |4 |s| |
| |SGID |2 |s| |
| |Sticky |1 |t| |
| |
| Када користите окталне дозволе, морате одредити додатну водећу окталну вредност. На пример, да бисте поново креирали дозволу над ''/tmp'' директоријумом, морате користити 1777. Да бисте то исто учинили са ''/usr/bin/passwd'', морате користити 4711. У сваком случају, када ова четврта водећа октална вредност није одређена, **//chmod//** ће као вредност узети 0. |
| |
| <code> |
| darkstar:~# chmod 1777 /tmp |
| darkstar:~# chmod 4711 /usr/bin/passwd |
| </code> |
| |
| Коришћење абецедних вредности дозвола је донекле другачије. Претпоставимо да два поменута фајла имају дозволе 0000 (уствари немају никакве дозволе), овако ћемо их поставити. |
| |
| <code> |
| darkstar:~# chmod ug+rwx,o+rwt /tmp |
| darkstar:~# chmod u+rws,go+x /usr/bin/passwd |
| </code> |
| |
| ====== Кретање кроз поглавља ====== |
| |
| **Претходно поглавље: [[sr:slackbook:users|Корисници и групе]]** |
| |
| **Следеће поглавље: [[sr:slackbook:working_with_filesystems|Рад са системима датотека]]** |
| |
| ====== Извори ====== |
| |
| * Оригинални извор: [[http://www.slackbook.org/beta]] \\ |
| |
| * Изворно писали Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson |