VIM használata:

:wq  #mentés és kilépés
:q!  # kilépés módosítás nélkül
:se nu  #sorok elején kiírja a sorszámot
G  #a fájl végére ugrik
gg # a fájl elejére ugrik
5 utána dd  #töröl a kurzor alatt 5 sortcommand modeban.
5 utána yy  #kijelöl a kurzortól lefele 5 sort ÉS „p” betűvel beilleszthetjük
u  #undo
/keresettszó  # fájlon belüli keresés kis és nagybetűre érzékeny
:%s/cserélendő_szó/amire_cseréljük_szó/g  # szócserélése fájlban „g” globálisan az összeset cseréli

Linux hasznos parancsok:

#először a létrehozunk egy  kucs.pem fájlt aminek a tartalma a kapott private kulcs.
chmod 600 kapott_kulcs.pem
ssh -i kapott_kulcs.pem felhasznalonev@tavoli_szerver_ip

grep -Ev „^#|^$” file  # üres sorok és kommentezett sorok nélkül látod a fájlj tartalmát

tail -f filename  # folyamatosan figyeli a fájl tartalmát.

find /var -type f -size +100M  #a /var mappában keresi a 100MB -nál nagyobb fájlokat

sudo yum reinstall –downloadonly -d /home/user/downloads example-package  # csak letölti a csomagot de nem telepíti. Jó ha lejárt valamelyik gépen a licens.

{ find / -xdev -printf ‘%h\n’ | sort | uniq -c | sort -k 1 -n; } 2>/dev/null  #túl sok inodes esetén megkereshetjük, melyik mappa tartalmazza a legtöbb fájlt
du –inodes –separate-dirs –one-file-system | sort -rh | head  #szintén
find / -xdev -printf ‘%h\n’ | sort | uniq -c | sort -k 1 -n  #szintén

du –max-depth=1 /path | sort -r -k1,1n  #megmutatja 1 mélységig, hogy mekkorák a könyvtárak méretei
du -a /var | sort -n -r | head -n 10
du -ah /opt/ | sort -rh | head  

cut -d: -f1 /etc/passwd  #userek listázása
awk -F’:’ ‘ {print $1}’ /etc/passwd  #userek listázása $3,$4 userID és groupID
cut -d: -f3 /etc/passwd  #userID listázása „-d” után lévő karakter, ami alapján oszlopokra osztjuk a szöveget, „-f” paraméter az oszlopszám.
cut -d: -f4 /etc/passwd  #groupID listázása

sed -i ‘s/cserélendő_szó/amire_cseréljük_szó/g’   szócserélése fájlban „g” globálisan az összeset cseréli

grep <text> * -R   # szöveg keresése az almappákban is.
free -m &>> /tmp/file.log   # a parancs kimenetelét és az esetleges hibákat is be írja egy fájlba.
find /etc/ -name host*  #fájl keresése név alapján egy mappában.

last  # ki, mikor jelentkezett be a rendszerbe.

lsof -u root   #meg lehet nézni, hogy a user milyen fájlokat nyitott meg.
lsof | grep -e „[[:digit:]]\+w” #kilistázza az összes fájlt ami írásra van megnyitva.

chmod a+x file   #fájl jugosultság beállítása („a” all, „o” other, „g” group, „u” user)
chown -R user:group file   #fájl,mappa tulajdonos beállítás rekurzívan

ps -ef | grep httpd | grep -v ‘ grep’ | awk ‘{print $2}’ | xargs kill -9  #egyszerre több ugyan olyan néven futó PID bezárása.

yum module reset perl-DBD-MySQL perl-DBI perl-IO-Socket-SSL perl-libwww-perl  # akkor használjuk mikor függőségi probléma van. Fel van telepítve a szükséges csomag de mégis függőségi problémát jelez a yum.

export EDITOR=vim  #ubuntu alatt beállítani a VIM editort alapértelmezettnek

journalctl _COMM=sshd  #ssh loginek

sudo -u www-data vim /srv/www/wordpress/wp-config.php  #fájl megnyitása user(www-data) nevében
sudo alternatives --config java  # több java verzió esetén ezzel a paranccsal lehet váltani a verziók között. 
hammer host list --host-ids-from-file hostok.txt --fields "Name,Interfaces"  #több host interfacenek lekérdezése
echo „Hostname: $( hostname -f)  Interface: $(nmcli device status | awk ‘NR==2{print $1}’)” 
 
zgrep „/auth/realms/corporate/protocol/openid-connect/token” access_log.2024-03-13.node1.gz | awk ‘{if($7!=200) print $0}’ | wc -l

Root jogosultság adása csoportnak

/etc/sudoers.d/ mappában (groupame ajánlott) fájlt kell lérte hozni melyek tartalma:
%groupname    ALL=(ALL)    NOPASSWD: ALL  #így nem kérjelszót az adott group usereihez sudozáskor :).

.rpm csomag letöltése az internetről

curl https://rpmfind.net/linux/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/t/tree-2.1.0-4.fc39.x86_64.rpm -o tree-2.1.0-4.fc39.x86_64.rpm  #a link „-o” outputját a „tree-2.1.0-4.fc39.x86_64.rpm” fájlba tölti le.
rpm -ivh tree-2.1.0-4.fc39.x86_64.rpm  #ezzel telepíti a letöltött fájlt.

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo  #egy másik módja a netről való letöltésnek
rpm –import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

Install Jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm –import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade

# Add required dependencies for the jenkins package
sudo yum install fontconfig java-17-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload

Servicek elérhetősége

Servicek mappája: /etc/systemd/system/multi-user.target.wants

WordPress install on local Ubuntu server

https://ubuntu.com/tutorials/install-and-configure-wordpress#1-overview

STEP 1. Install Apache
apt-get install apache2 -y
systemctl start apache2
systemctl enable apache2
systemctl status apache2

STEP 2. Install MySQL
apt-get install mysql-server -y
mysql_secure_installation
systemctl enable mysql
systemctl status mysql

STEP 3. Install PHP
apt-get install php libapache2-mod-php php-mysql -y
apt-get install  php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
php -v
systemctl restart apache2

STEP 4. Install WordPress
cd /var/www/html
wget -c http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
ls
chown -R www-data:www-data /var/www/html/wordpress

STEP 5. Create a Database for WordPress
mysql -u root -p”password”
CREATE DATABASE wpdemo_db;
CREATE USER wpdemo_user@localhost IDENTIFIED BY ‘user_password’;
GRANT ALL PRIVILEGES ON wpdemo_db. * TO wpdemo_user@localhost;
FLUSH PRIVILEGES;
exit;
chmod -R 755 wordpress/
cd wordpress

STEP 6. Setup and Configure WordPress
Open a browser and go to http://localhost/wordpress/ or http://domain/wordpress/ and finish the instalation!
mv -f wordpress/* .
chown -R www-data:www-data /var/www/html/

Fájl létrehozása tartalommal

cat > /etc/apache2/sites-available/wordpress.conf << EOF

<VirtualHost *:80>
    DocumentRoot /srv/www/wordpress
    <Directory /srv/www/wordpress>
        Options FollowSymLinks
        AllowOverride Limit Options FileInfo
        DirectoryIndex index.php
        Require all granted
    </Directory>
    <Directory /srv/www/wordpress/wp-content>
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

EOF

Hasznos linkek

https://codebeautify.org/
https://cyberbruharmy.medium.com/how-to-monitor-packet-flow-using-the-tcpdump-18c37a52852f
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_ip_networking_with_nmcli
https://linuxhint.com/nmap_scan_udp_port/
https://www.ssh.com/academy/ssh/keygen
https://www.linode.com/docs/  
https://www.letix.hu/  #itt is hasznos parancsok linux debianhoz

Hálózati parancsok

tcpdump -i any host domain.name.hu and port 514 -A    # részletesen meg lehet nézni az elküldött logok tartalmát egy adott cím fele 514 porton keresztül (pl RSYSLOG forwarding)

tcpdump host 192.168.2.5  #adott host fele menő és felöl jövő összes forgalom
tcpdump src host 192.168.2.5  # adott host felöl jövő forgalom figyelése
tcpdump dst host 192.168.2.5  #adott host felé menő forgalom figyelés
tcpdump src port 1055
tcpdump dst port 443
tcpdump -D #kilistázza az elérhető interfészeket
tcpdump -i eth0 -c 5  #5db sort ír ki

hostname -I  #jelenlegi aktív IP címe a hostnak
hostname -f  #a host dns nevét íratja ki.
hostnamectl  # OS verzió, kernel verzió stb..

nmcli con mod „$connectionName” ipv4.dns „8.8.8.8 8.8.4.4”  #DNS beállítása
nmcli con mod „$connectionName” ipv4.ignore-auto-dns yes  #DHCP DNS autómatikus megújítását letiltja.
nmcli con mod enps03 ipv4.addresses 192.168.2.20/24  #IP cím beállítás
nmcli con mod enps03 ipv4.gateway 192.168.2.1  #gateway beállítása
nmcli con mod enps03 ipv4.method manual  #IP címzést beállítjuk DHCP-ről Statikusra.
/etc/sysconfig/network-scripts/ifcfg-enps03  #Hálózati beállítások fájlja.

nmap -p 123 -sU 192.168.2.5  #ellenőrizhetjük, hogy nyitva van e 123 UDP port a hoston.

192.168.0.1:/NASShare /mnt/NAS nfs username=administrator,password=pass 0 0  #fstabba így kell hálózati helyet felcsatolni
mount.cifs //192.168.101.100/sales /mnt/cifs -o username=shareuser,password=sharepassword,domain=domain  #windowsos hálózati meghalytó felcsatolása linux könyvtárra

mount.cifs //src_host_directory/documents/ /mnt/documents/ -o credentials=/home/user/.credentials,uid=userID,gid=GroupID  #a”.credentials” fájl tartalma a „username=user” következő sorba „password=password”

mount -t cifs //[netbiosname]/techsupport /mnt/techupport -o username=[username],doamin=[name],rw,file_mode=0777,dir_mode=0777

Naponta keletkező logok tömörítése cronjobbal

cd /etc/cron.d/ könytárban létrehozunk egy fájlt, melynek tartalma:
10 1 * * * root cd /opt/signassist/standalone/log && find . -name „*.log.2*” ! -name „*.gz” -exec gzip {} \;
20 1 * * * root cd /opt/signassist/standalone/log && find . -name „access2*..log” ! -name „*.gz” -exec gzip {} \;

https://www.linode.com/docs/guides/use-logrotate-to-manage-log-files/

Audit 2 allow

audit2allow -w -a  #  olvasható formátumba megnézhető miért lett meg tagadva a hozzá férés.
audit2allow -a
audit2allow -a -M mycertwatch   #létrehoz két fájlt (mycertwatch.pp  mycertwatch.te)
semodule -i mycertwatch.pp  #ez pedig végrehajtja a policyt