Presentation laddar. Vänta.

Presentation laddar. Vänta.

David Byers IDA/ADIT/IISLAB ©2003–2004 David Byers Unix och Linux HISTORIA – FILER OCH FILSYSTEM – PROCESSER – ANVÄNDARE GRUPPER – RÄTTIGHETER.

Liknande presentationer


En presentation över ämnet: "David Byers IDA/ADIT/IISLAB ©2003–2004 David Byers Unix och Linux HISTORIA – FILER OCH FILSYSTEM – PROCESSER – ANVÄNDARE GRUPPER – RÄTTIGHETER."— Presentationens avskrift:

1 David Byers 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 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 root audio 14, 4 Jun audio brw-rw root floppy 2, 0 Jul fd0 crw-rw root tty 3, 1 Jun ttyp1 brw-rw root disk 8, 0 Jun /dev/sda brw-rw root disk 8, 1 Jun /dev/sda1 % cd /dev; ls -l audio fd0 ttyp1 sda sda1 crw-rw root audio 14, 4 Jun audio brw-rw root floppy 2, 0 Jul fd0 crw-rw root tty 3, 1 Jun ttyp1 brw-rw root disk 8, 0 Jun /dev/sda brw-rw root disk 8, 1 Jun /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 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 (gcc version (Debian 1: )) #1 Wed Sep 1 16:40:49 CEST 2004 % cat /proc/meminfo MemTotal: kB MemFree: kB Buffers: kB Cached: 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 ? init S root ? gpm S root ? inetd S root ? nfsd S root ? lockd S root ? rpciod S root ? sshd S root ? sshd S davby ? sshd S davby pts/1 zsh R davby 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 root root /usr/sbin/sshd davby davby /usr/sbin/sshd davby davby -zsh davby root passwd 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 root audio 14, 4 Jun audio brw-rw root floppy 2, 0 Jul fd0 crw-rw root tty 3, 1 Jun ttyp1 % cd /usr/bin; ls -l passwd wall -rwsr-xr-x 1 root root Apr 7 17:59 passwd -rwxr-sr-x 1 root tty 9112 Jan 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 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[ ], delay=4, status=bounced (host ida.liu.se[ ] said: Domain of sender address 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[ ], delay=3, status=sent ( k7HENZ7o 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.


Ladda ner ppt "David Byers IDA/ADIT/IISLAB ©2003–2004 David Byers Unix och Linux HISTORIA – FILER OCH FILSYSTEM – PROCESSER – ANVÄNDARE GRUPPER – RÄTTIGHETER."

Liknande presentationer


Google-annonser