# LINUX NOTLARI ## Sınav Soruları: lvm-disk-thinprovision-chunk-strip size/ passwordrecovery/ repo-subscription_manager/ podman kullanıcı oluşturma ve gruba alma/ nologin logger komutunu her dakika calistiracak crontab’e yazın setfacl/getacl gid/id change web sayfasını 82 portundan çalışmama sebebi configure web service ## Komutlar: ### Kernel ve Version bilgisi ```uname -r``` -->Kernel version görüntüler ```uname -a``` -->Linux version ve Kernel bilgisi görüntüler ```cat /etc/redhat-release``` -->Linux version bilgisi görüntüler ### User oluşturma: ``` useradd -d /home/U05544 -m -s /bin/bash -u 1003 -c "U05544" U05544 useradd -d /home/A05403 -m -s /bin/bash -u 1002 -c "A05403" A05403 useradd -d /home/U05395 -m -s /bin/bash -u 1001 -c "U05395" U05395 useradd -d /home/U05544 -m -s  /bin/bash -G wheel -c "U05544" U05544 useradd -d /home/U05544 -m -s  /bin/bash -G wheel -c "U05544" U05544 ``` ### Grafik interface olup olmadığına bakma: ```systemctl get-default``` ```runlevel``` ### User Admin Yapma ```usermod -a -G wheel u05395``` ### Redhat Subscription: ``` subscription-manager register --username eurobanktekfen --auto-attach subscription-manager attach --pool=POOLID subscription-manager repos ``` ### Satallite Un-Register: ``` subscription-manager clean rpm -qa | grep -i katello-ca rpm -e <Katelo-ca-Package-from-above-command-with-satellite-fqdn> ### Dosya sayısını görüntüleme: ls | wc -l ``` Telnet yerine nc: ```nc -v -n IP Port``` ### Ubuntu hostname resulation: ``` vi /etc/resolve.conf'a search ebt.bank ekle service systemd-resolved restart ``` ### Ubuntu network manager restart ```systemctl restart systemd-networkd``` ### .net Core kurulum: ```dnf install -y aspnetcore-runtime-3.1``` ### Açık (Listening) Portlar: ``` netstat -tanp | grep LISTEN netstat -tupln nmap -sT -O localhost netstat -anu -->UDP netstat -ant-->TCP netstat -antup -->TCP+UDP+Process ID ``` ### NTP Komutları ``` systemctl status chronyd chronyc sources chronyc clients config /etc/chronyd ``` ### linux sunucularda zaman sync için; ```timedatectl``` #NTP Servers for Sync: ``` server 0.tr.pool.ntp.org iburst server 1.tr.pool.ntp.org iburst server 2.tr.pool.ntp.org iburst server 3.tr.pool.ntp.org iburst ``` ### RPM Komutları: ``` rpm paketi sorgulama: rpm -qa | grep -i webmin ``` ### Subscription Manager Repo list: ```subscription-manager repos --list``` ### Yum repo listeleme: ``` yum repolist yum repolist -v yum list installed | grep nfs yum clean all ``` ### Python Kontrol ```yum list installed | grep platform-python``` ### Repo lokasyon: ```/etc/yum.repos.d/``` ### Repo temizleme: ``` yum clean all rm -rf /etc/yum.repos.d/* ``` ### Python libselinux kontrol: ``` rpm -q python3-libselinux rpm -qa | grep python3-libselinux ``` ### Python Version Configuration: ``` alternatives --config python Python 3.6 için: alternatives --set python /usr/bin/python3 Python 3.8 için: alternatives --set python /usr/bin/python3.8 Python 2 için: alternatives --set python /usr/bin/python2 ### Executable Search: which <komut adı> locate-->DB üzerinden verir ### SeLinux: getenforce --> Enforcing: Selinux Enable sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config cat /etc/selinux/config | grep SELINUX= | grep -v ^# ``` ### Root'u Ssh'a kapatma: ```sed -i '/^PermitRootLogin/s/yes/no/' /etc/ssh/sshd_config``` ### LdapSearch: ``` ldapsearch -H ldaps://xxx.bank:636 -x -D "CN=xxxxx,OU=,DC=xxxx,DC=xxx" -w xxxxxxx -b "xxxxx,DC=ebt,DC=xxxxx" -s sub -a always "(objectClass=User)" c ``` ### Linux Version information: ``` cat /etc/os-release hostnamectl lsb_release -a ``` ### Linux yorum olmayan satır görüntüleme: ```grep -v '^#' /etc/dnsmasq.conf``` ### Selinux disable: ```sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config``` ### grep ile filtreleme: ``` IP adresini grep ile alma: ifconfig ens192 | grep inet | grep -v inet6 | tr -s " " ":" | cut -f 3 -d ":" ``` ### grep ile bulunduğu klasörde arama yapma: grep "TASK" * -->bulunduğu klasördeki dosyalara bakar grep "TASK" * -R -->alt klasörlerde arama yapar grep -i "TASK" * -->non-keysensitive olarak arar grep -i "^TASK" * -->Bulunduğu klasördeki dosyalarda TASK ile başlayanlara bakar grep -i "TASK$" -->task ile bitenlere bakar ### ps komutları: ``` ps aux ps aux | less pstree pstree | less ps aux | sort -nk 4 -->number key 4. sütun memory'e göre dize ps aux | sort -nk 4 | tail -3 --> ``` ### Servis ağacı görüntüleme: ```pstree | less``` ### Service location: ```/usr/lib/systemd/system``` ### Tüm servisleri görüntüleme: ``` cat /etc/services | grep ntp systemctl list-unit-files | less systemctl list-unit-files --type service | --type service systemctl -a | grep service name ``` ### Journalctl: ``` journalctl -r -->Reverse son logları başa yazar journalctl --since yesterday journalctl -n 100 --> Son 100 kaydı gösterir journalctl -f --> Canlı görüntüler journalctl -b -->Boot session'u görüntüler journalctl -b -p err -->Boot sonrasında hataları görüntüler journalctl -b -n 5 -->Son 5 tane boot session kaydını görüntüler journalctl sonrasonda /error yazıp search edilebilir journalctl -xb -r -->Boot hatalarını sondan başa doğru gösterir ``` ### Errorlog: ```grep "error" /var/log/messages``` ### Sisteme login olan kullanıcılar: ``` lastlog | grep -v -i never lastlog -t 5 -->Son beş günde bağlanan kullanıcılar ``` ### dmesg (Kernel ve donanım logları) ``` dmesg dmesg --level=err dmesg | grep -i eth0 dmesg | grep -i disk --> Disk logları ``` ### PCI Ethernet kartı kontrolü (kernel discovered) lspci --> 0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) lsmod vmxnet3 ### Ethernet kartı driver version bilgisi modinfo vmxnet3 ### Default Gateway görüntüleme route -n ### lsof Açık (locked) dosyaları görüntüleme yum install lsof lsof lsof -u a04856 lsof -u a04856 | grep -v mem ### fuser ile açık PID görüntüleme yum install psmisc fuser -v -n tcp 22 ### Top komutları: top -->Running process d-->Delay girilebilir f-->Aktif sütunlar eklenebilir ### Crontab Konutları: crontab -e -->Editler crontab -l -->Listeler ### Last Activity: $? ### Ntp Commands: ntpq -pn ### SSH Key Konutları: ssh-keygen -t rsa ssh-copy-id username@hostname Client tarafında; ssh-add ### Interface Link Görüntüleme: ip link show ### tar komutları: tar -cvzf tar -xvzf ### Template için silinecekler: rm -rf /etc/ssh/ssh_host_* vi /etc/machine-id içi silinecek etc/resolv.conf search satırı silinir mmcli -p -c nmcli connection delete ens192 disklerin fstab'da uuid bilgisi silinir rm -Rf /var/log/*.log ### Vi komutları: shift + g -->Ekranın sonuna geçer o --> Bir sonraki satıra geçer dd --> Satırı keser yy --> Satırı kopyalar /Arama yapar ### nmcli interface komutları: interface bilgilerini alma: mmcli -p -c nmcli connection delete ens192 nmcli connection delete ID ### Run Level runlevel -->Runlevel görüntüler init --> Runlevel değiştirir systemctl get-default systemctl list-units -t target systemctl set-default multi-user.target Runlevel 0: Shutdown Runlevel 1: Single User Mode Runlevel 3: Multiple User Mode with Network Runlevel 5: Graphical Interface Runlevel 6: Reboot ## File System ### XFS Repair: xfs_repair -L /dev/sdb -->unmount gerekmez xfs_repair -n /dev/sdb xfs_repair -v /dev/sdb -->Verbose ### File System Check fsck /dev/sdb fsck -y /dev/sdb -->Hataları düzeltir ### Mount Error Boot error görüntüleme cat /var/log/messages | grep mount cat /var/log/messages | grep fail ### journalctl ile Error Boot görüntüleme 1.Step: journalctl -xb -r 2.Step: /fail ### Rescue Mode Step 1 DVD Boot Step 2 Trobleshooting Step 3 Rescue a Red Hat Enterprise Linux System Step 4 chroot /mnt/sysimage ### Fix Partition Rescue Mode fsck /dev/sda3 ### Fix Boot Partition Rescue Mode fsck /dev/sda1 fsck /dev/sda2 ### Fix Boot Partition Rescue Mode with xfs_repair umount /dev/sda1 xfs_repair /dev/sda1 ### File System Check 1. Step -->unmount 2. Step --> e2fsck -f /dev/sdb1 ### Disk Kernel Logs dmesg | grep -i eth0 dmesg | grep -i disk --> Disk logları ### lsblk Diskleri görüntüler ### Scsi rescan (Disk eklendikten sonra): scsi-rescan ### Klasör bazlı disk size görüntüleme: du -sh klasörname Dosya boyutu görüntüleme: du -sh * du -sh Klasör adı Disk Size görüntüleme: df -hT ### LVM Yeni Disk Ekleme: scsi-rescan lsblk pvcreate /dev/sdb vgcreate vgdata01 /dev/sdb lvcreate -l 100%FREE -n lvdata01 vgdata01 mkfs.xfs /dev/vgdata01/lvdata01 mkdir /data01 mount /dev/mapper/vgdata01-lvdata01 /data01 df -hT blkid vi /etc/fstab ### LVM Disk Büyütme: 1. Step: Diski listele: fdisk -l 2. Step: Diski oluştur: pvcreate /dev/sdd 3. pvdisplay 4. vg extend et--> vgextend vgdata01 /dev/sdd 5. lv extend et-->lvextend -l +100%FREE /dev/mapper/vgdata01-lvdata01 6. xfs_growfs /dev/mapper/vgdata01-lvdata01 ### ext4 oluşturma: mkfs -t ext4 /dev/vgdata01/lvdata01 ### xfs oluşturma: mkfs -t xfs /dev/vgdata01/lvdata01 ### nfs Mount: "mount -t nfs 10.180.141.10:/nfs /mnt" ### Shrink the file system 1. Step -->unmount 2. Step -->resize2fs /dev/sdb1 TargetsizeG ### Swap Space 4GB Ram'e kadar 2 GB SWAP yeterli 4 GB üstü 4 GB SWAP verilmeli Template'lerde 4GB SWAP verilmeli Swap görüntüleme-->lvs cat /proc/meminfo | grep -i swap ### lsblk AME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 80G 0 disk -->Disk Size ├─sda1 8:1 0 600M 0 part /boot/efi -->EFI Boot ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 58.4G 0 part -->root swap home ├─rhel_svtstdengagedb01-root 253:0 0 85.2G 0 lvm / ├─rhel_svtstdengagedb01-swap 253:1 0 6G 0 lvm [SWAP] └─rhel_svtstdengagedb01-home 253:2 0 67.2G 0 lvm /home sdb 8:16 0 50G 0 disk └─rhel_svtstdengagedb01-home 253:2 0 67.2G 0 lvm /home sdc 8:32 0 51G 0 disk -->New Disk LVM └─sdc1 8:33 0 51G 0 part └─rhel_svtstdengagedb01-root 253:0 0 85.2G 0 lvm / sr0 11:0 1 1024M 0 rom -->CD-Room ### Profile.d altını çalıştırma ```source /etc/profile```