|
| 1 | +A Práce se soubory a výstupem |
| 2 | +1. Co udělá příkaz cat a kdy je vhodné ho použít? - vypíše obsah souboru (nebo i více souborů za sebou, pokud zadám víc argumentů )do terminálu. Je vhodnější na kratší soubory. Pokud spustím cat bez argumentu, program vypíše po stisku enter vstup z klávesnice. |
| 3 | +2. Jaký je rozdíl mezi less a cat? - cat vypisuje do příkazové řádky a pokud je výpis delší než na obrazovku, musím scrolovat v terminálu. |
| 4 | +-Less je program pro zobrazení větších souborů, umožňuje zobrazit jen jeden soubor na rozdíl od cat, ale obsah souboru se otevře jako čtečka. V less se můžu pohybovat pomocí šipek nebo PgUp, PgDn, můžu zde vzhledávat pomocí /, je to pokročilejší nástroj pro zobrazení obsahu souboru. |
| 5 | +3. K čemu slouží příkaz head a jak určíš, kolik řádků zobrazí? - slouží k zobrazení začátku/"hlavičky" souboru, výchozí nastavení bez zadání přepínače je prvních 10 řádků, díky přepínači -n můžu zadat, kolik řádků chci zobrazit |
| 6 | +4. Jak bys zjistil, kolik má soubor řádků nebo slov? -počet slov: wc -w <soubor>, počet řádků wc: -l <soubor>, nebo v jednom příkazu wc -lw <soubor>. Bez zadání přepínače vypíše tři hodnoty: počet řádků, počet slov a počet bytů. |
| 7 | +5. Jaký příkaz bys použil, pokud chceš zobrazit pouze posledních 10 řádků souboru?: - tail <soubor> |
| 8 | + |
| 9 | +B Uživatelé, skupiny a práva |
| 10 | + |
| 11 | +1. Jaký je rozdíl mezi uživatelem a skupinou v Linuxu? |
| 12 | +Uživatel - užívá operační systém, každý uživatel je v operačním systému definován jménem a unikátním ID (UID). |
| 13 | +Každý uživatel má svoji primární skupinu (která se asi defaultně jmenuje jako uživatel) a pak může být členem různého počtu sekundárních skupin. |
| 14 | +Seznam uživatelů je uložen v /etc/passwd. Každý proces(t.j. spuštěný program) v operačním systému běží pod nějakým uživatelem. |
| 15 | + |
| 16 | +Skupiny umožňují spravovat přístupová práva adresářů a souborů pro více uživatelů najednou. Každá skupina má svoje GID |
| 17 | +informace o skupinách jsou uloženy v /ect/group |
| 18 | + |
| 19 | +2. Co znamenají jednotlivé části výpisu oprávnění u souboru (např. -rw-r--r--)? první znak -: označuje typ souboru, v tomto případě běžný soubor, dále 3 bloky po třech znacích: 1.blok práva vlastníka rw- 2. blok práva skupiny r--, 3. blok práva ostatních r-- , každý blok obsahuje r = právo pro čtení, w = právo pro zápis, x = právo pro spuštění. Pokud je ve výpisu písmenko na daném místě, znamená to, že je k tomu oprávně, pokud je zde jen -, právo ke konkrétní operaci nemá (ať už jde o uživatele, skupinu nebo ostatní) |
| 20 | +3. Jaký je rozdíl mezi vlastníkem souboru a skupinou souboru? |
| 21 | +vlastník je zpravidla ten, kdo soubor vytvořil, má nejvyšší práva - má nad ním plnou kontrolu, definuje práva přístupu k souboru ostatním, |
| 22 | +skupina je skupina uživatelů, kterým příslušenstvím ke skupině plynou pro skupinu definovaná práva k souboru |
| 23 | +4. Co obsahují soubory /etc/passwd a /etc/shadow? |
| 24 | +/ect/passwd - seznam uživatelů |
| 25 | +etc/shadow - hesla uživatelů |
| 26 | +5. K čemu slouží příkaz chmod a jak se používá? |
| 27 | +Slouží ke změně oprávnění k přístupu k souborům a adresářům, |
| 28 | +chmod -r <soubor> - odebírám veškěrá práva pro čtení souboru, s "+" je zase přidávám, mám k tomu právo jako vlastník souboru. |
| 29 | +přepínače pro :práva pro čtení: r, zápis :w, právo ke spuštění: x, podle toho jesli přidávám nebo odebíram volím před přepínačem + nebo -. |
| 30 | +mohu definovat i jednotlivá práva pro uživetele: u=<přepínače práv, které chci aktivní>, pro skupinu: g=<přepínače>, ostatní: o=<přepínače> <soubor> |
| 31 | +6. K čemu slouží příkazy: (všechny ale musím použít se sudo, jinak jako běžný uživatel nemám právo k těmto operacím): |
| 32 | +useradd <uživatel>: vytvoří nového uživatele |
| 33 | +groupadd <skupina>: vytvoří novou skupinu |
| 34 | +usermod - umožňuje různá nastavení uživatele. Díky různým přepínačům (dle usermod --help) můžeme uživatele přidávat k dalším skupinám, nebo nastavit novou primární skupinu, odemknout/zamknout uživatelský účet, nastavit vypršení platnosti účtu a spoustu dalších věcí, které v tuto chvíli nevím, co znamenají. |
| 35 | +passwd <uživatel>: nastaví heslo pro uživatele |
| 36 | +userdel <uživatel>: smaže uživatele |
| 37 | +groupdel <skupina>: smaže skupinu |
| 38 | + |
| 39 | +Praktická část: |
| 40 | +Úkol 1: |
| 41 | +1. Vytvoř skupiny: |
| 42 | + studenti: sudo groupadd studenti |
| 43 | + ucitele: sudo groupadd ucitele |
| 44 | +2. Vytvoř uživatele: |
| 45 | + eva (člen skupiny studenti): |
| 46 | + sudo useradd eva |
| 47 | + sudo usermod -aG studenti eva |
| 48 | + adam (člen skupiny studenti): |
| 49 | + sudo useradd adam |
| 50 | + sudo usermod -aG studenti adam |
| 51 | + petr (člen skupiny ucitele): |
| 52 | + sudo useradd petr |
| 53 | + sudo usermod -aG ucitele petr |
| 54 | + |
| 55 | +3. Nastav každému uživateli heslo (např. test123).: |
| 56 | + sudo passwd eva.... |
| 57 | +4. Ověř, do jakých skupin uživatelé patří.: |
| 58 | +uid=1001(eva) gid=1003(eva) skupiny=1003(eva),1001(studenti) |
| 59 | +uid=1002(adam) gid=1004(adam) skupiny=1004(adam),1001(studenti) |
| 60 | +uid=1003(petr) gid=1005(petr) skupiny=1005(petr),1002(ucitele) |
| 61 | + |
| 62 | +5. Přidej uživatele eva také do skupiny ucitele.: |
| 63 | +sudo usermod -aG ucitele eva |
| 64 | +uid=1001(eva) gid=1003(eva) skupiny=1003(eva),1001(studenti),1002(ucitele) |
| 65 | +6. Smaž uživatele adam a skupinu ucitele.: |
| 66 | +sudo userdel adam |
| 67 | +sudo groupdel ucitele |
| 68 | + |
| 69 | +Úkol 2: Práva a přístup k souborům: |
| 70 | +1. Přepni se na uživatele petr.: su petr |
| 71 | +2. V jeho domovské složce vytvoř soubor poznamka.txt. |
| 72 | +petr@fedora:~$ ls |
| 73 | +poznamka.txt |
| 74 | +3. Zobraz výpis oprávnění.: |
| 75 | +petr@fedora:~$ ls -l poznamka.txt |
| 76 | +-rw-r--r--. 1 petr petr 0 15. říj 21.44 poznamka.txt |
| 77 | +4. Nastav oprávnění tak, aby vlastník mohl číst i zapisovat, skupina mohla pouze číst, ostatní neměli žádný přístup: |
| 78 | + chmod u=rw,g=r,o= poznamka.txt |
| 79 | +-rw-r-----. 1 petr petr 0 15. říj 21.44 poznamka.txt |
| 80 | +a nebo jednoduše, jelikož vlastník a skupina měla ta práva jak je |
| 81 | +požadováno, tak jen: |
| 82 | + chmod o= poznamka.txt |
| 83 | +5. petr@fedora:~$ ls -l poznamka.txt |
| 84 | +-rw-r-----. 1 petr petr 0 15. říj 21.44 poznamka.txt |
| 85 | +6. Změň vlastníka souboru na uživatele eva a skupinu na studenti. |
| 86 | +chown eva:studenti poznamka.txt |
| 87 | +ale z učtu petr mi to nešlo, tak jsem se přepla na svůj účet a pak se sudo: |
| 88 | +sudo chown eva:studenti poznamka.txt |
| 89 | +Nevím, proč mi to nešlo... že by proto, že k chown je třeba sudo a petr není ve wheel? |
| 90 | +7. Ověř, že soubor má nového vlastníka i skupinu. |
| 91 | +petr@fedora:~$ ll |
| 92 | +celkem 0 |
| 93 | +-rw-r-----. 1 eva studenti 0 15. říj 21.44 poznamka.txt |
| 94 | + |
| 95 | +Úkol 3: Sdílená složka pro skupinu |
| 96 | +1. Jako root vytvoř složku /home/spolecne. |
| 97 | +sudo mkdir /home/spolecne |
| 98 | +ls -l /home |
| 99 | +celkem 0 |
| 100 | +drwx------. 1 1002 1004 80 15. říj 21.19 adam |
| 101 | +drwx------. 1 eva studenti 80 12. říj 18.18 alena |
| 102 | +drwx------. 1 dragca dragca 540 15. říj 22.38 dragca |
| 103 | +drwx------. 1 eva eva 80 15. říj 21.17 eva |
| 104 | +drwx------. 1 petr petr 170 15. říj 22.38 petr |
| 105 | +drwxr-xr-x. 1 root root 0 15. říj 23.05 spolecne |
| 106 | + |
| 107 | +2. Nastav vlastníka root a skupinu studenti: |
| 108 | +sudo chgrp <studenti> </home/spolecne> |
| 109 | + |
| 110 | +drwxr-xr-x. 1 root studenti 0 15. říj 23.05 spolecne |
| 111 | + |
| 112 | +3. Nastav práva tak, aby: vlastník měl práva rw, skupina měla práva rw, ostatní neměli žádná. |
| 113 | +dragca@fedora:~$ sudo chmod u=rw,g=rw,o= /home/spolecne |
| 114 | + |
| 115 | +drw-rw----. 1 root studenti 0 15. říj 23.05 spolecne |
| 116 | + |
| 117 | +4. Nastav setgid bit, aby nově vytvořené soubory ve složce zdědily skupinu studenti: |
| 118 | + |
| 119 | + chmod g+s /home/spolecne |
| 120 | + |
| 121 | +drw-rwS---. 1 root studenti 0 16. říj 07.02 spolecne |
| 122 | + |
| 123 | +5. Ve složce /home/spolecne vytvoř soubor zkouska.txt jako uživatel eva. |
| 124 | +ikdyž bylo nastavení, jak je vidět výše, nemohla jsem po přepnutí na uživatele eva vytvořit soubor v teto složce. Až po přidání práva execute skupině jsem pak mohla jako eva příkazem touch vytvořit soubor. Výpis složky se změnil na: |
| 125 | +drw-rws---. 1 root studenti 22 21. říj 18.54 spolecne |
| 126 | +(z velkého S na malé) |
| 127 | +6. Ověř, že soubor má skupinu studenti: |
| 128 | + |
| 129 | +-rw-r--r--. 1 eva studenti 0 21. říj 18.54 zkouska.txt |
| 130 | + |
| 131 | +7. Přepni se na uživatele adam a zkontroluj, že může tento soubor číst i upravovat. - Adama jsem měli smazat v úkolech :praktická část 1/ukol 6 |
| 132 | +zkusila jsem si jej znovu vytvořit, ale protože už v /home/adam složka adam byla, ikdyž uživatel byl smazaný, bash napsal: "vytvářím poštovní schránku" a pak mi nešlo přepnout se na uživatele adam, psalo mi to, že byl odepřen přístup k /home/adam. |
| 133 | +Proto jsem vytvořila uživatele studentka, přidala ji skupinu studenti. |
| 134 | +ale vzhledem k výpisu oprávnění souboru: |
| 135 | + |
| 136 | +studentka@fedora:~$ ls -l /home/spolecne/zkouska.txt |
| 137 | +-rw-r--r--. 1 eva studenti 0 21. říj 18.54 /home/spolecne/zkouska.txt |
| 138 | + |
| 139 | +může studenka( nebo adam) jen soubor číst, nemůže do něj zapisovat, k tomu se musím přepnout na evu (vlastníka souboru) a zadat chmod g+w zkouska.txt: |
| 140 | + |
| 141 | +-rw-rw-r--. 1 eva studenti 0 21. říj 18.54 zkouska.txt |
| 142 | +pak teprve můžu jako jiný uživatel ze skupiny upravovat soubor: |
| 143 | +studentka@fedora:~$ cat /home/spolecne/zkouska.txt |
| 144 | +tohle zapsala studentka |
| 145 | + |
| 146 | +Úkol 4: Struktura „Školní tým“ # |
| 147 | +1. Znovu vytvoř skupinu ucitele. |
| 148 | +$ sudo groupadd ucitele |
| 149 | +dragca@fedora:~$ grep ucitele /etc/group |
| 150 | +ucitele:x:1007: |
| 151 | + |
| 152 | +2. Vytvoř uživatele: |
| 153 | + reditel |
| 154 | + ucitelka |
| 155 | + student1 |
| 156 | + student2 |
| 157 | + |
| 158 | +3. Přiřaď uživatele do skupin: |
| 159 | + reditel, ucitelka → ucitele |
| 160 | + student1, student2 → studenti |
| 161 | + |
| 162 | + sudo usermod -aG ucitele reditel |
| 163 | + sudo usermod -aG ucitele ucitelka |
| 164 | + sudo usermod -aG studenti student1 |
| 165 | + sudo usermod -aG studenti student2 |
| 166 | + |
| 167 | + dragca@fedora:~$ for user in reditel ucitelka student1 student2; do id $user; done |
| 168 | +uid=1006(reditel) gid=1008(reditel) skupiny=1008(reditel),1007(ucitele) |
| 169 | +uid=1007(ucitelka) gid=1009(ucitelka) skupiny=1009(ucitelka),1007(ucitele) |
| 170 | +uid=1008(student1) gid=1010(student1) skupiny=1010(student1),1001(studenti) |
| 171 | +uid=1009(student2) gid=1011(student2) skupiny=1011(student2),1001(studenti) |
| 172 | + |
| 173 | + |
| 174 | +4. Vytvoř strukturu složek: |
| 175 | + /opt/skola/ |
| 176 | + ├── ucitele/ |
| 177 | + └── studenti/ |
| 178 | + |
| 179 | + sudo mkdir /opt/skola/ucitele |
| 180 | + sudo mkdir /opt/skola/studenti |
| 181 | + dragca@fedora:~$ tree /opt |
| 182 | +/opt |
| 183 | +└── skola |
| 184 | + ├── studenti |
| 185 | + └── ucitele |
| 186 | + |
| 187 | + |
| 188 | +5. Nastav: |
| 189 | + /opt/skola/ucitele → vlastník root, skupina ucitele, práva 770 |
| 190 | + /opt/skola/studenti → vlastník root, skupina studenti, práva 770 |
| 191 | + |
| 192 | +sudo chgrp ucitele /opt/skola/ucitele |
| 193 | +sudo chmod 770 /opt/skola/ucitele/ |
| 194 | +dragca@fedora:~$ ls -ld /opt/skola/ucitele/ |
| 195 | +drwxrwx---. 1 root ucitele 0 23. říj 10.54 /opt/skola/ucitele/ |
| 196 | + |
| 197 | +sudo chgrp studenti /opt/skola/studenti |
| 198 | +sudo chmod 770 /opt/skola/studenti/ |
| 199 | +dragca@fedora:~$ ls -ld /opt/skola/studenti/ |
| 200 | +drwxrwx---. 1 root studenti 0 23. říj 10.54 /opt/skola/studenti/ |
| 201 | + |
| 202 | +6. Do obou složek přidej soubor info.txt s krátkým textem (např. „Vítejte ve složce učitelů“). |
| 203 | +dragca@fedora:~$ sudo -i |
| 204 | +root@fedora:~# |
| 205 | +root@fedora:~# echo Vítejte ve složce učitelů > /opt/skola/ucitele/info.txt |
| 206 | +root@fedora:~# cat /opt/skola/ucitele/info.txt |
| 207 | +Vítejte ve složce učitelů |
| 208 | +root@fedora:~# echo Vítejte ve složce studentů > /opt/skola/studenti/info.txt |
| 209 | +root@fedora:~# cat /opt/skola/studenti/info.txt |
| 210 | +Vítejte ve složce studentů |
| 211 | + |
| 212 | +7. Ověř, že: |
| 213 | + Učitelé mají přístup pouze do složky ucitele. |
| 214 | + Studenti pouze do studenti. |
| 215 | + Ostatní uživatelé nemají přístup do žádné z nich. |
| 216 | + |
| 217 | +root@fedora:~# ls -ld /opt/skola/studenti/ /opt/skola/ucitele/ |
| 218 | +drwxrwx---. 1 root studenti 16 23. říj 11.41 /opt/skola/studenti/ |
| 219 | +drwxrwx---. 1 root ucitele 16 23. říj 11.40 /opt/skola/ucitele/ |
| 220 | + |
| 221 | + |
| 222 | + |
0 commit comments