Linux – Ubuntu – wensenlijst – gereedschapkist Bios-uefi instll linux-server-desktop-lvm ssh veiligheid install progs derden update-upgrade-distro sys : info-computer-Linux versie-kernel versie- server hardware info harddisken info config files instellingen printen drivers netwerk info bestanden beheren, nano en cat gebruikers-eigendom-rechten zippen/unzippen compileren-scripten en aliassen logs en inbraakpogingen zien
systeembeheer : (van uitgeprint bestand LINUX en gereedschapkist systeembeheer) processen lsof lspci lsusb su {–] en sudo ps, top, kill, killal opstarten grub, loadlin init run-levels howto cat /etc/inittab oid /etc/rc/rc0-6
list open files -i, -n, -P list pci bussen list usb apparaten
( single user, multi user, x11 (multiuser + X srver) halt, reboot (niet gevonden) start scripts zoals BCD style, system V scripts
configuratie files: ifconfig route -n beter netstat -rn logfiles : kernel : waar zit ie bestaat uit modules : hardware, geheugen etc make config make menuconfig make xconfig compilatie sofware installeren ; UBUNTU – DEB gebruikers : partities, filesystemen :
netwerk : ping, traceroute, mtr =ping en traceroute in een nmap netwerk mapper portscanner : opties -sP, -sL, -sT, -sU, -o wireshark arp, dig, ifconfig, netstat, route, service ssh, telnet, whois
bron : Linux CLI Overzicht Piethein Strengholt ----------------Een beter overzicht vindt je hier: http://www.oreillynet.com/linux/cmd/ Bestandsbeheer: cp mv old new ls -la mkdir rm -R dirnaam/ rm -rf rm file
( copy paste ) datum ! hernoem, verplaats (list dir) (hele directory weghalen ) dir dir weghalen ( zonder te vragen voor iedere file ) (file weghalen)
find . -name bestand whereis ** zoeken bronbestand locate (zoeken in de index ) updatedb (of 'createdb' = index van alle bestanden aanmaken ) nano filename echo > test.php echo commando >> test cat file >> file2
(teksteditor ) (test.php leegmaken) (tekst commando toevoegen aan test) (tekst inhoud file in file2 zetten)
CLI – Terminal – CommandoBeheer: commando1 ; commando2 ; commando3 ( meerdere commando's tegelijkertijd uitvoeren ) commando && commando grep ( bepaalde informatie ergens uitzoeken ) grep "modprobe scsi" ./* -r ( informatie zoeken uit de files * en in subdirs) ! Hangt ? history | grep configure ( alle history oproepen met de commandline configure ) cat /root/php-4.1.1/INSTALL | grep -A25 "QUICK INSTALL (Hoofdstuk opvragen, Static)" strace /usr/local/apache/bin/httpd diff filename1 filename2 ( files vergelijken op inhoud ) cat /proc/mdstat ( processen bekijken -> /proc ) Bestandsrechten, chmod: ls -al ( zie je de rechten van de bestanden ) bestandstype (- = gewoon bestand, d = directory, l = link, enz.); rwx : permissies voor de eigenaar vh bestand (read/lezen, write/schrijven, execute/uitvoeren); r-x : de permissies voor de groep van de eigenaar van het bestand (read, execute); je kunt zolang je beginner bent zonder ;-0 r-x zijn de permissies voor alle andere gebruikers (read, execute). De directory /bin heeft ook permissies: zie sectie Directory Permissies voor verdere details. Daarom kun je het bestand /bin/ls niet verwijderen tenzij je root bent: je hebt geen permissie om dat te doen. Het commando voor het wijzigen van de bestandspermissies is: $ chmod <wieXperm>
'wie' is u (user, dat is de eigenaar), g (group), o (other=anderen), X is of + of -, perm is r (read), w (write), of x (execute). Algemene voorbeelden van chmod zijn: $ chmod +x bestand hiermee wordt de execute permissie voor het bestand ingesteld. $ chmod go-rw bestand read en write permissies voor iedereen behalve de eigenaar i $ chmod ugo+rwx bestand dit geeft iedereen read, write en execute permissie. # chmod +s bestand hiermee wordt een zogenoemd ``setuid'' of ``suid'' bestand aangemaakt--- een bestand dat iedereen uit mag voeren met de privileges van de eigenaar. Je zal ongetwijfeld root suid bestanden tegenkomen; dit zijn vaak belangrijke systeem bestanden, zoals de X-server. Beknopter met cijfers: rwxr-xr-x 755 (iedere letter correspondeert met een bit: --- is 0, --x is 1, -wis 2, -wx is 3...). Het ziet er moeilijk uit, maar met wat oefening zal je het concept begrijpen. root, als superuser, kan de bestandspermissies van iedereen wijzigen. LMP.
modules laden in : insmod (module in de kernel stoppen) modprobe (module laden ) modprobe -c (overzicht alle modules ) lsmod (zien welke modules er zijn geladen ) rmmod (module unloaden ) /lib/modules/2.x.x/*. (path modules ) Netwerkbeheer: ifconfig eth0 hw ether 00:10:A7:18:A6:D1 (mac adres aan kaart knopen) ifconfig eth0 129.125.103.216 netmask 255.255.0.0 (vast ip onder mask 255.255.0.0 route add default gw 129.125.103.251 metric 1 (gateway toevoegen) netstat ( -a ) ifconfig -a tcpdump icmp route ( lijst te zien welke Ip wat doen en forwarden ) route delete IP ( een routing weghalen ) ifconfig ( lijst met ip gegevens ) dhcpcd -n eth0 ( ifconfig /renew op eth0 ) ifconfig eth0 up / down ( je eth0 interface neerleggen of weer activeren ) netwerk scannen ? netstat nmap arp Procesbeheer en Servicesbeheer: ps -a ( list alle processen ) kill -09 # process nummer killall atd killall sendmail killall httpd chkconfig --del httpd ( bv httpd met uit te zetten ) ntsysv dig -h | less ( dns testen -> dig @e.root-servers.net . ns >root.hints ) nslookup ( dns testen ) hostname ( hostname -s -> je hostname mee te bekijken en te veranderen ) lsof | grep LI ( geeft alle porten weer ) computer Restarten en Afsluiten: sudo shutdown -h now ( shutdown ) sudo halt sudo shutdown -r now ( restart ) sudo reboot ( restart ) SchijfBeheer: df -h ( diskspace ) hdparm -t /dev/hda ( test snelheid hd ) quota -a ( space op shell ) mount mount /dev/sda1 mapnaam koppelpunt umount /dev/hda: /sda 1e drive (master) op de 1e (primary) ide-controller /dev/hdb: /sdb 2e drive (slave) op de 1e (primary) ide-controller /dev/hdc: /SDC 1e drive (master) op de 2e (secondary) ide-controller /dev/hdd: /sdd 2e drive (slave) op de 2e (secondary) ide-controller fsck /hda2 ( bv hda2 scandisken ) sudo fdisk -l ( partities indelen ) mke2fs ( partities formateren ) hdparm -c1d1X69 /dev/hda (udma activeren op hda)
In- en Uitpakken: rpm --rebuilddb rpm -ivh rpm rpm -Uvh rpm
( rpm database vernieuwen ) (install) (upgrade)
gunzip *.tar.gz ( uitpakken ) tar -xvf .tar ( uitpakken ) tar -zxvfz gunzip *.tar.gz ( meteen een gzip uitpakken ) tar -cf Create File tar tf <archive_name.tar> | less ( tonen van de inhoud ) gzip 'file'
( bestandje inpakken )
tar --create --verbose --file=halflife_test.tar hlds_l tar cfz halflife_homedir.tar.gz hlds_l tar tf halflife_test2.tar.gz | les tar zxvf halflife_test2.tar.gz –directory=/root/test/ /root/test/ unzip hlg-1_41-en.zip -x
#tar inpakken #gzip inpakken: #inhoud bekijken: #halflife_test2.tar.gz uitpakken naar #Zip file uitpakken
Gebruikersbeheer: useradd -c "Piethein Strengholt" erhnam userdel erhnam passwd erhnam whoami ( welke user ben ik ) 'su' + password rechten root verkrijgen sudo + password tijdelijk root rechten verkrijgen 'quota' en 'edquota' ( diskpercentages instellen voor users.. ook /etc/fstab aanpassen! ) Files Linken ( Symbolische Links, Snelkoppeling ala Windows maken ) ln -s locatie1 locatie2 (om iets te linken..) bv je wilt overal irc kunnen starten: ln -s linux-2.4.20 linux ln -s /usr/local/bin/irc /sbin/irc ln -s /usr/local/bin/irc /bin/irc $ ln -s $ ln -s /usr/doc/g77/DOC g77manual.txt
Om een symbolische link aan te maken:
Info over Server opvragen: top ( geheugenbeheer ) uptime ( dagen dat server draait ) uname -a ( wat draait er op het systeem ) hostname ( wat is de hostname van de server ) locate -u echo $PATH ( zien welke path er in mem staat ) free ( zien hoeveelheid geheugen ) Screen: screen -d -m -S server1 ./hlds_run (screen starten onder naam server1) screen -X -S server1 quit (quit naar server1 sturen) screen start -> control -A , D (detachen) Makkelijk Files Ftp-en: ftp 'prompt' ( dan vraagt ie niet iedere keer om 'y' ) dan 'mget * wget Manual man telnetd man wu_ftp
( meer info )
Chown: verandert de user en/of groups eigendom – van elk opgegeven bestand tot het eerse non-option argument, dat als volgt wordt geinterpreteerd: als alleen een user name (or numeric user ID) is given, die user is wordt de owner of each given file, and the files' group is not changed. chwon [opties] gebruiker:groep file-of-dir chown-R is recursive ( pakt ie alle sub dirs ) chown -R erhnam:erhnam ./psybnc Handige Proggies bandmon nmap -O statistics.dedigate.com ettercap
moet geinstalleerd bandbreedte monitor moet geinstalleerd
Sendmail: killall -9 sendmail sendmail -bd -q 30 Lilo intussen grub2 lilo.conf image=/boot/vmlinuz-2.2.14-5.0 label=linux read-only root=/dev/hda2 lilo om het weer opnieuw te laden Iets compilen: ./configure make make install make uninstall Config Files: /etc/resolv.conf ( nameservers opgeslagen ) /etc/named.conf ( config file van dns - bind ) /etc/nsswitch.conf (lang bestand waarin beschreven wordt waar data vandaan gehaald moet worden ) /etc/fstab ( indeling van partities en hd's ) /etc/issue ( instellen bericht voor inloggen ) /etc/motd ( instellen bericht na inloggen ) /etc/profile ( instellen $PATH en andere variabelen,enz ) /etc/bashrc ( instellen aliassen en functies, enz ) /home/je_home/.bashrc ( instellen van je aliassen + functies ) /home/je_home/.bash_profile of /home/je_home/.profile ( instellen omgeving + starten van programma's ) /etc/inetd.conf ( kan je telnet, ssh en ftp op andere porten laten draaien ) /etc/lilo.conf ( Instellingen Lilo ( bootmenu ) /var/www ( www-dir van Apache ) /etc/cron.daily/slocate.cron /usr/src/linux ( kernel-2.2.20-i686.config -> config kernel file ) /etc/ssh/sshd_config ( port veranderen ssh ! ) /var/log/messages ( log van boot etc ) /usr/src/linux/ ( map met config files voor compilen nieuwe kernel ) /etc/motd -> welcome message SSH ( bij telnet naar server/bak ) .ProgNaamRc ( Instellingen bepaalde proggies ) .inputrc: gebruikt door bash voor het definiëren van key bindings; .xinitrc: gebruikt door startx voor het initialiseren van het X Window System; .fvwmrc: in gebruik door de window manager fvwm. .joerc, .jstarrc: in gebruik door de editor joe; .jedrc: in gebruik door de editor jed; .pinerc: in gebruik door de mailreader pine; .Xdefault: in gebruik door diverse X-programma's.
"Batch"-bestand onder Linux aanmaken: Open de Asci editor bv "nano start" Tik je tekst – Sla het bestand op met Control-X Geef het execute-rechten met "chmod +x <scriptfile>" Start het bestand met ./start ( bijvoorbeeld ) Tips! Als je scherm is volgelopen of je hangt.. Tik blindeling 'reset' in en je hebt je console terug sudo dmesg krijg je belangrijke meldingen van de kernel te zien 'at' is een commando om bepaalde programma's op bepaalde tijden te laten uitvoeren export PATH="/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/bin:/bin:/usr/local/bin:/root/bin:/sbin" X: xf86config , xf86setup , Xconfigurator ( om je resolutie van X te veranderen )