Posts

Showing posts from August 8, 2012

Arhiviranje i raspakivanje datoteka

Dva različita posla koja se stalno mešaju: Arhiviranje — spajanje više fajlova u jedan, uz čuvanje strukture direktorijuma, dozvola i vlasništva. Kompresija — smanjivanje veličine jednog fajla. Na Linuxu su to i doslovno odvojeni alati. tar spaja, ali ne smanjuje. gzip smanjuje, ali ne spaja. Otud i ono .tar.gz — prvo jedan, pa drugi. Na Windowsu je zip radio oba posla odjednom, pa se ta podela u početku čini nepotrebnom. Ali ima razlog: kad su odvojeni, možeš birati kombinaciju i menjati kompresor bez menjanja arhive. Šta izabrati Backup Linux sistema tar.gz — jedini format koji čuva dozvole, vlasništvo i simboličke linkove. Slanje nekome na Windowsu zip — otvara se dvoklikom, bez dodatnog softvera. Distribucija softvera tar.xz — najmanja veličina, pakuje se jednom a preuzima mnogo puta. Noćni backup tar.gz — brzo, a prostor je jeftiniji od vremena. Jedan veliki fajl Sam gzip ...

Kontrola privilegija — root, sudo i SUID

Na Linuxu postoji jedan nalog koji sme sve — root, sa UID-om 0. Kernel za njega ne proverava dozvole; one koje vidiš u ls -l za njega jednostavno ne važe. Otud i celo pitanje kontrole privilegija: kako uraditi ono za šta ti trebaju root prava, a da pri tome ne radiš kao root ceo dan. Zašto se ne radi kao root Nije stvar navike nego posledica. Kao root: Ne postoji ništa što te zaustavi. Greška u kucanju briše sistemske fajlove bez pitanja. Svaki program koji pokreneš ima puna prava — uključujući i onaj koji si preuzeo sa interneta. U logovima piše samo „root", pa se ne zna ko je šta uradio. Klasičan primer razlike: $ rm -rf /usr /lib/nesto rm: cannot remove '/usr': Permission denied Kao običan korisnik — bezopasna greška. Kao root — kraj sistema. Razmak na pogrešnom mestu je isti u oba slučaja; razlikuju se samo prava. Zato je pravilo: radi kao običan korisnik, a prava podigni samo za onu komandu kojoj su stvarno potrebna. Ko sam i š...