Edmund Laugasson https://wiki.itcollege.ee/index.php/User:Edmund http://enos.itcollege.ee/~edmund/Linux-UNIX-algajatele/ Huvid: riistvara info Kogukond Avatud Lähtekoodiga ja Vaba Tarkvara Liit http://alvatal.ee/ Tartu Häkkerikoda https://hackest.org/ Pingviin - kogukonna foorum https://pingviin.org/ https://pingviin.org/kv Virtuaalsed õpiruumid https://i-tee.itcollege.ee/ kasutaja/salasõna: student eesti klaviatuurivaliku lisamine: rdesktop -u -p -k et -N -a16 i-tee.itcollege.ee:9010 Valmiskujul virtuaalmasinad VirtualBox'is kasutamiseks http://upload.itcollege.ee/edmund/ova/ubuntu/ Kuidas targalt küsida https://viki.pingviin.org/Kuidas_targalt_k%C3%BCsida otsimootor Let me google that for you http://lmgtfy.com/ http://lmgtfy.com/?q=how+to+install+linux Terminali kiireks avamiseks: CTRL+ALT+T pwd id sudo mehhanism sudo käsk superkasutajaks logimine: sudo -i kui ei ole sudo't kasutusel siis su - root see miinus võtab kaasa ka keskkonnamuutujad OpenDocument <-> OOXML (.docx jne) https://viki.pingviin.org/Distributsioon Linux on "LEGO" oma Linuxi tegemine: http://www.linuxfromscratch.org/ https://wiki.itcollege.ee/index.php/Ubuntu_Estonian_Remix POSIX standard OS'i loomiseks Ubuntu -> Canonical, Ltd. https://www.canonical.com/ https://en.wikipedia.org/wiki/Mark_Shuttleworth Linuxi versioon lsb_release -a Ettevaatusabinõu: enne sätetefaili (configuration file) muutmist teha sellest koopia: cp /asukoht/originaalfail /asukoht/koopiafail teinekord võib vajalik olla faili tõstmine teise asukohta, näiteks kui on /etc/.d/*.conf sinna ".d" kataloogi pannakse sysadminni poolt oma konfiguratsioon näiteks /etc/sudoers.d/ arvestab suvalise nime ja laiendiga faile UNIX'is, Linuxis peab sätetefaili lõpus olema vähemalt 1 tühi rida, mida nimetatakse ka EOF (End Of File). Ubuntu 16.04.2 LTS 16 - 2016 04 - aprill (4.kuu) 2 - 2.parandusversioon LTS - Long Term Support (5a toetust), iga 2a tagant tavaliselt aprillis ja oktoobris uus Ubuntu https://wiki.ubuntu.com/Releases Ubuntu põhineb Debian GNU/Linux'il Debian Stable on ~2..3 a maas hetketasemest https://linuxlifecycle.com/ - ettevõtetele mõeldud Linuxite eluiga (tootetugi) Erinevad töölauakeskkonnad: https://www.ubuntu.com/download/ubuntu-flavours teek (library) Unity (Ubuntu) tegemist on Compiz'i plugin'iga http://www.compiz.org/ TAB-lõpetus https://ss64.com/ bash - Linuxi käsurida cmd, PowerShell - Windowsi käsurida http://www.theverge.com/2016/9/15/12926288/microsoft-really-does-love-linux https://msdn.microsoft.com/en-us/commandline/wsl/install_guide plokkseade (block device) - füüsiline seade Linuxis (UNIX'is) on igasugune seade fail asuvad /dev kataloogis kettad algusega sd - SCSI disk a esimene b teine 1 esimene kettajagu (partition) /dev/sda1 Ubuntu Linuxis on NTFS'i kasutamiseks vaikimisi kaasas NTFS-3G tarkvara, mis on kasutatav ka teistes UNIX'ilaadsetes OS'ides. /dev kataloogi sisu kuvamine, filtreerides sõna usb sisaldavaid ridu: ls /dev/ | grep -i usb -i tõstutundetu (case non-sensitive) Reklaamieemaldaja http://adblock.ee/ Kasutaja ei loe lähtekoodi vaid raha (TCO). Graafiline ketaste vaatamine: programminimi: Disks käsurealt: gnome-disks terminali suurendamine CTRL + + ..vähendamine CTRL + - ... originaalsuurus CTRL + 0 Kiire taaskäivitus graafilises Linuxis CTRL+ALT+F1...F6 - lülitub käsureale CTRL+ALT+DEL - teeb taaskäivituse X - graafikaserver (kuvaserver) Linuxis https://www.x.org/ XDMCP protokoll võimaldab üle võrgu sisse logida Canonical arendab Mir'i http://unity.ubuntu.com/mir/index.html Samas on olemas Wayland https://wayland.freedesktop.org/ Kvantarvutite tootja https://www.dwavesys.com/ 24.01.2017: https://www.dwavesys.com/sites/default/files/D-Wave%202000Q%20Tech%20Collateral_0117F2.pdf UNIX'i ajalugu https://www.levenez.com/unix/ https://en.wikipedia.org/wiki/History_of_Unix GNU - GNU is not UNIX http://www.gnu.org/ http://www.fsf.org/ Linus Torvalds 1991 sündis GNU/Linux Tux - pingviini nimi, Linuxi maskott GPL-litsents https://et.wikipedia.org/wiki/GNU_GPL https://et.wikipedia.org/wiki/Kategooria:Tarkvara_litsentsid BSD-litsents lubab teha suletud koodiga, tasulisi edasiarendusi https://et.wikipedia.org/wiki/BSD-litsents http://www.comparebusinessproducts.com/fyi/50-places-linux-running-you-might-not-expect Film: 6.päev http://www.imdb.com/title/tt0216216/ vaba kettaruum: df -h man df kettakasutus: du -sh (fail) man du suunamine faili > tekitab või kirjutab üle >> lisab lõppu N: dmesg > ~/kaivitusteated.txt eelmise käsu väljundi suunamine järgmise käsu sisendisse: dmesg | less less pikkade failide vaatamiseks (q väljumiseks) cat lühikeste failide vaatamiseks N: cat /etc/network/interfaces kui vaja filtreerida siis: dmesg | grep -i usb ... näidatakse arvuti käivitumisteadete hulgast vaid usb'd sisaldavaid ridu OpenSSH - turvaline ühendus käsureal üle võrgu nano - käsurea tekstiredaktor CTRL+O (F3) salvestab CTRL+X (F2) väljub vt ka teisi tekstiredaktoreid https://en.wikipedia.org/wiki/List_of_text_editors vt Geany graafiline tekstiredaktor https://en.wikipedia.org/wiki/Geany GRUB - Grand Unified Boot Loader OS alglaadur üldiselt /etc kataloog on sätete jaoks netinstall - võrgust paigaldamiseks mõeldud Linuxi distrod võtab võrgust Eestis näiteks Telia peegelserver http://ftp.estpak.ee/ / on juurkataloog /root on juurkasutaja kodukataloog juurkasutajaks saab Ubuntus kui hetkel sisseloginud kasutaja on sudo grupis ja sisestada: sudo -i vt man sudo teiseks kasutajaks logimine: su - teinekasutaja https://www.howtogeek.com/111479/htg-explains-whats-the-difference-between-sudo-su/ https://www.maketecheasier.com/differences-between-su-sudo-su-sudo-s-sudo-i/ info tuuma kohta: man uname protsessor: lscpu arhitektuur: arch kaksikkäivitus Windows+Linux: 1. paigalda Windows 2. paigalda Linux erinevad OS'id http://theosfiles.com/ GRUB ... mitme OS'i puhul ootab vaikimisi 10s 1 OS puhul hoida all SHIFT-klahvi alglaadimise ajal, et saada ligi seadetele (või seadistada vastavalt GRUB'i, et näitaks valikuid) näiteks on olemas Recovery Mode, mis võimaldab käsureale kasutajaks root ilma salasõna sisestamata veel on olemas single user mode: single (alglaadimisparameeter) GRUB_TIMEOUT=-1 .. jääb igavesti valiku ootele Linuxi tuum - https://www.kernel.org/ EDID https://en.wikipedia.org/wiki/Extended_Display_Identification_Data käsitsi ekraanipildi kvaliteedi etteütlemine Modeline (sagedusriba) man gtf https://arachnoid.com/modelines/ LVM - Logical Volume Manager võimaldab dünaamiliselt muuta kettajao suurust üks kettajagu võib olla üle mitme füüsilise ketta Teamviewer Linuxis töötab üle ühilduvuskihi Wine https://www.winehq.org/ BSD - Berkeley Software Distribution https://et.wikipedia.org/wiki/BSD macOS analoog BSD maailmas: TrueOS https://et.wikipedia.org/wiki/TrueOS APT pahavara http://www.arvutikaitse.ee/apt-jouliselt-ebamaarane-kuber-oht/ IT ja sidetehnika sõnastik http://vallaste.ee/ Windows: NTFS Linux: EXT4 (zfs, xfs, btrfs) programmi otsiteekonna (path) vaatamine: which pwd info faili kohta: stat /bin/pwd # # # Võrgu seadistamine virtuaalmasinas võrguliidesed: Linuxis: ifconfig -a (ip a) Windowsis: ipconfig /all punktiga algavad failid ja kataloogid on peidetud ls ei näita peidetud faile ls -a näitab peidetud faile Lühikäsk ehk alias hetkel kehtivate lühikäskude vaatamine: alias IP-alias kirjutatakse faili /etc/hosts sudo nano /etc/hosts 172.16.10.1 server püsivad aliased kirjutatakse faili ~/.bash_aliases vt ~/.bashrc - see on bash'i sätetefail less ~/.bashrc desktop masinas: nano ~/.bash_aliases alias server='ssh student@server' alias server-ping='ping server' Sessiooniskript ~/.bash_aliases tuleb jõustamiseks ka käivitada (üks kahest - teine variant on terminal uuesti avada või uuesti sisse logida): source ~/.bash_aliases . ~/.bash_aliases kontrolliks kas aliased on jõustunud: alias Linuxi konfiguratsioonifailides peab alati olema vähemalt 1 tühi rida lõpus - seda nimetatakse EOF (End Of File). Serveris virtuaalkonsoolide vahel liikumine: ALT+F1...F6 ALT+nooleklahvid vasak/parem SSH esimesel sisselogimisel luuakse fail (vajadusel ka kataloog) ~/.ssh/known_hosts sisselogimiseks kasutati eespool loodud aliast: alias server='ssh student@server' ... mis küsib iga kord salasõna võtmefailiga sisselogimine -------------------------- esmalt loome tavakasutajana võtmepaari klient-masinas (desktop), mis hakkab serverisse sisse logima man ssh-keygen ssh-keygen -f ~/.ssh/keyfile -t ed25519 -a 1000 -C "FirstName SurName e-mail phone" -f määrab failiasukoha, -nime -t määrab krüptoalgoritmi tüübi -a määrab KDF'i väärtuse (KDF - Key Derivation Function, vt man ssh-keygen), vaikimisi on a=16m, võimalus panna suurem väärtus -C on kommentaar Kommentaar võtmepaari loomisel oluline hiljem kui serveri admin vaatab faili ~/.ssh/authorized_keys kuhu avalik võti kopeeritakse. RSA puhul soovitatakse vähemalt 4096-bit. --------------- käsureal faili kustutamine: rm lisainfo man rm netiotsing: don't drink and root -------------- Võtmefaili kopeerimine serverisse ssh-copy-id -i ~/.ssh/keyfile user@IP ... see läheb serveris faili ~/.ssh/authorized_keys käsitsi serveris avaliku võtme lisamine (kui ei saa kasutajana sisse logida vaid saadetakse avaliku võtme fail serveri adminnile): cat keyfile.pub >> ~/.ssh/authorized_keys SSH failide õiguste paikapanek (nii serveris kui tööjaamas): chmod 700 ~/.ssh/ chmod 600 ~/.ssh/* vt http://permissions-calculator.org/ kui on vaja kasutajana root võtmefailiga sisse logida serverisse siis tuleb peale avaliku võtme importimist serverisse kopeerida fail juba serveris /home/student/.ssh/authorized_keys kasutaja root kodukausta - /root/.ssh/authorized_keys sudo -i sudo mkdir /root/.ssh sudo cp /home/student/.ssh/authorized_keys /root/.ssh/authorized_keys ja muuta ära omanik ja grupp: chown root:root /root/.ssh/authorized_keys ... ning rakendada eespool kirjeldatud õiguste paikapanek seejärel saan sisse logida (olles ise student kasutajana): ssh -i ~/.ssh/keyfile root@IP juhul kui tehti aliaste fail /root/.bash_aliases ja desktop masinas siis: sudo -i mv /root/.bash_aliases /home/student/.bash_aliases chown student:student /home/student/.bash_aliases exit (CTRL+D) source ~/.bash_aliases graafilise failihalduri käivitamine root õigustes: sudo caja --no-desktop cp /asukoht/mida /asukoht/kuhu mv /asukoht/mida /asukoht/kuhu lõpptulemusena (kontroll): desktop: /home/student/.ssh/server (privaatne võti) /home/student/.ssh/server.pub (avalik võti) server: /home/student/.ssh/authorized_keys (avalikud võtmed) /root/.ssh/authorized_keys (avalikud võtmed) Serveris avaliku võtme tagasikopeerimine .pub faili: cat /home/student/.ssh/authorized_keys | grep Eesnimi > avalik.pub # # # 19.04.2017 sudoers mehanism https://help.ubuntu.com/community/Sudoers käivitada käsk üle SSH võtmefaili abil serveris salasõna sisestamata -------------------------------------------------------------------- ssh -i ~/.ssh/voti kasutaja@server 'käsk1 && käsk2 && jne' ühte käsku saab ka ilma ülakomadeta käivitada käsu väljund näidatakse kliendimasinas kus käsk käivitati selliselt saab lihtsaid käske käivitada, mis ei nõua interaktiivset käsurida kui kopeerida kasutaja student alla laaditud avalik võti ka superkasutajale siis saab ka halduskäske käivitada: sudo mkdir /root/.ssh && sudo cp /home/student/.ssh/authorized_keys /root/.ssh/ -t võti vajalik ssh puhul eemalasuvas serveris interaktiivset käsurida kasutatavate programmide käivitamiseks ssh -t -i ~/.ssh/voti root@server 'TERM=$TERM DEBIAN_FRONTEND=dialog apt update && apt full-upgrade && apt clean' #vaikimisi soovitav kasutada ssh -t -i ~/.ssh/voti root@server 'DEBIAN_FRONTEND=readline mc' või ka näiteks: ssh -t -i ~/.ssh/voti root@server 'DEBIAN_FRONTEND=editor EDITOR=nano mc' nii saab ka rakendusi käivitada: ssh -t -i ~/.ssh/voti root@server 'DEBIAN_FRONTEND=editor EDITOR=nano editor /etc/sysctl.conf' ssh -t -i ~/.ssh/voti student@server 'DEBIAN_FRONTEND=readline mc' lisalugemist: https://askubuntu.com/questions/506158/unable-to-initialize-frontend-dialog-when-using-ssh kui on vaja eemalasuvas seadmes käivitada graafiline rakendus üle SSH siis lisada -X: ssh -X kasutaja@IP vaikimisi SSH serveri seadistus lubab seda parameetriga X11Forwarding yes /etc/ssh/sshd_config mugav pseudograafiline failihaldur Midnight Commander: sudo apt update && sudo apt install mc -y && sudo apt clean käivitamiseks: Analoogne Norton Commander'ile, Far'ile (http://www.farmanager.com/) menüü avaneb F9 toimivad funktsiooniklahvid, mis toodud all servas CTRL+O paneelide ajutine väljalülitamine (toimib raadionupuna) CTRL+U vahetab paneelide asukohad jne esmane seadistus Midnight Commander'ile: Options->Configuration...->User internal edit Options->Layout...-> eemaldada "...visible" valikud Options->Confirmation->eemaldada Exit eest valik Options->Save setup (salvestame sätted) apt asemel võib kasutada ka apt-get lisainfo: man apt man apt-get lunavara tahab ka varukoopia krüptida... WIN: scheduled tasks LIN: CRON ajastatud toiming Linuxis tuleks tavakasutajale ära keelata turvakaalutlustel isikutuvastus 2-astmeline - 2 samanimelist (2x kasutaja/salasõna) 2-faktoriline - 2 erinimelist (kasutaja/salasõna + nutiseadme rakendus) ID-kaart 1024-bit -> 2048-bit NSA https://et.wikipedia.org/wiki/NSA Vambola Põder "Infokeerises" (1989) koolitused https://www.clarifiedsecurity.com/trainings/ avalik LDAP'i baas man ldapsearch ldapsearch -x -h ldap.sk.ee -b c=EE "(serialNumber=isikukood)" kasutajad süsteemis id - kes ma olen grupid plugdev - eemaldatavad andmekandjad lpadmin - printerite haldamine kestprogrammid on kirjas /etc/shells on olemas ka /bin/false kui on vaja teha kasutaja kes saab sisse logida mingi teenusega (nt vsftpd) siis: 1) lisa faili /etc/shells uuelt realt /bin/false (esmalt kontrolli kas see on konkreetses masinas olemas) 2) muuda ära konkreetse kasutaja kestprogramm ehk siis selline ründevektor ei tohiks kunagi õnnestuda: www.aadress.ee/../../../../../etc/shadow näiteks on: /var/www/customers/username/domain-name/index.* grupi liikmelisuse muutmine: /etc/group kasutajanimi kirjutada vastava grupi taha kasutajad eraldatakse komaga kuid tühikut ei ole film "Enemy of the State" (1998) toitehaldus käsurealt: sudo reboot | sudo halt --reboot | systemctl reboot sudo poweroff | sudo halt -p | systemctl poweroff http://enos.itcollege.ee/~edmund/Linux-UNIX-algajatele/linux-cheatsheets/systemd/systemd-cheatsheet.txt MS Windowsis: shutdown /? shutdown -r -t 00 (-r restart, -t time 00 sekundit) shutdown -s -t 00 (-s shut down) käivituskäsu asukoha vaatamine: which reboot mkdir -p /1/2/3/4 -p loob puuduvad kataloogid automaatselt faili, kataloogi loomiseks mille nimes on tühik vms erisümbol: mkdir ~/"proovi kataloog" need siin on samaväärsed: mkdir $HOME/test mkdir ~/test mkdir /home/student/test kataloogi loomine mkdir test kataloogi kustutamine rmdir test kontroll: ls -la | grep -i test ll = ls -la: -l detailne nimekiri -a kõik failid/kataloogid (ka peidetud ehk siis punktiga algavad) grep: -i tõstutundetu (case insensitive) symlink kasutaja kodukausta ln -s originaal linginimi kasutajale insener luuakse kodukausta link võrgukettale (seda käsku võib käivitada ka kasutajana insener) ln -s /var/data/arendajad /home/insener/võrguketas kasutajate loomise kontroll: getent passwd insener (id insener) getent passwd raamatupidaja getent passwd tootearendaja gruppide kontroll: getent group arendajad getent group raamatupidajad grupiliikmete vaatamine https://www.cyberciti.biz/faq/linux-list-all-members-of-a-group/ apt search members | grep members Failiõigused faili loomine (selle olemasolul kirjutatakse üle): >fail.txt echo tere > fail.txt "tere" suunatakse tekstifaili või kirjutatakse olemasolev fail üle echo tere >> fail.txt "tere" suunatakse tekstifaili või lisatakse olemasoleva faili lõppu on olemas ka programm, mis varundab /etc kataloogi näiteks GitHub'i (versioonihalduskeskkond) serverisse sisselogimisel salasõna etteandmine (ei ole soovitav salasõna terminali sisestada kuna käskudest on ka ajalugu): :@ nt ssh student:student@172.16.10.1 -p 2222 -p eraldi pordi etteandmine portide numbrid https://www.iana.org/assignments/port-numbers less /etc/services ...kasutatakse ka tulemüüris vastavate portide lubamisel/keelamisel nt: sudo ufw allow ssh https://help.ubuntu.com/community/UFW VPN nõuab protokoll 47 lubamist otsing: ufw VPN https://forum.antergos.com/topic/1891/pptp-vpn-ufw-how-to-get-it-to-work/2 /etc/ufw/before.rules # Allow GRE protocol for VPN -A ufw-before-input -p 47 -j ACCEPT -A ufw-before-output -p 47 -j ACCEPT * * * /etc/fstab failis on kirjas, millised kettad süsteemi käivitumisel külge haagitakse kataloogi puhul käivitusõigus tähendab õigust sinna siseneda kodukataloog ligipääsetav vaid omanikule: sudo chmod 700 /home/raamatupidaja õigusi võib ka koos anda: chmod ug+rx fail chmod u+rw,o+rx fail koos alamkataloogidega/failidega (rekursiivselt) chmod -R ug+rx fail -R rekursiivselt tekstifaili sisu käsu (skripti) abil muutmine: sed (man sed) otsing: sed change string sed -i -- 's/vana/uus/g' /asukoht/fail.txt https://unix.stackexchange.com/questions/112023/how-can-i-replace-a-string-in-a-files kleepbiti näide: /tmp kaust veebiserveris tavaliselt: kataloogid 755 failid 644 määrame kõikidele kasutajatele vaikimisi kataloogide/failide õigused selliselt, et ka grupp saab kirjutada failis /etc/login.defs on olemas rida, mida muudame vastavalt: UMASK 002 muutmine: sudo nano /etc/login.defs mcedit võib kasutada nano asemel kui Midnight Commander on paigaldatud nano: salvestamine CTRL+O, F3 väljumine CTRL+X, F2 arvutamine kataloogid: 777 – 002 = 775 failid: 666 – 002 = 664 kokkuvõttes: umask 002 -> 775/664 hetkel kehtivate vaikimisi õiguste vaatamine hetkel sisseloginud kasutajal: umask peale globaalsete õiguste muutmist logida kasutaja uuesti sisse jagatud kataloogidele grupile kirjutusõigused: sudo chmod 0070 /var/data/arendus /var/data/raamatupidamine kui need (arendus, raamatupidamine) kataloogid on seal (/var/data/) ainsad siis: sudo chmod 0070 /var/data/* * muudab ära kõik failid, kataloogid, mis asuvad /var/data/ sees kuid omakorda nende alamkatalooge, -faile ei muudeta õiguste testimine: 1) logime sisse kasutajaga insener 2) tekitame faili yhine.txt kausta võrguketas, mis on omakorda symlink /var/data/arendajad/ kataloogile touch võrguketas/yhine.txt ... ja saadame sinna faili teksti: echo "tere tootearendaja" >> võrguketas/yhine.txt 3) logime teises aknas kasutajana tootearendaja sisse kes on samas grupis kui insener - grupis arendajad 4) vaatame kas saame failile ligi ja näeme sisu: cat võrguketas/yhine.txt ... peaksime nägema teksti, mida insener kirjutas ... saame omakorda vastu tervitada: echo "tere insener" >> võrguketas/yhine.txt 5) seda saab omakorda insener vaadata: cat võrguketas/yhine.txt Siin on antud suhtelise asukohana võrguketta aadress. Võib veel ka kirjutada: ~/võrguketas/yhine.txt (kui kaust võrguketas asub otse kasutaja kodukataloogis) /home/kasutaja/võrguketas/yhine.txt - täispikk aadress failile samas võib ka siseneda kodukaustas asuvasse võrguketta kausta: cd ~/võrguketas ... siis ei pea enam pikki aadresse tippima * * * pahavara Mirai Linuxiga IoT seadmetele https://en.wikipedia.org/wiki/Mirai_(malware) vt ka https://en.wikipedia.org/wiki/Linux_malware Linuxi alglaadimisel kui on kasutusel alglaadur GRUB: - saab valida "recovery mode" ja kohe superkasutajaks käsureale ilma salasõnata - otsing internetist: ubuntu grub https://help.ubuntu.com/community/Grub2 GRUB'i seadistamine /etc/default/grub peale selle faili muutmist: sudo update-grub GRUB'i kaitsmine ---------------- 1. Keelame taastevalikud lubada rida: GRUB_DISABLE_RECOVERY="true" käivitada: sudo update-grub 2. Keelame käivitusparameetrite muutmise GRUB'i muutmise kaitsmine: https://help.ubuntu.com/community/Grub2/Passwords ... on võimalik vajutada GRUB'i menüüs e ja muuta parameetreid, mis asuvad /etc/default/grub failis jutumärkide vahel: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" kui sinna lisada "single" siis saame taas superkasutajaks: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash Single" (või ka single) https://www.cyberciti.biz/faq/grub-boot-into-single-user-mode/ https://askubuntu.com/questions/132965/how-do-i-boot-into-single-user-mode-from-grub kui alglaadimise ajal all hoida SHIFT siis saab GRUB'i menüü ka siis kui vaid Linux on paigaldatud * * * kasutajanime, kodukataloogi muutmine ------------------------------------ sudo passwd -l kasutaja #kasutaja lukku skill -KILL -u kasutaja #kasutaja jõuga välja logida sudo usermod -l uusnimi vananimi #kasutajanimi ära muuta sudo usermod -d /uus/asukoht/uusnimi -m uusnimi # kodukataloog ära muuta sudo passwd -u uusnimi #lukustame taas lahti -d uus asukoht -m võtab vana asukoha sisu kaasa ---- ootamine, aeg sekundites GRUB_TIMEOUT=10 jääb ootele kuniks valitakse: GRUB_TIMEOUT=-1 * * * kasutaja lukku (salasõna jääb endiseks): sudo passwd -l insener * * * Linuxi paigaldusmeedia seadistamine, automaatpaigaldus Debian/Ubuntu - preseed file https://wiki.debian.org/DebianInstaller/Preseed https://help.ubuntu.com/lts/installation-guide/example-preseed.txt RHEL, CentOS, Fedora - kickstart file http://pykickstart.readthedocs.io/en/latest/ automaatsete virtuaalmasinate ehitamine: https://www.packer.io/ MS Windowsi paigaldamine Linuxi abil nii, et küsimusi ei esita http://unattended.sourceforge.net/ mälukasutuse vaatamine: free -h kettakasutuse vaatamine: df -h kuupäeva, kellaaja vaatamine: date üldiselt serveri ja kliendi aja erinevus üle 5 min ei tohiks olla * * * SSH serveri seaded: /etc/ssh/sshd_config otsingud: SSH PAM 2 step ssh pam smart card authentication https://lauri.xn--vsandi-pxa.com/cfgmgmt/openssh-login-with-estonian-id-card.html http://vaikehakker.blogspot.com.ee/2014/01/id-kaardiga-ule-ssh-sisselogimine.html http://kuutorvaja.eenet.ee/wiki/Eesti_ID-kaardi_kasutamine_Debianiga --- vahepala: Stephen Hawking "Universum pähklikoores" http://www.apollo.ee/universum-pahklikoores.html --- 21.04.2017 tarkvara haldamine https://www.dll-files.com/ käsurealt GUI käivitamine startx wavemon - WiFi ühenduste monitooring käsureal tarkvara keskhaldusprogramme: puppet, salt, ansible jne Pakettide otsimine internetis: http://packages.ubuntu.com/ http://packages.debian.org/ -> https://www.debian.org/distrib/packages https://linuxjourney.com/ -> vt lehe lõpus GitHub'i varamu kus on eestikeelne versioon https://github.com/cindyq/linuxjourney/tree/master/lessons/locales/et_estonian SSH otsingud: apt-cache search ssh | grep server apt-cache search ssh | grep blacklist paigaldamine. sudo apt-get update # alati enne tarkvara paigaldamist uuendame andmebaasi sudo apt-get install ssh openssh-blacklist* # tarkvara paigaldamine sudo ldconfig && sudo dpkg-configure -a && sudo apt-get clean # süsteemi korrastamine automaatne paigaldamine: sudo apt-get update && sudo apt-get -y install ssh openssh-blacklist* && sudo ldconfig && sudo dpkg --configure -a && sudo apt-get clean sudo apt-get clean ... tühjendab /var/cache/apt/archives/ ja /var/cache/apt/archives/partial/ kaustad juhul kui seal on .deb pakette graafiline pakettide haldamine: Synaptic (neid on erinevaid - http://alternativeto.net/software/synaptic/) kogu süsteemi uuendamine: sudo apt update && sudo apt full-upgrade && sudo ldconfig && sudo dpkg --configure -a && sudo apt-get clean hiljem seadistamine: sudo dpkg-reconfigure grub-pc --- vahepala otsingud: treadmill desk deskbike google zürich office don't drink and root --- juhtprogramm (driver) on tuuma (kernel) moodul laaditud moodulite vaatamine: lsmod (vt man lsmod) moodulite haldamine: modprobe (vt man modprobe) https://www.google.ee/search?q=intel+aesni Linuxi tuuma otsingud: apt search linux-image | grep lts apt search linux-header | grep lts Ubuntu 16.04 LTS tuuma metapakettide paigaldamine: sudo apt update && sudo apt install linux-image-generic-lts-xenial linux-headers-generic-lts-xenial && sudo apt clean && sudo update-grub Uusimad Ubuntu jaoks pakendatud tuumad ja päised leiab aadressilt http://kernel.ubuntu.com/~kernel-ppa/mainline/ graafilistele süsteemidele: UKUU http://www.omgubuntu.co.uk/2017/02/ukuu-easy-way-to-install-mainline-kernel-ubuntu tuvastame süsteemiinfo, -arhitektuuri: lsb_release -a arch uname -m skript uusima tuuma paigaldamiseks: nano tuum.sh #!/bin/sh mkdir ~/kernel && cd ~/kernel wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.11/linux-headers-4.10.11-041011_4.10.11-041011.201704180310_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.11/linux-headers-4.10.11-041011-generic_4.10.11-041011.201704180310_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.11/linux-image-4.10.11-041011-generic_4.10.11-041011.201704180310_amd64.deb sudo dpkg -i *.deb && sudo update-grub && rm -fr ~/kernel && sudo reboot VÕI pisut arusaadavamalt: ####SKRIPTI algus#### # #!/bin/sh # # # Kustutame varasema kataloogi kui see on olemas ja suuname veateated "musta auku" rm -fr ~/kernel 2>/dev/null # # # Loome kataloogi allalaaditavate failide jaoks mkdir ~/kernel # # Siseneme sinna kataloogi cd ~/kernel # # Laadime tuuma failid alla wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.11/linux-headers-4.10.11-041011_4.10.11-041011.201704180310_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.11/linux-headers-4.10.11-041011-generic_4.10.11-041011.201704180310_amd64.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.11/linux-image-4.10.11-041011-generic_4.10.11-041011.201704180310_amd64.deb # # Paigaldame allalaaditud pakid: sudo dpkg -i *.deb # # Uuendame alglaadurit sudo update-grub # # Kustutame loodud kausta rm -fr ~/kernel # # Taaskäivitame süsteemi sudo reboot ####SKRIPTI LÕPP#### sh tuum.sh bash tuum.sh või: chmod +x tuum.sh ./tuum.sh väljundite suunamised https://github.com/edmundlaugasson/linuxjourney/blob/master/lessons/locales/et_estonian/text-fu/stdout-standard-out-redirect.md https://github.com/edmundlaugasson/linuxjourney/blob/master/lessons/locales/et_estonian/text-fu/stdin-standard-in-redirect.md https://github.com/edmundlaugasson/linuxjourney/blob/master/lessons/locales/et_estonian/text-fu/stderr-standard-error-redirect.md 0 stdin 1 stdout 2 stderr --- vahepala turvatestimiseks: https://hakshop.com/products/bash-bunny otsing: fast and easy hacking ---- otsing: what's new in kernel 4.10 https://kernelnewbies.org/Linux_4.10 http://www.phoronix.com/ riistvara testimine https://www.phoronix-test-suite.com/ Käsitsi vanade tuumade eemaldamine. ----------------------------------- Eelnevalt veenduda, et töötatakse uusima tuuma pealt uname -r ls /boot Vajadusel (kui masin ei tööta veel uusima tuuma pealt) käivitame uusima tuuma pealt: sudo update-grub && sudo reboot sudo purge-old-kernels --keep 1 sudo apt purge --auto-remove #eemaldab mittevajalikud paketid sudo apt-get autoremove kui veel midagi jäi siis need eemaldada käsitsi, otsime: apt list --installed | grep linux-image apt list --installed | grep linux-header dpkg -l | grep linux-image dpkg -l | grep linux-header Keskkonnamuutujad ----------------- env echo $HOME echo $USER kasutaja otsiteekonna (path) täiendamine ~/.profile export PATH=$PATH:/uus/asukoht1:/uus/asukoht2 ... source ~/.profile #rakendame muudatused htop sudo apt update && sudo apt install htop -h && sudo apt clean Protsessid ---------- kill suretab PID järgi vaikimisi signaaliga 15 killall suretab protsessi nime järgi pidof ütleb nime järgi PID'i viisakas sulgemine: SIGTERM (15) jõuga sulgemine: SIGKILL (9) saadaolevate signaalide vaatamine kill -l kombineerimine: kill `pidof firefox` pgrep nano #programmiga seotud PID vaatamine naljaprogramme: apt update && apt install sl cowsay lolcat figlet fortune && apt clean lolcat värvib teksti figlet teeb banneri fortune ütleb mõttetera cowsay - lehm "kõneleb" (ka lammas, pingviin, gnuu) fortune | figlet | lolcat fortune | cowsay | lolcat cowsay -f tux (sheep, gnu) küsida programmi asukohta which cowsay kasutaja otsiteekonna (path) täiendamine ~/.profile export PATH=$PATH:/usr/games:/usr/local/games ... source ~/.profile starwars käsureal (IPv6 puhul ka värviline) telnet towel.blinkenlights.nl http://lifehacker.com/373571/watch-star-wars-in-text-via-telnet ilm käsureal curl wttr.in/tallinn curl wttr.in/tll #tallinna lennujaam muusika käsureal https://opensource.com/life/16/8/3-command-line-music-players-linux üks parimaid: mplayer http://icecast.err.ee/ http://striiming.trio.ee/ mplayer -playlist http://icecast.err.ee/klassikaraadio.mp3.m3u binaareesliited vs detsimaaleesliited binary prefix vs decimal prefix graafilises keskkonnas: Disks (käsurealt gnome-disks) vaata ka failisüsteeme: lsblk -f blkid -o kettajagude tabel MBR GPT erinevad failisüsteemid, võrdlus https://en.wikipedia.org/wiki/Comparison_of_file_systems uue põlvkonna FS: zfs, btrfs https://en.wikipedia.org/wiki/Btrfs https://github.com/laurivosandi/butterknife kettajagude haldamiseks: fdisk, cfdisk, parted (eriti julgetele kuna salvestab kohe tehtud tegevused) vaatame, mis kettad süsteemis: lsblk SSD ketaste jaoks on fstrim programm, mida jooksutatakse automaatselt: kaustas /etc/cron.weekly/ asub skript fstrim kui on tegemist intensiivse SSD ketta kasutamisega siis tõsta see skript kausta kas /etc/cron.daily või suisa /etc/cron.hourly kausta Rohkem tänapäeval ei ole üldiselt vaja teha SSD ketaste puhul Linuxis. https://en.wikipedia.org/wiki/Trim_(computing) https://arstechnica.com/gadgets/2016/08/seagate-unveils-60tb-ssd-the-worlds-largest-hard-drive/ # # # Virtualiseerimistarkvara Virtualbox https://www.virtualbox.org/ laadida alla programm ja laienduste pakett: http://download.virtualbox.org/virtualbox/5.1.20/Oracle_VM_VirtualBox_Extension_Pack-5.1.20-114628.vbox-extpack Ubuntu versioonid: https://wiki.ubuntu.com/Releases tasub võtta uusim LTS-versioon Ubuntu Serveri allalaadimine https://www.ubuntu.com/download/server Töölaud: https://www.ubuntu.com/download/desktop https://www.ubuntu.com/download/ubuntu-flavours - erinevad töölauakeskkonnad kergekaalulisemad: LXDE, MATE, XFCE (LXDE kõige kergekaalulisem) vt http://enos.itcollege.ee/~edmund/Linux-UNIX-algajatele/desktop-environments-memory-consumption/ Erinevate Linuxite ülevaated - http://distrowatch.com/ otsing - http://distrowatch.com/search.php Ubuntule paigaldus: 1.impordime võtmed: wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - 2. lisame varamu Ubuntu 16.04 puhul: echo "deb http://download.virtualbox.org/virtualbox/debian xenial contrib" > /etc/apt/sources.list.d/virtualbox.list 3. uuendame varamud: sudo apt update 4.paigaldame Virtualbox'i: sudo apt-get install virtualbox-5.1 -y 5. tühjendame APT'i puhvri: sudo apt clean * * * PBX https://getvoip.com/blog/2016/09/23/best-open-source-pbx-software/