Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.
… více »Linux je víceuživatelský systém a je proto nutné zajistit, aby mi ostatní nemohli měnit, číst moje dokumenty. Pokud jim to tedy výslovně nepovolím. Každý soubor (i adresář) v Linuxu má přidělená práva, která upravují práci se souborem.
Příkaz ls vypisuje obsah zadaného adresáře. Přídáním parametru -l si zobrazíme podrobnější informace, včetně práv.
ls bsd.txt Desktop dnsping linux.txt ls -l celkem 16 -rw-r--r-- 1 misak users 23 zář 1 23:06 bsd.txt drwxr-xr-x 2 misak users 4096 zář 1 23:08 Desktop -rwxr-xr-x 1 misak users 443 zář 1 23:08 dnsping -rw-r--r-- 1 misak users 33 zář 1 23:05 linux.txt
Práva jsou uvedená v prvním sloupci. První znak označuje typ souboru, pomlčka '-' označuje normální soubor, 'd' adresář, dále 'l' je symbolický odkaz, 'c' znakové zařízení, 'b' blokové zařízení a 'p' je pojmenovaná roura (pokud nevíte, co jednotlivé typy znamenají, přečtěte si předešlou kapitolu: Soubory v Linuxu, zvláště pak část Speciální soubory).
Za typem je potom devět znaků, které symbolizují práva. Vždy jsou vypsány v pořadí právo pro čtení 'r', právo pro zápis 'w' a právo pro spuštění 'x'. Na úrovni adresářů 'r' značí, že je možné vypsat seznam souborů, 'w', že je možné do adresáře soubory přidávat nebo je z něj odebírat a 'x', že adresář smí být součástí cesty. První trojice je nastavení platné pro vlastníka souboru (třetí sloupeček - misak), druhá pro skupinu (čtvrtý - users) a poslední pro ostatní. Vlastník souboru je uživatel, který jej vytvořil (nebo bylo na něj vlastnictví převedeno příkazem chown) a obvykle má největší pravomoci. Skupina usnadňuje sdílení souborů mezi uživateli. Můžeme zvýšit práva lidem jen ze svojí skupiny a ne těm, kteří tam nepatří.
Linux bere soubor jako spustitelný jen tehdy, když má nastavená práva pro spuštění. Tento systém má své kouzlo v tom, že spustitelný soubor může být jakéhokoli typu (binární soubor, skript v shellu), ale z hlediska jeho spouštění je to úplně jedno. U skriptů je podmínka, aby měly na prvním řádku uvedený interpret, který je bude provádět (#!/bin/sh, nebo přenositelněji /usr/bin/env python) a binární soubor musí být podporován jádrem (nejpoužívanější je elf, starším formátem je a.out).
Soubor, který je uložený v adresáři, do něhož mají všichni povolen zápis může také kdokoliv smazat. Někdy se hodí, kdyby jej mohl mazat pouze vlastník souboru a nikdo jiný. Typickým představitelem je adresář /tmp. Tento adresář má nastavený sticky (lepkavý) bit, který se nastavuje příkazem chmod +t a ve výpisu příkazu ls je vidět takto:
drwxrwxrwt 39 root root 3704 zář 6 21:15 tmp
Program spuštěný uživatelem má stejná práva, jako uživatel sám. To znamená, může modifikovat jen ty soubory k nimž má uživatel právo zápisu. Existuje několik případů, kdy je nutné, aby uživatelem spuštěný program běžel pod jiným účtem (zpravidla s vyššími právy). Typickým příkladem je příkaz passwd pro změnu hesla uživatele. Ten musí modifikovat soubor /etc/shadow, kde jsou uložené hashe hesel. Tento soubor není, z pochopitelných důvodů, zapisovatelný pro běžné uživatele. Program passwd má nastaven příznak suid a vlastní jej uživatel root. Program po svém spuštění má práva uživatele root, přestože jej spustil jiný uživatel. Příznak se nastaví příkazem chmod u+s, ls jej pak ukazuje následovně:
ls -l /bin/passwd -rws--x--x 1 root root 32108 čec 11 14:30 /bin/passwd
Existuje také podobný příznak setgid, který mění skupinu. Není tolik používán u souborů, ale u adresářů, kdy po aplikaci tohoto příznaku patří všechny nově vytvořené soubory do určené skupiny a ne do uživatelově hlavní. Nastaví se příkazem chmod g+s a výpis vypadá následovně:
drwxr-sr-x 3 root users 4096 zář 1 23:14 foo
Práva jsou na systémové úrovni reprezentována jako čtyři čísla v rozsahu od 0 až po 7 (tj. tři bity). Tyto číslice reprezentují speciální práva, uživatelská, skupinová a ostatních. Právo pro čtení má hodnotu 4, pro zápis 2 a pro spuštění 1. Jejich součtem potom získáme součtem těchto hodnot. Hodnota 7 (4+2+1) označuje všechna práva, hodnota 5 (4+1) značí právo pro čtení a spuštění. Hodnota 0 pak, celkem logicky, určuje žádná práva.
Speciální práva jsou ohodnocena následovně. 4 je setuid, 2 je setgid a 1 je sticky bit.
Kompletní nastavení adresáře /tmp se tedy dá provést:
# zdlouhavější způsob chmod a+rwx /tmp chmod +t /tmp # rychlejší způsob chmod 1777 /tmp
Změnu vlastníků lze pak provádět pod rootem následně:
chown -cR uzivatel:skupina /tmp # -cR mění práva rekurzivně i v podadresářích
Jemnější nastavení práv umožňuje ACL, viz příkazy getfacl a setfacl.
Dokument vytvořil: vladka, 29.8.2005 11:55 | Poslední úprava: Nicky726, 4.3.2009 09:54 | Další přispěvatelé: Ash, Petr "Glubo" Sýkora | Historie změn | Zobrazeno: 63080×
Tiskni
Sdílej: