Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avMagnus Hedlund
1
David Byers davby@ida.liu.se IDA/ADIT/IISLAB ©2003–2004 David Byers Unix och Linux HISTORIA – FILER OCH FILSYSTEM – PROCESSER – ANVÄNDARE GRUPPER – RÄTTIGHETER – KOMMANDON – LOGGNING
2
©2003–2004 David Byers Historia Ken Thompson Thompson, Ritchie, PDP 11 Dennis Ritchie UNICS skapades 1969-1970 av främst Kenneth Thompson och Dennis Ritchie på Bell Labs Först implementerat på PDP 7, sedan PDP 11/45
3
©2003–2004 David Byers Två traditioner Två traditioner BSD med SunOS 4.x, Linux System V (SVR3, SVR4) med SunOS 5, HP-UX Skillnader i kommandon, filsystem, filosofi och tekniska val BSD av tradition öppet, System V slutet Många system i dag är en blandning Solaris 9 med BSD-kompatibilitet RedHat Linux med System V init men liknar BSD internt
4
©2003–2004 David Byers Standardisering Single Unix Specification (SUS) Efterträdare till bl.a. Unix98 Publicerad av Open Group 2004 Även IEEE och ISO/IEC-standard POSIX (Portable Operating System Interface) Underlätta portering av tillämpningar mellan operativsystem Består av flera delstandarder, inspirerade av Unix Implementeras till viss del av de flesta operativsystem
5
©2003–2004 David Byers Linux Öppen, portabel operativsystemskärna Linux innehåller inga användarprogram Influenser från BSD, System V och andra system Operativsystemsomgivningen Består av Gnu-projektets verktyg (därav Gnu/Linux) Bestäms av den distribution av Linux man använder
6
©2003–2004 David Byers Filer och filsystem
7
©2003–2004 David Byers Vad är en fil? Vanligaste sorten Vanlig datafil Kan även vara Symbolisk länk Device-nod Unix domain socket Named pipe Block device ...
8
©2003–2004 David Byers Specialfiler Special files är gränssnittet för drivrutiner Två typer: character och block Hårddiskar, terminaler, slumptalsgenerator mm Lagras i /dev % cd /dev; ls -l audio fd0 ttyp1 sda sda1 crw-rw---- 1 root audio 14, 4 Jun 16 2001 audio brw-rw---- 1 root floppy 2, 0 Jul 30 2001 fd0 crw-rw---- 1 root tty 3, 1 Jun 16 2001 ttyp1 brw-rw---- 1 root disk 8, 0 Jun 16 2001 /dev/sda brw-rw---- 1 root disk 8, 1 Jun 16 2001 /dev/sda1 % cd /dev; ls -l audio fd0 ttyp1 sda sda1 crw-rw---- 1 root audio 14, 4 Jun 16 2001 audio brw-rw---- 1 root floppy 2, 0 Jul 30 2001 fd0 crw-rw---- 1 root tty 3, 1 Jun 16 2001 ttyp1 brw-rw---- 1 root disk 8, 0 Jun 16 2001 /dev/sda brw-rw---- 1 root disk 8, 1 Jun 16 2001 /dev/sda1
9
©2003–2004 David Byers Vanliga Specialfiler Blockenheter /dev/hda – IDE-disk /dev/hda1 – Partition 1 på hda /dev/sda – SCSI-disk /dev/ubd0 – UML-disk Teckenenheter /dev/tty – Aktuell terminal /dev/console – Systemkonsoll /dev/pts/17 – Pseudo-terminal Special-specialfiler /dev/null – Svart hål /dev/zero – Nollor /dev/kmem – Kärnans minne
10
©2003–2004 David Byers Vad är ett filsystem En struktur av filer på disk Hierarkisk struktur Även programvara Även specifikationerna En logisk vy av alla filer En gemensam hierarki Skapas genom monteringar
11
©2003–2004 David Byers Filsystem
12
©2003–2004 David Byers Filsystemets organisation Beror på Unixvariant Standarder finns men följs inte helt Viktiga kataloger /etc innehåller inställningar för systemet /usr innehåller program och programdata /var innehåller loggar, mailköer och liknande /usr/bin och /bin innehåller program /usr/sbin och /sbin innehåller administratörsverktyg /dev innehåller devices (bl.a. representation av hårdvara)
13
©2003–2004 David Byers Montering av filsystem Filsystemstyp: ext2 Options: noexec Källa: /dev/hda2 (blockenhet) Monteringspunkt: /data Filsystemstyp: nfs Options: rw Källa: atlas:/users/9/3/alean938 Monteringspunkt: /home/alean938 mount –t ext2 –o noexec /dev/hda2 /data mount –t nfs –o rw atlas:/users/9/3/alean938 /home/alean938 / homedata /dev/hda1 / homedata /dev/hda1 atlas:/ users 01 9 2 34 alean938 … … …
14
©2003–2004 David Byers Filsystemstyper Traditionella filsystem ext3fs (Linux standard) ufs, zfs (Solaris standard) xfs (Irix standard) ntfs (Windows standard) VxFS (3e part, kommersiellt) Särskilda filsystem tmpfs (tillfällig lagring) sysfs (Linux devices/drivers) procfs (system/processinformation) Nätverksfilsystem nfs (Network File System) cifs (Common Internet FS) afs (Andew File System) Distribuerade filsystem Coda Lustre Gfs (Global File System) GoogleFS
15
©2003–2004 David Byers Fler kommandon mkfs Skapar fysiska filsystem mount Infogar filsystem i hierarkin umount Tar bort filsystem ur hierarkin fsck Reparerar trasiga filsystem tunefs Inställningar för filsystem
16
©2003–2004 David Byers Filsystem: uppbyggnadsexempel / devetcusrvarbintmp mail NFS mail:/var/mail NFS server:/linux/usr Blockenhet: /dev/hda1 Blockenhet: /dev/hda2 Modul: tmpfs /dev/hda1/ext3defaults,errors=remount-ro01 /dev/hda2/varext3defaults,errors=remount-ro01 /usrserver:/linux/usrnfsro,hard,intr01 /var/mailmail:/var/mailnfsrw,hard01 /tmpnonetmpfsdefaults01 /etc/fstab
17
©2003–2004 David Byers Särskilda filsystem: procfs (/proc) Inställningar /proc/sys/net/ipv4/… Information /proc/version /proc/meminfo Implementeras som sysctl Kommandot sysctl Filen /etc/sysctl.conf % echo 1 > /proc/sys/net/ipv4/tcp_ecn % cat /proc/version Linux version 2.6.7 (root@sysi-01) (gcc version 3.3.4 (Debian 1:3.3.4-6)) #1 Wed Sep 1 16:40:49 CEST 2004 % cat /proc/meminfo MemTotal: 907564 kB MemFree: 24544 kB Buffers: 231808 kB Cached: 347912 kB SwapCached: 0 kB % /sbin/sysctl net.ipv4.ip_default_ttl net.ipv4.ip_default_ttl = 64 % /sbin/sysctl -w net.ipv4.ip_default_ttl=65 net.ipv4.ip_default_ttl = 65 % /sbin/sysctl –w net.ipv4.tcp_ecn=1 net.ipv4.tcp_ecn = 1
18
©2003–2004 David Byers Processer Användare Grupper Rättigheter
19
©2003–2004 David Byers Processer och signaler Skapas med systemanropet fork Nya program startas med fork + exec Styrs via signaler Skickas med systemanropet kill (kommandot kill) SIGKILL avbryter, SIGSTOP och SIGTSTP pausar Visa processer med kommandot ps Se ID, förälder, prioritet, status, kommando mm Användbara varianter: ps axu, ps -AHl
20
©2003–2004 David Byers Processer och signaler % ps -H -eo s,user,pid,ppid,pri,sz,tty,cmd S USER PID PPID PRI SZ TT CMD S root 1 0 31 319 ? init S root 255 1 30 388 ? gpm S root 260 1 30 324 ? inetd S root 277 1 30 0 ? nfsd S root 280 277 30 0 ? lockd S root 281 280 30 0 ? rpciod S root 820 1 30 700 ? sshd S root 20484 820 30 1399 ? sshd S davby 20487 20484 30 1413 ? sshd S davby 20491 20487 30 661 pts/1 zsh R davby 20829 20491 22 842 pts/1 ps SStatus PIDProcess-ID PPIDFörälder PRIPrioritet SZStorlek TTTerminal CMDKommando
21
©2003–2004 David Byers Användare och processer Effective user ID UID som bestämmer rättigheter Real user ID Processens ”riktiga” UID Saved user ID Sparat UID för att återställa real/effective user ID Ändra EUID Systemanrop (seteuid) Setuid-bit på program Ändra RUID Systemanrop (setreuid) Kommandot su
22
©2003–2004 David Byers Användare och processer % ps -H -eo ruser,user,cmd PID RUSER USER COMMAND 20484 root root /usr/sbin/sshd 20487 davby davby /usr/sbin/sshd 20491 davby davby -zsh 21035 davby root passwd 21038 davby davby ps -H -eo pid,ruser,user,cmd sshd ändrade real UID till davby passwd är setuid root och ändrar effective UID; gör det möjligt att ändra filer som davby inte har rätt att ändra (tex /etc/passwd)
23
©2003–2004 David Byers Rättigheter Åtkomst till filer reglerar de flesta rättigheter Privilege elevation för tillfälligt ökade rättigheter För att skriva till skyddade filer, utökad access till nätverk mm Uppnås genom att ändra EUID och/eller EGID Exekverbara filer kan ändra EUID/EGID till sin ägare eller grupp Användare med UID 0 är ett specialfall, ”root” Får ändra UID och GID fritt Har åtkomst till alla filer och systemresurser
24
©2003–2004 David Byers Rättigheter % cd /dev; ls -l audio fd0 ttyp1 crw-rw---- 1 root audio 14, 4 Jun 16 2001 audio brw-rw---- 1 root floppy 2, 0 Jul 30 2001 fd0 crw-rw---- 1 root tty 3, 1 Jun 16 2001 ttyp1 % cd /usr/bin; ls -l passwd wall -rwsr-xr-x 1 root root 24680 Apr 7 17:59 passwd -rwxr-sr-x 1 root tty 9112 Jan 27 2002 wall wall kör alltid med EGID (effective group ID) tty passwd kör alltid med EUID (effective user ID) root owner group
25
©2003–2004 David Byers Användare och grupper Primärt objekt för rättigheter Varje fil ägs av en användare Rättigheter ges till användare Processer hör till användare Definieras i /etc/passwd och /etc/shadow Kan definieras i katalogtjänst som LDAP eller NIS Sekundärt objekt för rättigheter Rättigheter kan delas ut till en grupper Användare är medlemmar i grupper En primär grupp (i /etc/passwd) Kan vara med i flera sekundära grupper (i /etc/group) Definieras i /etc/group Kan definieras i katalogtjänst som LDAP eller NIS
26
©2003–2004 David Byers Användare User nameAnvändarnamnet PasswordKrypterat lösenord User ID (uid)Användarens identitet Group ID (gid)Användarens primära grupp Full name (gecos)Godtycklig information Home directoryArbetskatalog för login shell Login shellProgram som startas när användaren loggar in root:x:0:0:root:/root:/usr/bin/zsh daemon:x:1:1:daemon:/usr/sbin:/bin/sh root:x:0:0:root:/root:/usr/bin/zsh daemon:x:1:1:daemon:/usr/sbin:/bin/sh Utdrag ut /etc/passwd
27
©2003–2004 David Byers Användare User name Password Days since password was last changed Days before password may be changed Days after which password must be changed Days before password is to expire that user is warned Days after password expires that account is disabled Days since Jan 1, 1970 that account is disabled A reserved field root:$1$L6.uWAls$wi2eBrKgbp9S54DWF.iNi.:11500:0:99999:7::: daemon:*:11500:0:99999:7::: root:$1$L6.uWAls$wi2eBrKgbp9S54DWF.iNi.:11500:0:99999:7::: daemon:*:11500:0:99999:7::: Utdrag ut /etc/shadow
28
©2003–2004 David Byers Grupper Group nameGruppens namn PasswordKrypterat lösenord för gruppen Group ID (gid)Gruppens ID MembersLista av användare som har denna grupp som sekundär grupp backup:x:34:taper,janpe operator:x:37:davby,calcu,root backup:x:34:taper,janpe operator:x:37:davby,calcu,root Utdrag ut /etc/group
29
©2003–2004 David Byers Name Service Switch (NSS) Informationsdatabaser Användare/lösenord Datornamn Protokoll mm… Name service switch Bestämmer varifrån informationen ska hämtas Konfigureras i /etc/nsswitch.conf Cache med nscd passwd: files ldap group: files ldap shadow: files ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis passwd: files ldap group: files ldap shadow: files ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis Exempel
30
©2003–2004 David Byers Kommandotolken
31
©2003–2004 David Byers Kommandon Exekverbara filer Definieras av en rättighetsbit Varje kommando är en exekverbar fil Varje exekverbar fil kan vara ett kommando Script Script är exekverbara textfiler som tolkas av ett annat program Kommandon Exekvering av program /bin/ls/bin/rm/bin/tar
32
©2003–2004 David Byers Kommandotolkens funktioner Användardialogen Köra kommandon Dirigera om in/utdata Expansion av filnamn Inbyggda kommandon Hantering av omgivningsvariabler
33
©2003–2004 David Byers Kommandon i Unix Enkla kommandon Väldefinierade uppgifter Komplexa kommandon byggs upp från enkla Sätts samman med pipes, substitution, redirection, sekventiering m.m. cut –d: -f1,6 </etc/passwd | \ while read user dir ; do echo $user find $dir –type f \ –atime +365 –print | \ xargs du | \ awk ’BEGIN{s=0} {s+=$1} END{print s}’ done | \ paste - - | \ sort > DISK_REPORT
34
©2003–2004 David Byers Kommandoexempel cut –d: -f1,6 < /etc/passwd | \ while read user dir ; do echo $user find $dir –type f –atime +365 –print | \ xargs du | \ awk ’BEGIN{s=0} {s+=$1} END{print s}’ done | \ paste - - | \ sort > DISK_REPORT
35
©2003–2004 David Byers Loggning
36
©2003–2004 David Byers Loggning Händelser i systemet skrivs till loggfiler Alla ligger normalt under /var/log Loggfiler roteras för att inte ta för mycket plats apache/auth.logauth.log.0auth.log.1.gz daemon.logdaemon.log.0daemon.log.1.gzdmesg kern.logkern.log.0kern.log.1.gzlastlog mail.errmail.err.0mail.err.1.gzmail.info mail.info.0mail.logmail.log.0mail.log.1.gz mail.warnmail.warn.0mail.warn.1.gzmessages messages.0syslogsyslog.0syslog.1.gz wtmp apache/auth.logauth.log.0auth.log.1.gz daemon.logdaemon.log.0daemon.log.1.gzdmesg kern.logkern.log.0kern.log.1.gzlastlog mail.errmail.err.0mail.err.1.gzmail.info mail.info.0mail.logmail.log.0mail.log.1.gz mail.warnmail.warn.0mail.warn.1.gzmessages messages.0syslogsyslog.0syslog.1.gz wtmp Innehåll i /var/log
37
©2003–2004 David Byers Loggning Loggning görs genom syslogd Konfigureras i /etc/syslogd.conf Möjlighet att logga till en annan dator Viktiga loggfiler syslogHuvudlogfil auth.logInloggningar och utloggningar daemon.logMeddelanden från daemoner debug.logDebugmeddelanden
38
©2003–2004 David Byers Loggexempel /var/log/syslog Aug 17 16:17:01 sysinst-gw /USR/SBIN/CRON[15369]: (root) CMD ( run-parts --report /etc/cron.hourly) Aug 17 16:22:46 sysinst-gw named[1930]: loading configuration from '/etc/bind/named.conf' Aug 17 16:23:28 sysinst-gw postfix/pickup[15367]: BEDD31F36C: uid=0 from= /var/log/auth.log Aug 17 16:22:28 sysinst-gw sshd[15370]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=obel19.ida.liu.se user=davby Aug 17 16:22:30 sysinst-gw sshd[15370]: error: PAM: Authentication failure for davby from obel19.ida.liu.se Aug 17 16:22:38 sysinst-gw su[15374]: + pts/12 davby:root Aug 17 16:22:38 sysinst-gw su[15374]: (pam_unix) session opened for user root by davby(uid=1150)
39
©2003–2004 David Byers Loggexempel /var/log/mail.log Aug 17 16:23:28 sysinst-gw postfix/pickup[15367]: BEDD31F36C: uid=0 from= Aug 17 16:23:28 sysinst-gw postfix/cleanup[15384]: BEDD31F36C: message-id= Aug 17 16:23:28 sysinst-gw postfix/qmgr[2282]: BEDD31F36C: from=, size=333, nrcpt=1 (queue active) Aug 17 16:23:31 sysinst-gw postfix/smtp[15386]: connect to ida.liu.se[2001:6b0:17:f020::25]: No route to host (port 25) Aug 17 16:23:32 sysinst-gw postfix/smtp[15386]: BEDD31F36C: to=, relay=ida.liu.se[130.236.177.25], delay=4, status=bounced (host ida.liu.se[130.236.177.25] said: 553 5.1.8... Domain of sender address root@sysinst- gw.sysinst.ida.liu.se does not exist (in reply to RCPT TO command)) Aug 17 16:23:32 sysinst-gw postfix/cleanup[15384]: 11C321F36D: message-id= Aug 17 16:23:32 sysinst-gw postfix/qmgr[2282]: 11C321F36D: from=<>, size=2460, nrcpt=1 (queue active) Aug 17 16:23:32 sysinst-gw postfix/qmgr[2282]: BEDD31F36C: removed Aug 17 16:23:32 sysinst-gw postfix/cleanup[15384]: 1B1831F2BE: message-id= Aug 17 16:23:32 sysinst-gw postfix/local[15388]: 11C321F36D: to=, relay=local, delay=0, status=sent (forwarded as 1B1831F2BE) Aug 17 16:23:32 sysinst-gw postfix/qmgr[2282]: 1B1831F2BE: from=<>, size=2620, nrcpt=1 (queue active) Aug 17 16:23:32 sysinst-gw postfix/qmgr[2282]: 11C321F36D: removed Aug 17 16:23:35 sysinst-gw postfix/smtp[15386]: connect to ida.liu.se[2001:6b0:17:f020::25]: No route to host (port 25) Aug 17 16:23:35 sysinst-gw postfix/smtp[15386]: 1B1831F2BE: to=, orig_to=, relay=ida.liu.se[130.236.177.25], delay=3, status=sent (250 2.0.0 k7HENZ7o021810 Message accepted for delivery) Aug 17 16:23:35 sysinst-gw postfix/qmgr[2282]: 1B1831F2BE: removed
40
©2003–2004 David Byers Felsökning genom loggen Känn till var varje program loggar fel Allt går inte via syslogd Ta reda på hur man ökar mängden meddelanden De flesta program kan logga mycket mer Leta efter ”diagnostic messages” och ”debug messages” Se upp med loggnivån! Titta i loggarna efter fel och efter varje ändring Gör det till en vana!
41
©2003–2004 David Byers
42
Varför heter det d? dae·mon n. 1.Chiefly British. Variant of demon. 2.Variant of daimon. 3.Computer Science. A program or process that sits idly in the background until it is invoked to perform its task.
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.