Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
Linux presentation
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
asztrikx
Linux presentation
Commits
c842967c
Verified
Commit
c842967c
authored
3 years ago
by
Tóth Miklós Tibor
Browse files
Options
Downloads
Patches
Plain Diff
második videó
parent
a9f3da62
No related branches found
No related tags found
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
.gitlab-ci.yml
+1
-0
1 addition, 0 deletions
.gitlab-ci.yml
cirun.sh
+1
-0
1 addition, 0 deletions
cirun.sh
index.html
+1
-1
1 addition, 1 deletion
index.html
második videó.md
+75
-15
75 additions, 15 deletions
második videó.md
video/masodik
+197
-0
197 additions, 0 deletions
video/masodik
with
275 additions
and
16 deletions
.gitlab-ci.yml
+
1
−
0
View file @
c842967c
...
...
@@ -20,6 +20,7 @@ home:
-
ssh mikewashere@centaur.sch.bme.hu mkdir -p /home/mikewashere/public_html/linux
# actual work
-
scp -r $PWD/* mikewashere@centaur.sch.bme.hu:/home/mikewashere/public_html/linux/
-
ssh mikewashere@centaur.sch.bme.hu sh -c "cd /home/mikewashere/public_html/linux; bash cirun.sh"
only
:
refs
:
-
master
\ No newline at end of file
This diff is collapsed.
Click to expand it.
cirun.sh
0 → 100644
+
1
−
0
View file @
c842967c
echo
"Not yet 😉"
>
"második videó.md"
\ No newline at end of file
This diff is collapsed.
Click to expand it.
index.html
+
1
−
1
View file @
c842967c
...
...
@@ -30,7 +30,7 @@
let
tmp
=
[
"
első videó
"
,
"
második videó
"
,
//
"második videó",
];
let
pages
=
[];
...
...
This diff is collapsed.
Click to expand it.
második videó.md
+
75
−
15
View file @
c842967c
...
...
@@ -115,12 +115,49 @@ A `useradd` parancs segítségével hozhatunk létre új felhasználót.
Ezután az új felhasználónak be kell állítani egy jelszót, ezt
a
`sudo passwd mike`
parancs kiadása után állítható be.
<Note
type=
"warning"
label=
"Megjegyzés"
>
A
`passwd`
nem ír semmit a terminálra miközben írjuk a jelszót,
de ne kételkedjünk, hogy nem látunk semmit, attól még íródik.
</Note>
<Note
type=
"tip"
label=
"Extra infó"
>
Ubuntun és egyéb Debian alapú disztrókon megtalálható egy
`adduser`
script is, ami szintén userek létrehozására van.
Használata kicsit egyszerűbb, azonban nincs minden rendszeren.
Használata:
```
shell-session
mike@mike-elementary:~$
sudo
adduser patrik
[sudo] password for mike:
Adding user `patrik' ...
Adding new group `patrik' (1001) ...
Adding new user `patrik' (1001) with group `patrik' ...
Creating home directory `/home/patrik' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for patrik
Changing the user information for patrik
Enter the new value, or press ENTER for the default
Full Name []: Fodor Patrik
Room Number []: 6969
Work Phone []: +36306942069
Home Phone []:
Other []: Jógyerek amúgy
chfn: 'Jógyerek amúgy' contains non-ASCII characters
Is the information correct? [Y/n] y
mike@mike-elementary:~$
sudo
adduser patrik
sudo
Adding user `patrik' to group `sudo' ...
Adding user patrik to group sudo
Done.
mike@mike-elementary:~$
```
</Note>
```
shell-session
patrik@ubuntu:/home$
useradd
-m
-s
/bin/bash mike
useradd: Permission denied.
useradd: cannot lock /etc/passwd;
try again later.
...
...
@@ -137,19 +174,23 @@ eltávolíthatunk egy új felhasználót a rendszerből.
Azonban ez csak a felhasználót törli a hozzá tartozó
`home`
mappát
és egyéb fájlokat nem, ezt az
`-r`
kapcsoló megadásával tehetjük meg.
```
```
shell-session
patrik@ubuntu:/home$
sudo
userdel
-r
mike
[sudo] password for patrik:
patrik@ubuntu:/home$
```
<Note
type=
"tip"
label=
"Extra infó"
>
A
`userdel`
Debian-os párja a
`deluser`
.
</Note>
#### Jelszó megváltoztatása
`sudo passwd <username>`
parancs segítségével megváltoztatható
egy-egy felhasználó jelszava. Akkor ha csak annyit írunk, hogy passwd, azzal
a bejelentkezett felhasználó jelszavát változtatjuk meg.
```
```
shell-session
patrik@ubuntu:/home$
sudo
passwd mike
[sudo] password for patrik:
New password:
...
...
@@ -189,11 +230,11 @@ azt se engedi (1234, asdasd...stb.).
`usermod -aG sudo <username>`
parancs segítségével hozzáadjuk a
megadott felhasználót a sudo nevű csoporthoz.
*Hint: `-aG`, mint add group.*
```
```
shell-session
patrik@ubuntu:/home$
sudo
usermod
-aG
sudo
mike
```
Vagy a létrehozás során adjuk meg a plusz group-ot
```
```
shell-session
patrik@ubuntu:/home$
useradd
-m
-G
sudo
-s
/bin/bash mike
```
...
...
@@ -203,7 +244,7 @@ patrik@ubuntu:/home$ useradd -m -G sudo -s /bin/bash mike
mely csoportoknak a tagjai. A
`groups`
parancs önmagában a bejelentkezett felhasználó
csoportjait mutatja meg.
```
```
shell-session
patrik@ubuntu:~$
groups
mike
mike : mike sudo
patrik@ubuntu:~$
groups
patrik
...
...
@@ -217,7 +258,7 @@ patrik adm cdrom sudo dip plugdev lpadmin lxd sambashare
`sudo groupadd <groupname>`
parancs segítségével lehet létrehozni egy új
csoportot.
```
```
shell-session
patrik@ubuntu:~$
sudo
groupadd almafa
[sudo] password for patrik:
patrik@ubuntu:~$
sudo cat
/etc/group |
grep
alma
...
...
@@ -225,6 +266,10 @@ almafa:x:1002:
patrik@ubuntu:~$
```
<Note
type=
"tip"
label=
"Extra infó"
>
Debian alapú disztrókon a
`sudo addgroup almafa`
is működik.
</Note>
A
`/etc/group`
fájlban található a csoportok listája és azok tulajdonságai.
sudo cat /etc/group | grep alma:
-
`sudo`
csak root joggal olvasható vagy írható a
`group`
fájl
...
...
@@ -233,17 +278,22 @@ sudo cat /etc/group | grep alma:
-
a
`grep`
a bemenetére kapott szövegből az
`"alma"`
(rész)szót tartalmazókra fog szűrni
Ennek a segítségével leellenőrézhetó egy a csoport valóban létrejött.
#### Törlés
`sudo groupdel <groupname>`
parancs segítségével eltávolíthatunk egy csoportot.
```
```
shell-session
patrik@ubuntu:~$
sudo
groupdel almafa
[sudo] password for patrik:
patrik@ubuntu:~$
sudo cat
/etc/group |
grep
alma
patrik@ubuntu:~$
```
<Note
type=
"tip"
label=
"Extra infó"
>
Debian alapú disztrókon a
`sudo delgroup almafa`
is működik.
</Note>
Hasonlóan az előző ellenőrzéshez itt is ellenőrizhető,
hogy valóban eltávolításra került-e a csoport.
Mivel a kimeneten nem jelent meg semmi, megállapítható, hogy nincs alma szót
...
...
@@ -255,7 +305,7 @@ tartalmazó group.
lehet hozzáadni a megadott csoporthoz.
A
`groups`
parancs segítségével megnézhetjük, hogy tényleg megtörténik a hozzáadás.
```
```
shell-session
patrik@ubuntu:~$
sudo
usermod
-aG
almafa mike
[sudo] password for patrik:
patrik@ubuntu:~$
groups
mike
...
...
@@ -278,12 +328,17 @@ patrik@ubuntu:~$
```
`sudo gpasswd -a <username> <groupname>`
:
-
A
`gpasswd`
egy parancs, mely segítségével különböző műveleteket lehet
végrehajtani a csoportokon.
-
`-a`
kapcsoló, mely megadja, hogy hozzáadni szeretnénk egy felhasználót. (add)
-
`username`
a felhasználó, akit szeretnénk Hozzáadni
-
`groupname`
a csoport, amelyikhez szeretnénk hoozáadni a felhasználót
<Note
type=
"tip"
label=
"Extra infó"
>
Debian alapú disztrókon a
`sudo adduser mike almafa`
is működik.
</Note>
-
A
`gpasswd`
egy parancs, mely segítségével különböző műveleteket lehet
végrehajtani a csoportokon.
-
`-a`
kapcsoló, mely megadja, hogy hoozáadni szeretnénk egy felhasználót. (add)
-
`username`
a felhasználó, akit szeretnénk Hozzáadni
-
`groupname`
a csoport, amelyikhez szeretnénk hoozáadni a felhasználót
#### Felhasználók eltávolítása a csoportból
`sudo gpasswd -d <groupname> <username>`
parancs segítségével törölhetünk
...
...
@@ -297,11 +352,16 @@ patrik@ubuntu:~$ groups mike
mike : mike sudo
```
<Note
type=
"tip"
label=
"Extra infó"
>
Debian alapú disztrókon a
`sudo deluser mike almafa`
is működik.
</Note>
Pontosan ugyanazt kell itt csinálni, mint amikor a
`gpasswd`
segítségével
hozzáadunk egy felhasználót, csupán a kapcsoló eltérő
`-d`
.
### [Superuser](https://en.wikipedia.org/wiki/Superuser#Unix_and_Unix-like)
Ez az oldal is jó: https://mediatemple.net/community/products/dv/204643890/an-introduction-to-the-root-user
The root is the user name or account that by default has access
...
...
@@ -350,7 +410,7 @@ Az ő feladata, hogy minden szükséges szolgáltatást, démont elindítson.
### systemd
A systemd egy init rendszer,
amely nagyon elterjed Linux rendszereken, ma már szinte az
amely nagyon elterjed
t
Linux rendszereken, ma már szinte az
összes disztribúció ezt használja, mivel számos előnye van elődeihez képest.
Feladata, hogy a Linux kernel
...
...
@@ -419,7 +479,7 @@ az ssh (secure shell).
-
Megkérdezi a felhasználó nevünkhöz
tartozó jelszót, ezt megadjuk ééééééééés bent is vagyunk
```
shell
```
shell
-session
[patrik@patrik-laptop ~]$
whoami
patrik
[patrik@patrik-laptop ~]$
ssh hallgato@172.16.228.130 3944ms 2021. márc. 16., kedd, 20:41:28 CET
...
...
This diff is collapsed.
Click to expand it.
video/masodik
0 → 100644
+
197
−
0
View file @
c842967c
Sziasztok!
Mike vagyok, főleg a sysadminban tevékenykedek, de megtalálhatsz
a Devteamben, Neteamben és Securiteamben is.
Ez az előadássorozat a Linuxról szól és a mostani videóban
szó lesz az UNIX-ról, a Linux felépítéséről,
a felhasználók kezeléséről, az init rendszerekről
(de főként a systemd-ről), service-ek kezeléséről,
hálózatkonfigurációról és SSH-ról.
Kezdjünk is bele!
Mi is az UNIX?
A korábbiakban szó volt arról, hogy "UNIX rendszer", de mit
is jelent ez?
Az UNIX egy '70-es években kifejlesztett rendszer, aminek mai
változatai is léteznek, például a macOS, iOS és társai,
illetve a BSD-k formájában. Ezek igazi UNIX-ok, hiszen kódot
örökölnek az eredeti UNIX operációs rendszerből.
Ezzel szemben a Linux-ok, UNIX-szerű operációs rendszerek,
mert a Linux fejlesztése teljesen független az UNIX-tól,
csupán az UNIX filozófiáját és viselkedését követik.
A továbbiakban UNIX rendszer alatt az UNIX-szerű rendszerekre
is gondolok a valódi UNIX-ok mellett.
Mitől lesz valami UNIX-szerű?
Két fontos elvet említenék, amik megtalálhatóak az UNIX-okban:
Az első a KISS, vagyis a Keep It Simple, Stupid.
Ennek a jelentése az, hogy írjunk, rövid, egyszerű programokat,
amik kevés feladatot látnak el, de azokat jól.
Ezeket a kicsit programokat a shell használatával úgyis össze
tudjuk majd kötni és el is tudják egymást indítani.
Ezt tapasztaltuk is, amikor a korábbiakban egymás után
fűztünk kicsi programokat pipe-pal, vagy ahogy láthatóan
a man a háttérben less-t használ a szöveg megjelenítésére.
Ez azért hasznos, mivel így ha valamelyik része a rendszernek
nem tetszik nekünk, azt könnyen ki tudjuk cserélni egy másik
kicsi programra.
Emellett, mivel ezek a programok kicsik és egyszerűek,
kisebb a támadási felülete egy-egy programnak.
A másik UNIX-os elem, amiről beszélnék,
az az "everything is a file", vagyis minden egy file.
Ezt azt takarja, hogy a gépen minden, legyen az RAM, diszkek,
videokártyák, futó folyamatok vagy bármi más, mind
elérhetőek mint egy file.
Nézzünk is erre pár példát:
Ha kiadom az lsblk parancsot, akkor az kilistázza a géphez
csatlakoztatott diszkeket. Itt látszik egy olyan, hogy vda és
vda1, illetve látszik, hogy vda1 van a /-be felcsatolva,
ez a root.
A Linuxos jelölésrendszerben a SATA diszkeket
sd<és valami betű>-vel,
NVMe SSD-ket nvme<szám>n<szám>-mal,
virtuális diszkeket pedig vd<majd egy betű>-vel jelöljük,
ezeken a partíciókat pedig SATA és virtuális diszkek esetén
egy számmal, NVMe esetén pedig p és utána egy számmal jelöljük.
Itt /dev/vda a diszk, /dev/vda1 pedig a partíció.
Ha kilistázom a /dev-et, vagyis devices-t,
ahol a hardverek fájljai élnek, akkor a sok más fájl közt ott van
a vda és vda1 is.
Ez azért hasznos, mivel így, ha például
egy programot akarnék írni, ami biztonsági menti
a diszkemet, akkor csupán a /dev/vda vagy hasonlót kéne másolnia
a programomnak egy másik meghajtóra. Emellett a fájlrendszert
nem érdekli, hogy ő egy diszken vagy egy fájlon van,
így simán megtehetem, hogy egy fájlrendszeren belüli fájlon
létrehozok és használok egy fájlrendszert.
Most szeretnék az UNIX-ok architektúrájáról beszélni.
Unixon a KISS-t követve, jóval modulárisabbak ezek a részek,
mint mondjuk Windows-on.
De mik is ezek a részek?
Kezdjük a bootloader-rel. Ennek a feladata az, hogy
betölti RAM-ba a kernelt és pár,
a gép beindításához szükséges fájlt, emellet dual-boot
esetén lehetőséget ad arra, hogy kiválasszuk, hogy mit tölt be.
Ubuntu-n a bootloader a Grub.
Miután a bootloader betöltötte a kernelt, esetünkben a Linuxot,
a kernel inicializálja a hardvereket és önmagát, majd beindítja
az init rendszert, ezután szépen a háttérben kezelgeti a
hardvereket.
Az init rendszer, esetünkben a systemd, pedig beindít minden
szolgáltatást, ami a gép futásához kell, illetve amit kértünk.
Például egy asztali gép esetén a grafikus felületet,
vagy egy szerver esetén a webszervert.
Az operációs rendszerek azon része, ami a kernelen kívül fut
az az úgynevezett userland. Mivel az Ubuntu egy GNU/Linux
oprendszer, így a userland alapját a GNU programok képezik.
Ezek a programok közt van a cat, cp, rm, ls és sok egyéb
olyan eszköz, amit elvárunk, hogy legyen egy shellben.
Na de térjünk is át a szárazabb anyagról a gyakorlati részekre!
Előszöris tanuljunk meg usereket kezelni.
Hozzuk létre a Patrik usert. Ehhez root jogosultság szükséges,
de szerencsére nekem az van.
A patrik user létrehozáshoz a sudo useradd -m patrik parancsot
kéne kiadni, azonban ezen lehet finomítani.
Én szeretném, hogy Patrik ha shellt indít bash-t kapjon,
ne sima sh-t. Ehhez a parancshoz hozzá kell adnom a
-s /bin/bash parancsot is.
Emellett szeretnék ha szeretnék patriknak jogosultságot adni
ahhoz, hogy sambán megosszon mappákat, akkor hozzáadhatom
a sambashare grouphoz a -G sambashare megadásával.
Így létre is jött Patrik fiókja, de még nincs rajta jelszó,
nem lehet belépni. Állítsunk neki jelszót!
Más userek jelszavának állításához érthető okokból
root jogosultság szükséges.
Így hát kezdjük is azzal, hogy sudo.
A passwd paranccsal tudunk jelszót állítani és argumentumként
adjuk meg azt, hogy patrik, hiszen az ő jelszavát
akarjuk beállítani.
Adjunk meg neki valami jó biztonságos jelszót...
mégegyszer...
és most már van jelszava, be tud lépni.
Mi van, ha a saját jelszavam szeretném megváltoztani.
Ehhez érthetően nem kell root. Futtassuk a passwd-t paraméterek
nélkül.
Ami most újdonság, hogy megkérdi a korábbi jelszavunk, mivel
nem használtunk sudo-t, de adjuk is meg neki.
Most jöhet az új jelszó...
és megint...
És kész is vagyunk.
Eközben rájöttem, hogy megbízok Patrikban és szeretnék neki
root jogokat adni, vagyis hozzáférést a sudo parancshoz.
Ehhez hozzá kell adnom a sudo grouphoz. Ezt megtehetem
a sudo usermod -aG (vagyis add group) sudo patrik
paranccsal.
Tegyük fel, hogy mégse szeretném, hogy Patrik hozzáférjen
ehhez a géphez. Töröljük a felhasználóját a
sudo userdel -r patrik paranccsal.
Az -r kapcsoló azt jelenti, hogy patrik home mappáját
is szeretném törölni. Ha nem adom meg, akkor a fájljai rajt
maradnának a gépen.
Debian alapú disztrókon, így Ubuntun is van egy adduser script
is emellett, ami talán egy kicsit kényelmesebben használható,
azonban nincs minden gépen szemben a korábbi parancsokkal,
amik gnu programok.
Hozzuk létre újra patrik felhasználóját, de ezúttal az
adduser paranccsal a useradd helyett.
Ha kiadjuk, hogy sudo adduser patrik, akkor az adduser
végigvezet minket a Patrik fiók létrehozásán.
Most adjuk meg patrik jelszavát...
Emellett csomó metaadatot is megadhatunk.
A Full name azért külön mező, mivel az unixos felhasználónevek
csak kisbetűs angol karaktereket tartalmazhatnak. Ez a full name
jelenik meg például a bejelentkezőképernyőn.
Most megint adjuk hozzá patrikot a sudo csoporthoz, viszont
most ezt az adduser-rel tegyük.
sudo adduser patrik sudo
Király, meg is vagyunk.
Most töröljük patrikot, de használjuk a deluser parancsot
sudo deluser patrik
kész.
Most, hogy usereket tudunk kezelni, nézzük meg a csoportkezelést.
Először is nézzük meg milyen csoportok tagjai vagyunk,
ezt a groups-szal tehetjük meg.
Nézzük meg, hogy Bélának milyen csoporttagságai vannak:
ehhez a groups bela parancsot kell kiadni.
Próbaként hozzuk létre a kszksok csoportot.
sudo groupadd kszksok
Nézzük is meg, hogy működött, csináljunk egy mappát és
tegyük elérhetővé a csoport számára.
létrehozok egy mappát
mkdir test
group ownerré teszem a kszksok-at
sudo chgrp kszksok test
és nézzük meg
ls -la
Most adjuk hozzá magunkat a csoporthoz.
sudo usermod -aG kszksok mike
Vegyük ki magunkat a tagok közül:
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment