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 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.


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