Linux:Přehled základních příkazů: Porovnání verzí

m
|-
| <code>[[Linux:su|su]]</code> || spuštění subshellu s jiným UID/GID nebo změna na superuživatele || součást instalačního balíku '''login'''
|-
| <code>[[Linux:sudo|sudo]]</code> || spuštění procesů pod jiným UID/GID || samostatný instalační balík '''sudo'''
|}
 
{{Příklad|1='''who''' - je příkaz, který se asi nejčastěji používá pro výpis aktuálně připojených uživatelů. Na rozdíl od následujících, jde v tomto případě o standardní příkaz operačních systémů Unix.
{{Příklad|1=
<small>{{Výpis|1={{Linux:rootuser}}[[Linux:who|who]]
 
 
'''who''' - vypisuje seznam všech uživatelů, kteří jsou momentálně připojení k systému. Jedná se o standardní příkaz operačních systémů Unix. Lze místo něj použít i příkaz '''w''' (součást instalačního balíku ''procps''), který zobrazuje vypisuje i co má uživatel z konzole na které je přihlášen spuštěno.
<small>{{Výpis|1={{Linux:root}}[[Linux:who|who]]
root tty1 2009-05-06 09:54
user tty7 2009-05-06 08:04 (:0)
{{Linux:rootuser}}[[Linux:wwho|wwho]] -a
2009-05-06 08:04 1502 id=si signál=0 návkód=0
start systému 2009-05-06 08:04
úroveň běhu 2 2009-05-06 08:04 minulá=S
2009-05-06 08:04 3169 id=l2 signál=0 návkód=0
root - tty1 2009-05-06 09:54 06:15 4619
LOGIN tty2 2009-05-06 08:04 4620 id=2
LOGIN tty3 2009-05-06 08:04 4621 id=3
LOGIN tty4 2009-05-06 08:04 4622 id=4
LOGIN tty5 2009-05-06 08:04 4623 id=5
LOGIN tty6 2009-05-06 08:04 4624 id=6
user + tty7 2009-05-06 08:04 starý 4664 (:0)
pts/1 2009-05-06 08:29 0 id=/1 signál=0 návkód=0
pts/2 2009-05-06 13:36 0 id=/2 signál=0 návkód=0
user + pts/7 2009-05-06 16:18 . 4370 (stroj.domena.cz)}}</small>
Z ukázkového výpisu můžete vyčíst, že v okamžiku spuštění příkazu byl do systému kromě uživatele ''user'', který byl přihlášen na grafické konzoli (typicky - <code>tty7</code>) přihlášen také ''root'' a to na první konzoli.
 
Mezi tím, než byl spuštěn příkaz s parametrem '''-a''' se do systému přihlásil pod uživatelem ''user'' také ještě někdo jiný ze vzdáleného stroje ''stroj.domena.cz''. Údaj "6:15" u konzole <code>tty1</code> udává, že už je tomu víc jak šest hodin co na této konzoli ''root'' vyvíjel nějakou aktivitu.
 
'''w''' - Pro zjištění kdo je připojen lze místo [[Linux:who|who]] použít také tento příkaz. Vypíše nejen kdo je kam přihlášen, ale také co má na konzoli spuštěno.
<small>{{Výpis|1={{Linux:user}}[[Linux:w|w]]
09:56:40 up 1:53, 2 users, load average: 0,38, 0,40, 0,38
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 09:54 11.00s 0.22s 0.07s mc
user tty7 :0 08:04 1:52m 7:03 0.07s /bin/bash /usr/bin/keytouchd-launch startxfce4
}}</small>
 
Také příkaz '''finger''' lze při spuštění bez parametrů použít pro detekci přihlášených uživatelů, ale oproti [[Linux:who|who]] a [[Linux:w|w]] vypíše při volbě '''-l''' také obsah níže uvedených souborů ( Pochopitelně pouze za předpokladu, že mají nějaký obsah ) :
* <code>~/.plan</code>
* <code>~/.project</code> - Pozor! z tohoto souboru přečte vždy jen první řádek
* <code>~/.pgpkey</code> - soubor s klíčem pro [[w:GnuPG|GnuPG]] v ASCII formátu ([[Linux:finger|finger]] jej však hledá vždy pouze v tomto souboru)
* <code>~/.forward</code> - tento soubor se využívá při doručování e-mailové pošty pro přesměrování na jiný alias
Kromě nich, také kontroluje čas posledního přístupu uživatele k souboru s jeho lokálními maily (cesta k těmto souborům je obsahem systémové proměnné <code>MAIL</code> (jaké máte systémové proměnné zjistíte příkazem [[Linux:env|env]]).
<small>{{Výpis|1={{Linux:user}}[[Linux:finger|finger]] -l
Login: user Name:
Directory: /home/user Shell: /bin/bash
On since Wed May 6 08:04 (CEST) on tty7 from :0
6 hours 58 minutes idle
No mail.
No Plan.
}}</small>
 
'''su''' - Na rozdíl od výše uvedených příkazů, slouží příkaz [[Linux:su|su]] k "přepnutí" na jiného uživatele ( název příkazu je od tohoto úkonu odvozen - angl. '''''s'''witch '''u'''ser'' ), případně spouštění příkazů pod tímto uživatelem. (Není-li žádný uživatel uveden, tak se implicitně předpokládá, že má jít o superuživatele - root). '''Tento příkaz však po vás bude vždy chtít zadat heslo tohoto uživatele.'''
 
<small>{{Výpis|1={{Linux:user}}[[Linux:su|su]] -c "ls /root"
Heslo:
celkem 21
drwxr-xr-x 3 root root 128 6. kvě 16.05 .
drwxr-xr-x 24 root root 656 4. kvě 21.39 ..
-rw------- 1 root root 13486 6. kvě 16.05 .bash_history
-rw------- 1 root root 1024 21. bře 22.25 .rnd
drwx------ 2 root root 208 25. úno 14.05 .ssh
}}</small>
 
'''sudo''' funguje podobně jako [[Linux:su|su]], Ovšem umožňuje mnohem sofistikovanější použití. Jak napovídá jeho název ( '''''s'''witch '''u'''ser and '''do''''' - volně přeloženo ''přehoď uživatele a udělej to místo něj'' ) není jeho primárním účelem přepínání mezi uživateli, ale '''spouštění procesů místo jiného uživatele, ovšem bez nutnosti znát jeho uživatelské heslo'''.
 
Co kdo může spouštět se nastavuje v souboru <code>/etc/sudoers</code>. '''Oproti [[Linux:su|su]] po vás bude chtít [[Linux:sudo|sudo]] vaše uživatelské heslo, nikoliv heslo uživatele pod kterým má být proces spuštěn.''' [[Linux:sudo|sudo]] má také defaultně nastaven určitý interval, během kterého můžete tento příkaz používat, aniž by bylo nutné znovu heslo zadávat. Některé distribuce (např. Ubuntu) tímto příkazem obcházejí nezbytnost existence superuživatelského účtu.
 
<small>{{Výpis|1={{Linux:user}}[[Linux:sudo|sudo]] ls -al /root
[sudo] password for user:
celkem 21
drwxr-xr-x 3 root root 128 6. kvě 16.05 .
drwxr-xr-x 24 root root 656 4. kvě 21.39 ..
-rw------- 1 root root 13486 6. kvě 16.05 .bash_history
-rw------- 1 root root 1024 21. bře 22.25 .rnd
drwx------ 2 root root 208 25. úno 14.05 .ssh
}}</small>
 
1 002

editací