Curs 2 - Gestiunea sistemului de...

Post on 15-Feb-2020

8 views 0 download

Transcript of Curs 2 - Gestiunea sistemului de...

Curs 2Gestiunea sistemului de fis, iere

Gestiunea Serviciilor de Ret,ea

13 octombrie 2011

GSR Curs 2, Gestiunea sistemului de fis,iere 1/49

Moto

The Unix ‘file system’. Sure it corrupts your data, but look howfast it is!

GSR Curs 2, Gestiunea sistemului de fis,iere 2/49

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 3/49

Prerequisites

I “Cartea de USO”:http://books.google.com/books?id=_JFGzyRxQGcC

I Capitolul 4 – Sisteme de fis, iereI Capitolul 10 – Elemente de securitate

GSR Curs 2, Gestiunea sistemului de fis,iere 4/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 5/49

Sistemul de fis, iere

I componenta cea mai vizibila utilizatorului unui sistem deoperare

I perspectiva utilizatoruluiI ierarhie de fis, iere s, i directoareI ierarhie, cale, separator, nume, drepturi de acces, utilizator,

grup, dimensiune, tip

I perspectiva sistemului de operareI algoritmi s, i structuri de date pentru organizarea eficienta s, i

accesul scalabil la informat, ie pe un suport (de obicei fizicpersistent)

I superbloc, inode, bitmap, bloc, dentry, pointeri

GSR Curs 2, Gestiunea sistemului de fis,iere 6/49

Sisteme de fis, iere ın Linux

I ext, ext2, ext3, ext4

I XFS, JFS, Reiserfs

I NTFS, FAT, HFS

I SMB/CIFS, NFS

I procfs, sysfs, ramfsI interfat, a cu utilizatorul

I nume scurteI separatorul este /I directorul radacina este /

GSR Curs 2, Gestiunea sistemului de fis,iere 7/49

Implementarea unui sistem de fis, iere

GSR Curs 2, Gestiunea sistemului de fis,iere 8/49

Structuri de baza pentru un sistem de fis, iere

GSR Curs 2, Gestiunea sistemului de fis,iere 9/49

Structuri de baza pentru un sistem de fis, iere

I file: o instant, a de fis, ier deschis

I dentry: numele unui fis, ier

I inode: un fis, ier aflat pe disc (recunoscut prin inode number,nu prin nume)

I superblock: metadata de metadate (bitmap, descriereazonelor de date, descrierea zonelor de inode-uri)

GSR Curs 2, Gestiunea sistemului de fis,iere 10/49

Filesystem Hierarchy Standard

GSR Curs 2, Gestiunea sistemului de fis,iere 11/49

Ierarhia sistemului de fis, iere ın Linux

I FHS (Filesystem Hierarchy Standard)

I / – directorul radacina

I /bin/ – executabile de baza (disponibile ın single user mode)

I /boot/ – fis, ierele bootloaderului

I /dev/ – dispozitive

I /etc/ – fis, iere de configurare la nivelul sistemului

I /home/ – directoarele home ale utilizatorilor

I /lib/ – biblioteci pentru binarele din /bin/ s, i /sbin/

I /media/, /mnt/ – mount points

I /sbin/ – executabile pentru superuser

I /tmp/ – date temporare; de obicei s, terse la repornire

I /usr/ – sistem de fis, iere secundar (/usr/bin/, /usr/lib/,/usr/sbin/)

I /var/ – fis, iere variabile (cont, inutul se schimba)

GSR Curs 2, Gestiunea sistemului de fis,iere 12/49

What goes where?

I executabilul gccI /usr/bin/

I fis, ierul vsftpd.confI /etc/

I fis, ierele imagine ale utilizatorului anaI /home/ana/ (∼ana/)

I executabilul adduserI /usr/sbin/

I fis, ierul mail.logI /var/mail/

I imaginea de kernel vmlinuz-2.6.31I /boot/

GSR Curs 2, Gestiunea sistemului de fis,iere 13/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 14/49

Parcurgerea ierarhiei unui sistem de fis, iere

I unde ma aflu?I razvan@valhalla:/usr/local$ pwd

/usr/local

razvan@valhalla:/usr/local$ echo $PWD

/usr/local

I unde ma pot duce?I razvan@valhalla:/usr/local$ ls

bin etc games include lib mail man myapps sbin share src

razvan@valhalla:/usr/local$ ls -F

bin/ etc/ games/ include/ lib/ mail/ man@ myapps/ sbin/ share/ src/

I ma ducI razvan@valhalla:/usr/local$ cd myapps/patches/

razvan@valhalla:/usr/local/myapps/patches$ cd /etc/apache2

GSR Curs 2, Gestiunea sistemului de fis,iere 15/49

Cale (path)

I absolutaI /etc/apache2/I /var/mail/mail.logI /home/student/file.txtI ıncepe de la directorul radacina – ıncepe cu / (slash)

I relativaI apache2/ (din /etc/)I file.txt (din /home/student/)

I intrari specialeI . – directorul curent (self reference)I .. – directorul parinte

GSR Curs 2, Gestiunea sistemului de fis,iere 16/49

Lucrul cu fis, iere

I creareI touch a.txt

I s, tergereI rm, unlink

I copiereI cp a.txt b.txt

I mutare/redenumireI mv a.txt new a.txt

I afis, are cont, inutI catI head, tailI vi, emacs, nano, joe, mcedit

GSR Curs 2, Gestiunea sistemului de fis,iere 17/49

Lucrul cu directoare

I creareI mkdir my dir

I s, tergereI rmdir my dir (doar pentru directoare goale)I rm -r my dir (s, tergere recursiva)

I copiereI cp -r my dir my dir copy

I mutareI mv my dir new my dir

I afis, are cont, inutI ls

GSR Curs 2, Gestiunea sistemului de fis,iere 18/49

Nice to know

I $OLDPWD (fostul director)

I cd - (echivalent cu cd $OLDPWD)

I cd (echivalent cu cd ∼)

I mkdir -p (creeaza o cale de directoare)

I pushd, popd (stiva de directoare)

GSR Curs 2, Gestiunea sistemului de fis,iere 19/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 20/49

Tipuri de fis, iere

I razvan@valhalla:/tmp/pisr-2/type$ ls -lF

total 1

brw-r--r-- 1 root root 240, 1 Oct 15 09:49 block-device

crw-r--r-- 1 root root 42, 1 Oct 15 09:49 char-device

drwxr-xr-x 2 razvan razvan 1024 Oct 15 09:48 directory/

-rw-r--r-- 1 razvan razvan 0 Oct 15 09:48 file

lrwxrwxrwx 1 razvan razvan 4 Oct 15 09:48 link -> file

prw-r--r-- 1 razvan razvan 0 Oct 15 09:48 pipe|

I regular file, directory, link, char device, block device, named pipe, Unixsocket

GSR Curs 2, Gestiunea sistemului de fis,iere 21/49

Informat, ii despre fis, iere

I ls -lI file

I razvan@valhalla:/tmp/pisr-2/type$ file file

file: empty

razvan@valhalla:/tmp/pisr-2/type$ file /usr/bin/gcc-4.3

/usr/bin/gcc-4.3: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),

dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

I statI razvan@valhalla:/tmp/pisr-2/type$ stat /bin/ping

File: ‘/bin/ping’

Size: 33576 Blocks: 72 IO Block: 4096 regular file

Device: 803h/2051d Inode: 186640 Links: 1

Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2009-10-14 15:05:34.000000000 +0300

Modify: 2009-08-28 07:30:27.000000000 +0300

Change: 2009-09-07 19:21:17.000000000 +0300

GSR Curs 2, Gestiunea sistemului de fis,iere 22/49

Link-uri

I legaturi catre alte fis, iereI link-uri hard (hard links)

I ln a.txt b.txtI acelas, i inode, doua nume (dentry-uri) diferite

I link-uri simbolice (symbolic links, symlinks)I ln -s a.txt b.txtI inode nou; inode-ul cont, ine numele (dentry-ul) fis, ierului init, ial

GSR Curs 2, Gestiunea sistemului de fis,iere 23/49

Fis, iere de tip dispozitiv

I dispozitive de tip caracterI lenteI stream de octet, iI tastatura, mouse, dispozitive seriale

I dispozitive de tip blocI rapideI acces aleator la informat, ie (se poate face seek)I citire la nivel de bloc (chunk de informat, ie)I suport pentru sisteme de fis, iereI hard-disk-uri, CD-ROM/DVD-ROM drives, USB flash drives

GSR Curs 2, Gestiunea sistemului de fis,iere 24/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 25/49

Redirectari

I command > file (redirectare ies, ire standard)

I command < file (redirectare intrare standard)

I command 2 > file (redirectare eroare standard)I command &> file (redirectare ies, ire s, i eroare standard)

I echivalenta cu command > file 2>&1

I command >> file (redirectare ies, ire standard + append)I newfd>&oldfd (=dup2(oldfd,newfd))

I ce efect are comandaI command 2>&1 > /dev/null | grep gogu

I command <<EOF (here document)

I command <<< ”ana are mere” (here string)

I >(list), <(list)

GSR Curs 2, Gestiunea sistemului de fis,iere 26/49

Cautarea unui fis, ier

I whereis /bin/bashI locate ”string”

I foloses, te un index

I updatedb /etc/updatedb.conf

GSR Curs 2, Gestiunea sistemului de fis,iere 27/49

find

I cautarea ıntr-o ierarhie de directoare

I find -name ’*.c’

I find -type f

I find -type f -exec grep ’aaa’ {} \;I find -type f -name ’*∼’ | xargs rm

GSR Curs 2, Gestiunea sistemului de fis,iere 28/49

Arhivare s, i comprimare

I arhivare: “concatenarea” mai multor fis, iere

I comprimare: reducerea dimensiunii unui fis, ier

I arhivare folosind tar, ar

I comprimare folosind bzip2, gzip

GSR Curs 2, Gestiunea sistemului de fis,iere 29/49

Arhivare s, i comprimare (2)

I .zip: zip, unzip

I .gz: gzip, gunzip

I .bz2: bzip2, bunzip2

I ar (.a, .deb)I operat, ii cu arhive

I arhivareI dezarhivareI listare cont, inutI adaugare, eliminare

GSR Curs 2, Gestiunea sistemului de fis,iere 30/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 31/49

Discretionary Access Control

I exista ownership

I se pot acorda drepturi de acces de catre owner

I se poate schimba owner-ul (de root)

GSR Curs 2, Gestiunea sistemului de fis,iere 32/49

Drepturi de acces

I liste de control al accesuluiI fiecarui fis, ier i se asociaza un set de utilizator s, i drepturi

I matrice de drepturiI mai put, ine drepturi, construct, ie mai eficenta

I user, group, others

I read, write, execute

GSR Curs 2, Gestiunea sistemului de fis,iere 33/49

Drepturi de acces (2)

GSR Curs 2, Gestiunea sistemului de fis,iere 34/49

Drepturi de acces (3)

I Drepturi pe fis, iereI read (cat file)I write (echo > file, vi file)I execute (./file)

I Drepturi pe directoareI read (+execute) (ls)I write (+execute) (rmdir, rm, touch)I execute (cd)

GSR Curs 2, Gestiunea sistemului de fis,iere 35/49

umask

I Masca de creareI Dreptul implicit de creare

I pentru fis, iere: 666 & umaskI pentru directoare: 777 & umask

I razvan@valhalla:/tmp/pisr-2/type$ touch a.txt

razvan@valhalla:/tmp/pisr-2/type$ ls -l a.txt

-rw-r--r-- 1 razvan razvan 4 Oct 15 17:33 a.txt

razvan@valhalla:/tmp/pisr-2/type$ umask

0022

razvan@valhalla:/tmp/pisr-2/type$ umask 047

razvan@valhalla:/tmp/pisr-2/type$ touch b.txt

razvan@valhalla:/tmp/pisr-2/type$ ls -l b.txt

-rw--w---- 1 razvan razvan 0 Oct 15 17:33 b.txt

GSR Curs 2, Gestiunea sistemului de fis,iere 36/49

setuid, setgid, sticky

I setuidI un fis, ier se executa cu drepturile celui care det, ine fis, ierulI ping, traceroute, passwd

I razvan@valhalla:/tmp/pisr-2/type$ ls -l /usr/bin/passwd

-rwsr-xr-x 1 root root 41296 Jul 24 07:29 /usr/bin/passwd

I setgidI fis, ierele s, i subdirectoarele directorului folosesc acelas, i grup

I stickyI /tmp/

GSR Curs 2, Gestiunea sistemului de fis,iere 37/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 38/49

Discuri s, i partit, ii

I suport pentru instalarea sistemelor de fis, iere

I sectoare s, i blocuri

I partit, ii: primare (maxim 4), extinsa, logiceI /dev/sdxN

I x = {a, b, c, d, ...} - numarul disculuiI N = {1, 2, 3, 4, ...} - numarul partit, iei din cadrul discului

I nomenclatura GRUB difera (dar nu tot timpul)I (hd0,4) = /dev/[sh]da5

GSR Curs 2, Gestiunea sistemului de fis,iere 39/49

Partit, ionare

I fdisk /dev/sdaI utilitar interactiv

I fdisk -lI listarea partit, iilor

I Dimensiunea partit, iilorI razvan@valhalla:/tmp/pisr-2/type$ df -hT

Filesystem Type Size Used Avail Use% Mounted on

/dev/sda3 ext3 9.2G 707M 8.0G 8% /

tmpfs tmpfs 943M 0 943M 0% /lib/init/rw

udev tmpfs 10M 204K 9.9M 2% /dev

tmpfs tmpfs 943M 300K 942M 1% /dev/shm

/dev/sda8 ext3 183M 78M 96M 45% /boot

/dev/sda9 ext3 138G 122G 9.5G 93% /home

/dev/sda10 ext3 464M 56M 385M 13% /tmp

/dev/sda6 ext3 9.2G 8.2G 551M 94% /usr

/dev/sda7 ext3 19G 1.1G 17G 7% /var

GSR Curs 2, Gestiunea sistemului de fis,iere 40/49

Formatare

I razvan@valhalla:/tmp/pisr-2/type$ ls /sbin/mkfs*

/sbin/mkfs /sbin/mkfs.cramfs /sbin/mkfs.ext3 /sbin/mkfs.ext4dev

/sbin/mkfs.bfs /sbin/mkfs.ext2 /sbin/mkfs.ext4 /sbin/mkfs.minix

I demo (dd + mkfs.ext2)

GSR Curs 2, Gestiunea sistemului de fis,iere 41/49

Partit, ii de swap

I mkswapI ”formateaza” cu swap

I swapon, swapoffI activeaza/dezactiveaza swap-ul

I demo (dd + mkswap + swapon)

GSR Curs 2, Gestiunea sistemului de fis,iere 42/49

Montare/demontare

I mount /dev/hda1 /mnt/hda1

I umount /mnt/hda1

I /mnt/ – pentru montari temporare

I /media/ – pentru montari permanente, CD-ROM drive, USBflash drive

I mount -a

I mount, cat /proc/mounts

GSR Curs 2, Gestiunea sistemului de fis,iere 43/49

chroot

I schimbarea directorului radacinaI chroot /mnt/hda1I chroot /mnt/hda1 passwd

I atat comanda cat s, i apel de biblioteca/sistem

I securitate – chroot jail

GSR Curs 2, Gestiunea sistemului de fis,iere 44/49

/etc/fstab

I mount -a

I file system table

I informat, ii persistente de montare a sistemelor de fis, iere

I demo

GSR Curs 2, Gestiunea sistemului de fis,iere 45/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 46/49

Cuvinte cheie

I sistem de fis, iere

I fis, iere, directoare

I ext, ext2, ext3, ext4

I FHS

I cale relativa/absoluta

I link-uri

I ls, pwd, cd

I touch, mkdir, rm, rmdir

I cp, mv

I link-uri simbolice, hard

I dispozitive caracter, bloc

I mknod, ln

I redirectari

I whereis, locate, find

I arhivare

I tar, gzip, bzip2, zip

I drepturi de acces

I chmod, chown, umask

I setuid, setgid

I partit, ii, fdisk

I formatare, mkfs

I montare, mount, umount

I /etc/fstab

GSR Curs 2, Gestiunea sistemului de fis,iere 47/49

Resurse utile

I http://www.pathname.com/fhs/

I http://en.wikibooks.org/wiki/Guide_to_Unix/Commands/

File_System_Utilities

I http://www.faqs.org/docs/Linux-mini/Partition.html

GSR Curs 2, Gestiunea sistemului de fis,iere 48/49

Outline

Sistemul de fis, iere ın Linux

Operat, ii de baza ın sistemul de fis, iere

Tipuri de fis, iere

Operat, ii avansate ın sistemul de fis, iere

Securitatea sistemelor de fis, iere

Operat, ii low-level ın sistemul de fis, iere

Keywords

Intrebari

GSR Curs 2, Gestiunea sistemului de fis,iere 49/49