Byla vydána verze 5.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
TuxClocker je Qt GUI nástroj pro monitorování a nastavování (přetaktovávání) hardwaru na Linuxu. Aktuální verze je 1.4.0. Z novinek lze vypíchnout monitorování využití AMD a NVIDIA VRAM nebo sledování spotřeby energie procesorů AMD a Intel.
O víkendu (15:00 až 23:00) probíhá EmacsConf 2023, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy jsou k dispozici přímo z programu.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.
Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzích 2.2.2 a 2.1.14. Přináší důležitou opravu chyby vedoucí k možnému poškození dat.
V ownCloudu byly nalezeny tři kritické zranitelnosti: CVE-2023-49103, CVE-2023-49104 a CVE-2023-49105 s CVSS 10.0, 8.7 a 9.8. Zranitelnost CVE-2023-49103 je právě využívána útočníky. Nextcloudu se zranitelnosti netýkají.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2023. Pro programátory v Perlu je určen Perl Advent Calendar 2023. Zájemci o UX mohou sledovat Lean UXmas 2023. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2023…
Byla vydána verze 2.12 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
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: 61780×
Tiskni
Sdílej: