GNU/Linux >> Belajar Linux >  >> Linux

Lab Linux:SysAdmin 101

Daftar Isi

Jadi, Anda ingin menjadi Administrator Sistem Linux?

Sesekali, saya diminta untuk memberikan sedikit pelatihan untuk admin sistem pemula atau orang-orang yang berkarier untuk menjadi insinyur Sysadmin atau DevOps Linux yang memenuhi syarat (atau setidaknya bagian Ops!). Dek slide ini bisa digunakan sendiri, tetapi dimaksudkan untuk diberikan dalam lingkungan tipe kelas. Ini mencakup sejumlah area utama yang merupakan perintah penting yang perlu diketahui dan cara untuk berkeliling sistem Linux. Setiap bagian ditindaklanjuti dengan sejumlah sesi praktik sehingga Anda dapat meminta kelas Anda mencobanya sendiri.

Kiat terbaik untuk tutor :Ini bekerja dengan baik untuk saya dengan kelas yang lebih kecil (2-3 orang). Saya ssh'd ke Ubuntu Server VM dan menjalankan tmux di atasnya. Saya kemudian meminta setiap siswa untuk ssh in (sebagai pengguna siswa yang sama) dan menjalankan 'tmux attach'. Dengan begitu mereka semua berbagi terminal yang sama, dan tutor juga dapat berinteraksi/melihat terminal mereka pada saat yang sama saat menjalankan slide dari laptop mereka sendiri. Saya menyajikan slide di proyektor atau TV.

Garis besar kursus meliputi:

  • Apa itu Linux, inc. sejarah yang sangat singkat.
  • Distribusi.
  • Cangkang (Bourne lagi).
  • Sistem file UNIX.
  • Perintah/alat berbasis file
  • Perintah bawaan Bash
  • Pengalihan dan Pipa
  • Pengelolaan akun pengguna
  • Izin
  • Alat disk
  • Proses
  • Jaringan
  • Penginstalan / Paket Perangkat Lunak
  • Pengelolaan Log / Log

CATATAN:Presentasi berikut dirancang untuk disajikan oleh presenter yang mahir.


Slideshow ini tidak dapat dimulai. Coba segarkan halaman atau lihat di browser lain.

Linux SysAdmin 101

Panduan Pemula untuk Mengelola Server Linux

Untuk siapa panduan ini?

  • Slide ini dimaksudkan untuk didampingi oleh presenter yang mahir.
  • Siapa saja yang tertarik untuk berkarir sebagai Linux atau Unix Professional
  • Meningkatkan keterampilan Linux Anda dari Desktop User menjadi Power User
  • Orang yang ingin bekerja lebih banyak di baris perintah
  • Pelajari perintah yang mungkin tidak Anda ketahui

Apa itu Linux?

Untuk ikhtisar singkat tentang Linux itu sendiri, dan sejarahnya, lihat:

https://www.linuxnewbieguide.org

Namun secara singkat, Linux adalah sistem operasi berbasis UNIX yang dibuat dari komponen inti berikut:

  • Kernel
  • The Shell (bash dalam kasus tutorial ini)
  • Perangkat dasar GNU
  • Dan semua aplikasi lainnya, Firefox, ViM, dll.

Distribusi

  • Ada beberapa varian Linux.
  • Sebagian besar perbedaannya terletak pada cara sistem mengemas perangkat lunak.
  • Konfigurasi antar distribusi dapat sedikit berbeda.
  • Distribusi yang paling terkenal adalah:
    • Debian &Ubuntu
    • Red Hat, CentOS, dan Fedora
  • Distribusi lain seperti Linux Mint, openSuSE, dan SD sering kali didasarkan pada platform di atas.

Cangkang (Bourne Again)

  • Mengambil perintah dari pengguna
  • Dapat digunakan sebagai bahasa skrip (seperti file batch)
  • Dapat menggunakan ekspresi reguler (mis. A* cocok dengan apa pun yang dimulai dengan A).
    • Ekspresi reguler dibahas dalam sesi lanjutan.

Sistem file

Berikut ini contohnya. Semuanya dimulai dari root ( / ):

/
|-- bin
|   |-- bash
|   |-- touch
|-- etc
|   |-- service.conf
|   `-- networking
|       |-- eth0.conf
|       `-- eth1.conf
|-- home
|-- var

Alat Berkas

  • cd (mengubah direktori, misal cd /home/ajross, cd ../.. )
  • pwd (cetak direktori kerja)
  • ls (daftar direktori, misalnya ls -l /home/ajross/Desktop)
  • sentuh (buat file kosong)
  • tar (kompres file atau direktori, misalnya tar cvfpz file.tar *.txt)
  • cat (tampilkan isi file)
  • kurang dan lebih (menampilkan file halaman demi halaman)
  • cp (salin, misal file cp /home/ajross )
  • mv (pindah atau ganti nama)
  • mkdir (membuat direktori)
  • rm (menghapus file atau file)
  • rmdir (hapus direktori kosong)

Praktis:
  1. Tampilkan file di direktori mana saja
  2. Buat file kosong bernama test.txt
  3. Tampilkan konten /etc/fstab dan jelaskan apa yang Anda lihat
  4. Ganti nama test.txt menjadi anothertest.txt
  5. Buat folder baru dengan nama folder saya
  6. Pindahkan anothertest.txt ke folder saya

Alat File (lanjutan)
  • ln – tautan simbolik (mis. ln -s /sourcefile /destination-alias-file)
  • yang mana (versi perintah mana yang akan dieksekusi), misalnya which -a vim
  • whereis (berdasarkan jalur, memberikan lokasi file – misalnya whereis vim).
  • apa, file (apa yang dilakukan perintah, file – apa yang dilakukan file)
  • temukan (mis. temukan . -user ajross –max-depth=2)
  • kepala, ekor (tampilkan bagian atas dan bawah file)
  • bergabung, pisah (mis. bergabung dengan a.txt b.txt)
  • sort (mis. du -h /home | sort -h)
  • du -h (tampilkan penggunaan ukuran disk, mis:du -h /home –max-depth=2)
  • df -h (tampilkan berapa banyak ruang kosong pada sistem file)
  • uniq (mis:uniq files.txt atau cat /var/log/error.log | uniq)
  • wc, nl (jumlah kata, mis:cat /var/log/error.log | wc -l , nl foo.txt)
  • grep (mencari konten di dalam file, mis:grep -i foo /var/log/error.log)
  • lsof (mencantumkan file yang terbuka di sistem, misalnya lsof -n).

Praktis:
  1. Temukan file bernama sysctl.conf dari folder /etc
  2. Menampilkan konten file halaman demi halaman
  3. Tampilkan berapa banyak ruang yang digunakan folder /var di drive
  4. Jelaskan apa itu tautan simbolis
  5. Telusuri isi /var/log/kern.log untuk kata usb

Bash bawaan

  • alias
  • set / env (echo $PATH)
  • keluar / keluar
  • gema
  • boot ulang / hentikan / matikan / matikan
  • riwayat (menunjukkan perintah terakhir yang dieksekusi)
  • jika, yang lain, sementara dll..
    • antara lain…

Praktis:
  1. Tuliskan kata “hello world” ke output standar.
  2. Tampilkan daftar perintah terakhir yang dieksekusi.

Pengalihan dan Pipa

  • Standar keluaran (stdout – 1):
    • echo hello> myfile.txt
    • bergema di sana>> myfile.txt
  • Standar Masukan (stdin):
    • cat file lain.txt
  • Standar Kesalahan (stderr – 2):
    • jika Anda melakukan ls /crapola, Anda mendapatkan kesalahan (direktori tidak ada)
      • ls /crapola 2> out.txt (mengalihkan kesalahan ke file bernama out.txt)
    • Jika Anda ingin standar keluar &kesalahan standar:stderr (2) output digabungkan dengan (dan &) stdout (1).
      • ls /crapola> out.txt 2>&1

Pengalihan dan Pipa (lanjutan)

  • Pipa
    • Menempatkan output dari satu perintah ke input yang lain. Sangat berguna.
      • ls -l /etc | kurang
    • Tee memungkinkan Anda untuk menempatkan output ke file dan layar
      • ls -l | tee out.txt

Praktis:
  1. Tampilkan jumlah kata di /var/log/kern.log dengan menggunakan pipa
  2. Masukkan output ls /var ke dalam file teks bernama ls.txt
  3. Tambahkan output ls /var/log ke dalam file yang sama (yaitu, jangan hapus item yang sudah ada di sana).

Manajemen Pengguna

  • Akun 'root' adalah pengguna super sistem.
  • Banyak file konfigurasi &sistem hanya dapat diedit/dilihat oleh root.
  • Izin adalah kunci untuk melindungi file
    • Mereka mendikte pengguna (dan grup pengguna) mana yang dapat mengerjakan file.
  • Pengguna lokal disimpan di /etc/passwd, dengan file sandi di /etc/shadow
  • Grup disimpan di /etc/groups
  • Disarankan Anda masuk ke server sebagai pengguna biasa, lalu eskalasikan ke root dengan sudo (atau su).
  • passwd (untuk mengganti kata sandi)
  • tambahkan pengguna
  • userdel

Praktis:
  1. Lihat kata sandi, bayangan, dan file grup
  2. Coba dan edit file bayangan sebagai pengguna biasa
  3. Cari tahu mengapa Anda tidak dapat mengeditnya.
  4. Ubah sandi Anda.
  5. Buat pengguna dan hapus pengguna.

Izin

  • Jelaskan izin:pengguna, grup, lainnya, atribut
  • chmod (mengubah hak akses file, misalnya chmod u+x file.sh)
  • chown (mengubah kepemilikan file, misal:chown user file.sh)
  • chgrp (mengubah kepemilikan grup file, mis:chgrp nama grup file.sh)
  • umask (izin default untuk folder)
  • setuid (root) – gunakan dengan hati-hati! chmod u+s atau g+s file
  • tidak berubah / lengket (chmod +i, chmod +t)

Praktis:
  1. Buat file bernama test.sh dengan sentuhan.
  2. Ubah izin menjadi pengguna=baca, tulis, jalankan, grup, dan lainnya, tanpa izin
  3. Ubah kepemilikan alih-alih diri Anda sendiri menjadi root. Coba dan akses file sekarang.
  4. Ubah kepemilikan kembali ke diri Anda sendiri dan edit file (nano test.sh)
    1. Tambahkan #!/bin/bash ke baris pertama
    2. dan gema hello world ke baris kedua
  5. Jalankan skrip – ./test.sh
  6. Hapus bit yang dapat dieksekusi dan coba jalankan skrip lagi.

Alat Disk

    • e2fsck (pemeriksaan sistem file)
    • fdisk / cfdisk / parted (pengeditan partisi)
    • mkfs (buat sistem file baru)
  • lvm, lvdisplay, lvextend.. dll
  • Daftar pemasangan sistem file:/etc/fstab

Praktis:
  1. Melihat tabel partisi saat ini.
  2. Melihat sistem file yang akan di-mount oleh Linux

Proses

  • Proses hanyalah aplikasi yang sedang berjalan. Linux (seperti MacOS dan Windows) adalah sistem operasi multi-utas
  • Pada satu sistem CPU, semua aplikasi umumnya 'tidur' selain dari satu aplikasi yang 'berjalan'.
  • Proses dapat di latar belakang atau di depan.
  • Anda dapat mengirim sinyal ke proses seperti SIGHUP, SIGKILL, dan sebagainya
  • Untuk melihat proses, gunakan perintah ps (misalnya:ps aux, ps auxfwww untuk pohon).
    • Anda dapat melihat pemilik, status, sumber daya, dan hal-hal lain menggunakan ps
    • Anda dapat melihat proses paling intensif CPU dengan menggunakan perintah 'top'. Iostat, vmstat tampilkan iops dan virt mem.
  • Anda dapat mematikan proses dengan kill, pkill (mis:kill -9 12345, pkill apache2)

Proses (lanjutan)

  • Kebaikan proses mengubah prioritas yang dimiliki proses secara keseluruhan pada sistem (mis., renice, nice)
  • Sistem file /proc menyimpan semua informasi tentang setiap proses dalam format mentah (mis. cat /proc/12345/status)
  • Gunakan Ctrl+Z untuk menghentikan proses, bg ke latar belakang, fg ke latar depan, “perintah &” latar belakang otomatis
  • jobs menunjukkan proses latar belakang Anda saat ini. fg %4 akan menjalankan perintah latar belakang ke-4.
  • Proses yang berjalan secara permanen disebut layanan atau daemon
  • Untuk memulai layanan, Anda dapat menggunakan perintah 'service' atau 'systemctl'. Sistem lama menggunakan /etc/init.d.

Praktis:
  • Memulai sebuah proses, misalnya cat (yang tidak akan melakukan apa-apa).
  • Latar belakang proses.
  • Temukan PID untuk proses tersebut. NB:Jadilah cerdas tentang hal itu dan filter output ps dengan hanya mencari cat!
  • Hentikan proses menggunakan PID yang Anda dapatkan.
  • Mulai ulang/hentikan/mulai layanan, misalnya rsyslogd.

Alat Jaringan &Jaringan

    • ifconfig / ip
      • /etc/sysconfig/network (redhat) , /etc/networking (debian)
    • rute / ip route
    • arp, ping, traceroute, netstat
  • dhclient, dhcpd, bind
      • /etc/resolv.conf
    • /etc/hosts
  • ssh, scp, sftp, rsync
  • nfs, samba (SMB/CIFS)
  • Apache, Python SimpleHTTPServer

Praktis:
  • Tampilkan alamat ip mesin
  • Jelaskan apa itu antarmuka lo
  • Katakan bagaimana Anda akan memulai ulang

Paket Perangkat Lunak, Instalasi

  • Menginstal perangkat lunak di Linux sebenarnya cukup mudah. Bahkan lebih mudah daripada di Windows.
  • Red Hat dan Debian sama-sama memelihara 'repositori' perangkat lunak besar.
  • Distribusi berbasis Debian menggunakan file deb (tetapi gunakan apt untuk menginstalnya)
  • Distribusi berbasis Red Hat menggunakan rpm (tetapi diinstal oleh yum atau dnf)
  • .tar/.tar.gz dapat berisi file apa pun, tetapi sering kali dapat berisi kode sumber, yang perlu dikompilasi.
    • ./konfigurasi; membuat; lakukan pemasangan

Praktis:
  • Instal paket cowsay dengan apt
  • Jalankan cowsay

Log

  • /var/log
  • Beberapa aplikasi jahat mencatat di mana mereka suka. Grr, misalnya:/opt/app/log
  • syslog/rsyslog
  • dmesg / kern.log
  • auth.log, lastlog, last, w

Praktis:
  • Grep auth.log untuk frasa, misalnya login
  • Cari tahu berapa banyak baris kalimat yang ada dalam file
  • Analisis file satu per satu untuk melihat masalah
  • Lakukan hal yang sama untuk pesan/syslog



Linux
  1. Izin Linux 101

  2. Apa itu pengguna Linux?

  3. Ubah Nama Pengguna di Linux

  1. Dasar-dasar sysadmin Linux:Manajemen akun pengguna dengan UID dan GID

  2. Dasar-dasar sysadmin Linux:Manajemen akun pengguna

  3. Layanan OS Linux 'winbind'

  1. Cara Mengubah Nama Pengguna di Linux

  2. Kelola Pengguna Linux &Grup Linux

  3. 5 alat sysadmin Linux favorit saya