rilpoint_mw113

Linux:RedHat

Redhat Linux tanfolyam

Török Tamás: torok.tamas@ulx.hu
http://rhlearn.gilmore.ca
ulxstudent_01 / ulxstudent_01
http://exelearning.net/


server1.example.com 172.25.X.11 root/redhat
desktop1.example.com 172.25.X.11 student/student

fizikai gepen:

rht-vmctl reset desktop
rht-vmctl start desktop
WiFi> ulxguest / ground control to major tom

Tartalomjegyzék

Login

Program inditasa

Windows-a majd gepeles megkezdése

Doc

http://access.redhat.com
/usr/share/doc/initscripts /etc/sysconfig/ file-ok be'llitasa
redhat-support-tool command line
Support küldéséhez: sosreport parancs használható
touch song{1..6}.mpg
touch song{1,7,126}.mpg
cp movie56{,.bak}
alias rm='rm -r'
\rm nem az aliast futtatja!
ls -i -l mutatja az inode szamokat is, linkek magyarazasakor jó

User management

getent hosts aa.bb.hu
su mintájára: sg   switch group
gpasswd és a jelszó a /etc/groupban
jelszó a shadow fájlban: $ jelek határolják:
$6 - sha512
$sdfsdf - Salt
$jwfnwkjfnwkefwnefk a jelszó maga
usermod -aG wheel,users alice
usermod -L bob
usermod -U bob
 csak passwd esetén, ssh kulccsal továbbra is be tud lépni.


userdel bob
adduser prince
  prince látni fogja bob home könyvtárát és levelezését
chage -l alice
chage -M 60 -m 10 -W 7 -I 14 alice
chage -E 2017-12-31 alice
chage -1 alice 
  expiration date törlése
Fájl:/images/Shadow file fields-solutions.png

IPA

 yum install ipa-client
 ipa-client-install --domain=server1.example.com --no-ntp --mkhomedir            # --force
    admin / redhat123
 ssh ipauser@desktop1
   password
 lab ipaclient grade

Jogok

uid: ki indtotta el
euid: kinek a jogaival fut
egid: milyen csoport jogaival fut
euid kerül összehasonlitasra az inode-ban levő user, group és other jogokkal.
mkdir aa
chgrp ftp aa
chmod 2770 aa
touch aa/file  ez az ftp csoporté lesz.
x jog hiánya az node olvasásának hiányát jelenti.
ACL

A jogok végén + karakter van pont helyett.

alice nem tagja a studnt csoportnak
azt akarjuk, hogy tudjon rni az X könyvtárba, amin egyébként othernek számit.

          U          G           O
alice    rwx
bob:     r-x
charlie: ---

csoportok: 
dev                 rwx

charlie tagja dev groupnak. ezért akkor sem fér hozzá, ha a hagyományos csoportjog szerint lenne hozzá rásjoga
getfacl file
setfacl -m u:student:rwx dir1
   student user rwx joga beálltása a dir1-re
ha rekurzvan akarjuk:
setfacl -m d:u:student:rwx dir1
 default acl, öröklődnie kell
Maszk:
setfacl -m m:r-- dir1
  most hiába van studentnek rwx-e akkor sem rhatja
  Ez átmeneti korlátozásra jó
setfacl -x u:student dir1

SELINUX

DAC - a hagyományos jogosultsági rendszer
getenforce
Permissive vagy Enforcing üzemmód (ki és bekapcsoláshoz átmenetileg)
setenforce
/etc/sysconfig/selinux
SELINUX=enforcing
Kontextusok megjelenitese
ls -lZ
Process
ps -efZ
User:
id -Z
Kontext megváltoztatása (nem marad fenn tartósan!)
chcon -R -t httpd_sys_content_t /www
semanage fcontext -l
restorecon -vR /www
Bővités
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
Törlés
semanage fcontext -d -t httpd_sys_content_t '/www(/.*)?'
A semanage fcontext -l ábécé rendben mutatja a szabályokat, de azok nem abban a sorrendben értékelődnek ki.
Javitása:
cd /etc/selinux/targeted/contexts/files
Az általam felvittek a file_contexts.local fájlban vannak abban a sorrendben, ahogy felvittük. 
Ha nem jó a sorrend, akkor ne itt editáld, hanem vidd fel ujra.
Booleans
getsebool -a
httpd_enable_cgi --> on
Módostás:
setsebool httpd_enable_cgi 1
Ezeket a szabályokat kapcsolja be a httpd_enable_cgi
sesearch -A -b httpd_enable_cgi 
Ez az boot utn elvész, hogy permanens legyen ahhoz -P kapcsoló kell
setsebool -P httpd_enable_cgi 1
appokhoz:
yum install selinux-policy-devel
mandb
man -k _selinux

Processzek

PCB-be parent id
kill
reptyr át lehet hozni processzt az én terminálomba
= Ütemezo =
Ordo N O(n) lineáris, a kovetkezo processz kerul kivalasztasra.
O(1) fix számu lépésben válaszásra kerül a következő processz
CFS (ma) a processzekhez sulyt rendelnek, merve van, hogy ki mennyit fut, aki a legkevesebbet futott, az kerul sorra. 
  A sulyozassal az alacsonyabb prioritasuak szamara lassabban telik az ido.

Többféle scheduler van: man sched.
  sched_fifo
  sched_rr
 Ezek realtime policy-k voltak
  sched_other
  sched_batch
  sched_idle
chrt parancs: real time-ban futtat egy parancsot.
nice demo:
  2x: dd if=/dev/zero of=/dev/null
  1x: nice -n 10 dd if=/dev/zero of=/dev/null
   A processz listában látszik a kisebb prioritás és a sokkal kevesebb processzidő (top)

DISK kezelés

partprobe /dev/vdb
 GPT
 gdisk-kel egy diszkre, ez gpt-t csinál
 lsblk
 blkid /dev/vdb - milyen séma van a diszken?
 alias duh='du -sh * | sort -rh | head -20'
 törlés után nem lesz kevesebb a hely, miért?
 lsof | grep delete vagy lsof +L 1
   itt lehet megtalálni, melyik processz tartja még nyitva
 df -i
 swapon -s  
   milyen swapek vannak használatban?

Systemd

Boot folyamat

 * POST
 * Boot disk kiválasztása
 * Boot loader betöltése (GRUB) Grand Unified Boot Loader. Ez betülti a kernelt és a szükséges dolgokat. 
     MBR, 4 partició lirasa, a Grub nem a 446 byte-ban van. Ez csak annyit tud, hogy a disk adott poziciojara 
     menjen es betöltsön egy programot, ez nem a kernel még. Ez a Stage1. Be tud tölteni konfig fájlokat is. 
     Ez tartalmazza, hogy hol vannak a kernelek. Következő lépésben betölti a kernelt és az initrmafs fájlt is.
 * Indul a kernel, inicializálja az eszközöket, a rot filerendszert read onlyban. 
     A /lib/modules/verzió könyvtárban vannak az adott kernelhez tartozó  modulok.
 * A kernel inditja a systemd-t, de ez még az initramfs-ben levő systemd. Ez mountolja a /root filerendszert, megcsinál pár dolgot
      és űjraindul, de már a root fájlrendszerben levő változattal.
 * Elindulnak a unitok. van egy olyan tipus, hogy target. A systemd először a default targetet indtja el.
     Lekérdezése: systemctl list-dependencies
        Alapesetben: graphical.target
     Cseréje: systemctl set-default multiuser.target
     Megjelntésük: systemctl list-dependencies
     Váltás: systemctl isolate graphical.target
     cat /usr/lib/systemd/system/multi-user.target
Grub menűjének lerása, szerkesztése.
Konfig file: /boot/grub2/grub.cfg
(vim ctrl-g) státusz sor megjelenitese
elfelejtett jelszó Grub command line edit, majd
systemd.unit=rescue.target            # rw a root parició
systemd.unit=emergency.target         # read only a root partció
Mindkettő root passwordöt kért, elfelejtett jelszóhoz nem használható
ezért nem systemd.rescue-t használunk, hanem azt irjuk oda: rd.break
  A végén touch /.autorelabel

Hálózat konfig

 ifconfig felejtő
 ip addr ls
 ip addr show eth0 vagy röviden ip a s eth0
 ip addr add 10.0.0.11/8 újabb ip cim hozzáadása
 ip route vagy route vagy netstat -rn
 netstat -tulpn
 ss -tulpn
 host
 dig
 nslookup ne
 Beállitása Network Managerrel történik, ez egy systemd service.
 systemctl status SystemManager
 nmcli: interfész a network managerhez.
 man nmcli-examples
 nmcli conn show 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
 nmcli dev
 Új connection:
   nmcli conn add con-name static-eth0 ifname eth0 type ethernet
   Ettől ez DHCP-n kér majd paramétereket. 
   megnézzük:
     nmcli con show static-eth0
   Módostjuk:
     nmcli con mod static-eth0 ipv4.addresses "172.25.1.11/24 172.25.1.254"
     Hozzáadás
     nmcli con mod static-eth0 +ipv4.addresses "10.0.0.1/8"
     Elvétel
     nmcli con mod static-eth0 -ipv4.addresses "10.0.0.1/8"
     DNS
     nmcli con mod static-eth0 +ipv4.dns "8.8.8.8, 8.8.4.4"
     Fix address
     nmcli con mod static-eth0 ipv4.method static
     nmcli con mod static-eth0 ipv4.method auto
     Aktiváljuk:
     nmcli con up static-eth0
     nmcli con show
  Ha beleirunk a fajba 
     nmcli con reload
     nmcli con up static-eth0
 Host name beálltása: hostnamectl set-hostname server0.example.com
     hostnamectl megmutatja a beálltásokat
     ha nincs /etc/hostname, akkor indit egy DNS lekerdezest, es az arra adott hostnevet allitja be.
     Ez tranziens, ez latszik a hostnamectl kimenetében

Log

 systemctl status rsyslog
 # Provides UDP syslog reception
 #$ModLoad imudp
 #$UDPServerRun 514
 Port nyitasa TCP szinten a syslog szerveren
 # Provides TCP syslog reception
 #$ModLoad imtcp
 #$InputTCPServerRun 514
 /etc/rsyslog.conf
 *.cron        /var/log/cron
 *.cron        -/var/log/cron 
    # nem zárja le mindig a fájlt, blokkonként kóldi, igy nem latszik azonnal, crash eseten nem erhető el.
 *.cron        @@192.168.100.100  # @ UDP @@TCP


 $ModLoad imfile
 $InputFilePollInterval 1
 # File 1
 $InputFileName /tmp/hello.txt
 $InputFileTag tag: teszt
 $InputFileStateFile state_file_name
 $InputFileSeverity Error
 $InputFileFacility local7
 $InputRunFileMonitor


NTP

 ntpd vagy chrony teleptése

LVM

BLOCKDEVICES: pv - physical volume
   pvcreate /dev/vdb1 /dev/vdb2
     Inicializálja a pv-ket, 2 pv jön létre
   pvdisplay mutatja a pv-ket
   pvs mutatja másképp

VOLUME GROUP: vg
   vgcreate shazam /dev/vdb1
   vgdisplay 
   vgs

 LOGICAL VOLUMES: lv
   lvcreate -n storage -L 200M shazam 
   storage a neve, 200M nagyságú
   lvcreate -n storage -l 1023 shazam 
   storage a neve, 1023 extent nagyságú
   lvcreate -n storage -l 100%FREE shazam 
   100%-ban kitölti a szabad helyet
   lvdisplay
   lvs

Fájlrendszer kialaktása:
    mkfs.xfs /dev/shazam/storage
Megnövelés:
    vgextend shazam /dev/vdb2
    megnöveljük a vg groupot
    lvextend /dev/mapper/shazam-storage -L 400M 
    megnöveli 400M-ra
    lvextend /dev/mapper/shazam-storage -L +1M
    megnöveli 1M-val
    Fájlrendszer méretének növelése:
    resize2fs
    xfs_growfs /storage
 Csükkentés
    resize2fs csökkentés
    xfs-sel nem is megy
    lvreduce paranccsal méret csükkentés
    pvmove az extenteket áthúzza a szabad helyekre
    vgreduce kivesszók a volume-ból
    pvremove levesszük a metaadatokat
    
Lehet snapshotokat készteni
Mirrorozni     
A Logical Volume és a pv-k logical extentekre és physical extentekre bomlanak.


NFS

 systemctl start nfs.service vagy 
 systemctl start nfs.secure függően a methodtól
 

/etc/fstab

 server0:/shares/public  /mnt/public     nfs     sec=krb5p,sync  0       0
 defaults: sync: csak akkor jön válasz, ha az rás tényleg lement
           async azonnal válasz jön
                 hardmount: amig nincs válasz, addig áll a program.
                 softmount után egy errort kap
                 Ha meghal, nem lehet lecsatolni ezt megoldani a lazyunmount mount paraméterrel lehet, umount -l a parancs
 fsid segt a hálózati szakadás esetén a helyreálltásban

Netfilter

Firewalld
Bejön egy csomag, vagy a forrás vagy a bejövő interfész alapján kerül továbbtásra valamelyik zónába.
Ha nincs szabályom, akkor a default zónán megy át minden.
A zóna lehet interfész-dfiniált és lehet hálózat-definiált is. Ha átfedés van, a hálózat lesz az erősebb, nem az iface
Skin by RIL Partner