Provided by: fakeroot_1.33-1_amd64 bug

NUME

       fakeroot  -  rulează  o  comandă  într-un  mediu  care simulează privilegii de root pentru
       manipularea fișierelor

REZUMAT

       fakeroot  [-l|--lib  library]  [--faked  binar_precum_faked]  [-i  fișier-încărcare]   [-s
       fișier-de-salvare]  [-u|--unknown-is-real  ]  [-b|--fd-base ] [-h|--help ] [-v|--version ]
       [--] [comanda]

DESCRIERE

       fakeroot execută o comandă într-un mediu în care pare să aibă privilegii  de  root  pentru
       manipularea  fișierelor.   Acest lucru este util pentru a permite utilizatorilor să creeze
       arhive (tar, ar, .deb etc.) care conțin fișiere cu permisiuni/proprietate de  root.   Fără
       fakeroot  ar trebui să se aibă privilegii de root pentru a crea fișierele constitutive ale
       arhivelor cu permisiunile și proprietatea corecte și apoi să le împacheteze, sau ar trebui
       să se construiască arhivele direct, fără a se utiliza arhivatorul.

       fakeroot funcționează prin înlocuirea funcțiilor de manipulare a fișierelor din bibliotecă
       (chmod(2), stat(2) etc.) cu funcții care simulează efectul pe care l-ar fi avut  funcțiile
       reale  de  bibliotecă,  dacă  utilizatorul  ar fi fost cu adevărat root. Aceste funcții de
       învăluire se află  într-o  bibliotecă  partajată  /usr/lib/*/libfakeroot-*.so  sau  într-o
       locație  similară  pe  platforma  dumneavoastră.   Obiectul  partajat  este  încărcat prin
       intermediul mecanismului LD_PRELOAD al încărcătorului dinamic. (A se vedea ld.so(8))

       Dacă intenționați să construiți pachete cu fakeroot, vă rugăm să încercați  să  construiți
       mai  întâi  pachetul  „fakeroot”: etapa «debian/rules build» are câteva teste (testând mai
       ales pentru erorile din vechile  versiuni  «fakeroot»).  Dacă  aceste  teste  eșuează  (de
       exemplu,  pentru  că  aveți anumite programe libc5 pe sistemul dumneavoastră), este foarte
       probabil ca și alte pachete pe care le construiți cu «fakeroot» să eșueze, dar posibil  în
       moduri mult mai subtile.

       De  asemenea,  rețineți  că  cel  mai  bine  este  să  nu  construiți fișierele binare sub
       «fakeroot». În special lui «configure» și prietenilor săi nu le  place  când  sistemul  se
       comportă  brusc  diferit  de  ceea  ce se așteaptă. (sau, aceștia dereglează la întâmplare
       unele variabile de mediu, dintre care unele sunt necesare pentru «fakeroot»).

OPȚIUNI

       -l biblioteca, --lib biblioteca
              Specifică o bibliotecă de învăluire alternativă.

       --faked binar
              Specifică un binar alternativ care să fie utilizat ca faked(1).

       [--] comanda
              Orice comandă ce care doriți să fie executată sub  «fakeroot»  (ca  root  simulat).
              Folosiți  ‘--’(cq  dacă  în  comandă  aveți  alte  opțiuni  care pot deruta analiza
              opțiunilor lui «fakeroot».

       -s fișier-de-salvare
              Salvează mediul „fakeroot” în fișierul-de-salvare la ieșire. Acest fișier poate  fi
              utilizat  pentru  a  restaura  mediul mai târziu, utilizând opțiunea „-i”. Cu toate
              acestea, acest fișier va avea pierderi de informații și «fakeroot» se  va  comporta
              de-o  formă  ciudată  dacă  nu  lăsați  fișierele modificate în interiorul mediului
              „fakeroot” neatinse atunci când sunteți în  afara  mediului.  Totuși,  acest  lucru
              poate  fi  util.  De  exemplu, poate fi utilizat cu rsync(1) pentru a face copii de
              rezervă  și  a  restaura  arbori  întregi  de  directoare,  cu  informații   despre
              utilizatori,  grupuri  și  dispozitive,  fără  a fi nevoie să fiți root. Consultați
              /usr/share/doc/fakeroot/README.saving pentru mai multe detalii.

       -i fișier-încărcare
              Încarcă  un  mediu  „fakeroot”  salvat  anterior   folosind   opțiunea   „-s”   din
              fișier-încărcare.   Rețineți  că  această  opțiune  nu  salvează implicit fișierul,
              utilizați și opțiunea „-i” pentru acest comportament. Utilizarea  aceluiași  fișier
              ca  argument  atât pentru „-i”, cât și pentru „-s” într-o singură invocare fakeroot
              este sigură.

       -u, --unknown-is-real
              Utilizează proprietatea reală a fișierelor necunoscute anterior de  «fakeroot»,  în
              loc să pretindă că acestea sunt deținute de root:root.

       -b fd  Specifică valoarea de bază a descriptorului de fișier (numai în modul TCP). fd este
              numărul minim al descriptorului de fișiere care trebuie utilizat pentru conexiunile
              TCP;  acest  lucru poate fi important pentru a evita conflictele cu descriptorii de
              fișiere utilizați de programele care rulează sub «fakeroot».

       -h     Afișează mesajul de ajutor.

       -v     Afișează informațiile despre versiune.

EXEMPLE

       Iată un exemplu de sesiune cu fakeroot.  Observați că în interiorul mediului de root  fals
       (simulat),  manipularea  de  fișiere  ce  necesită  privilegii de root reușește, dar nu se
       întâmplă cu adevărat.

       $  whoami
       joost
       $ fakeroot /bin/bash
       #  whoami
       root
       # mknod hda3 b 3 1
       # ls -ld hda3
       brw-r--r--   1 root     root       3,   1 iul  2 22:58 hda3
       # chown joost:root hda3
       # ls -ld hda3
       brw-r--r--   1 joost    root       3,   1 iul  2 22:58 hda3
       # ls -ld /
       drwxr-xr-x  20 root     root         1024 iun 17 21:50 /
       # chown joost:users /
       # chmod a+w /
       # ls -ld /
       drwxrwxrwx  20 joost    users        1024 iun 17 21:50 /
       # exit
       $ ls -ld /
       drwxr-xr-x  20 root     root         1024 iun 17 21:50 //
       $ ls -ld hda3
       -rw-r--r--   1 joost    users           0 iul  2 22:58 hda3

       Doar efectele acțiunilor pe care utilizatorul joost le-ar putea face oricum,  se  întâmplă
       cu adevărat.

       fakeroot  a  fost  scris  special pentru a permite utilizatorilor să creeze pachete Debian
       GNU/Linux (în formatul deb(5)) fără a le oferi privilegii de root.  Acest lucru  se  poate
       face  prin  comenzi  precum  dpkg-buildpackage -rfakeroot sau debuild -rfakeroot (de fapt,
       „-rfakeroot” este implicit în «debuild» în momentul de față, așa că nu mai aveți nevoie de
       acest argument).

ASPECTE DE SECURITATE

       fakeroot  este  un  program  normal,  fără  bitul  „setuid”  activat.  Acesta  nu sporește
       privilegiile unui utilizator și nici nu reduce securitatea sistemului.

FIȘIERE

       /usr/lib/*/libfakeroot-*.so Biblioteca  partajată  care  conține  funcțiile  de  învăluire
       (simulare).

VARIABILE DE MEDIU

       FAKEROOTKEY
              Cheia  utilizată  pentru  a comunica cu demonul „fakeroot”. Orice program pornit cu
              LD_PRELOAD corect și cu FAKEROOTKEY a unui demon în execuție se va conecta  automat
              la  acel  demon  și  va  avea aceeași vedere „falsă” a permisiunilor/proprietăților
              sistemului de fișiere (presupunând că demonul și programul  de  conectare  au  fost
              pornite de același utilizator).

       LD_LIBRARY_PATH

       LD_PRELOAD
              Fakeroot  este  implementat  prin  învăluirea apelurilor de sistem.  Acest lucru se
              realizează  prin  configurarea  variabilelor  LD_LIBRARY_PATH=/usr/lib/fakeroot  și
              LD_PRELOAD=libfakeroot.so.0.     Această   bibliotecă   este   încărcată   înaintea
              bibliotecii C a sistemului și, prin urmare, majoritatea funcțiilor bibliotecii sunt
              interceptate  de  aceasta.   Dacă  trebuie  să configurați fie LD_LIBRARY_PATH, fie
              LD_PRELOAD din interiorul unui mediu  „fakeroot”,  ar  trebui  să  fie  configurate
              relativ la rutele date, ca în LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/bar/.

LIMITĂRI

       Versiunile de bibliotecă
              Fiecare  comandă  executată în fakeroot trebuie să fie legată la aceeași versiune a
              bibliotecii C ca și fakeroot însăși.

       open()/create()
              fakeroot nu învăluie open(), create(), etc. Astfel, dacă  utilizatorul  joost  face
              fie

              touch foo
              fakeroot
              ls -al foo

              sau invers,

              fakeroot
              touch foo
              ls -al foo

              «fakeroot»  nu are cum să știe că, în primul caz, proprietarul lui foo ar trebui să
              fie joost, în timp ce în al doilea caz  ar  fi  trebuit  să  fie  root.   În  cazul
              pachetului  Debian,  este  întotdeauna  în  regulă  să  se atribuie în mod implicit
              tuturor fișierelor „necunoscute” uid=gid=0. Adevărata modalitate de a  ocoli  acest
              lucru  este de a învălui open() și create(), dar acest lucru creează alte probleme,
              după cum demonstrează pachetul „libtricks”. Acest pachet a învăluit mult mai  multe
              funcții  și  a  încercat  să facă mult mai multe decât fakeroot .  S-a dovedit că o
              actualizare minoră a „libc” (de la una în care funcția stat() nu folosea open()  la
              una  cu o funcție stat() care folosea (în unele cazuri) open()), ar fi cauzat erori
              de segmentare inexplicabile (adică, „libc6” stat() a apelat open()  învăluit,  care
              ar  fi  apelat  apoi  „libc6” stat(), etc).  Corectarea lor nu a fost chiar atât de
              ușoară, dar odată rezolvate, era doar o chestiune de timp până când o altă  funcție
              începea să folosească open(), fără a mai vorbi de încercarea de a transpune această
              bibliotecă pe un alt sistem de operare. Astfel, am  decis  să  păstrez  numărul  de
              funcții învăluite de «fakeroot» cât mai mic posibil, pentru a limita probabilitatea
              de ‘ciocniri’.

       GNU configure (și alte programe de acest tip)
              «fakeroot», de fapt, schimbă modul în care se comportă  sistemul.  Programele  care
              sondează  sistemul, cum ar fi GNU «configure», pot fi derutate de acest lucru (sau,
              dacă nu o fac, pot solicita «fakeroot» atât de mult încât «fakeroot» însuși  devine
              confuz).  Așadar,  este  recomandabil  să  nu executați «configure» din „fakeroot”.
              Deoarece «configure» ar trebui să fie apelat în ținta «debian/rules build», rularea
              «dpkg-buildpackage -rfakeroot» se ocupă corect de acest lucru.

ERORI

       Acesta  nu  învăluie  open().  Acest  lucru  nu este rău în sine, dar dacă un program face
       open("file", O_WRONLY, 000), scrie în fișierul „file”, îl închide și apoi încearcă din nou
       să  deschidă pentru a citi fișierul, atunci deschiderea eșuează, deoarece modul fișierului
       va fi 000. Eroarea este că, dacă root  face  același  lucru,  open()  va  reuși,  deoarece
       permisiunile  fișierului  nu  sunt  verificate  deloc  pentru root. Am ales să nu învăluim
       open(), deoarece open() este folosit de multe alte funcții din „libc”  (inclusiv  de  cele
       care  sunt  deja învăluite), creând astfel bucle (sau posibile bucle viitoare, atunci când
       implementarea diferitelor funcții „libc” se va schimba un pic).

COPIEREA

       fakeroot este distribuit sub Licența Publică Generală GNU.  (GPL 2.0 sau ulterioară).

AUTORI

       joost witteveen
              <joostje@debian.org>

       Clint Adams
              <clint@debian.org>

       Timo Savola

PAGINA DE MANUAL

       în cea mai mare parte  scrisă  de  J.H.M.  Dassen  <jdassen@debian.org>  Destul  de  multe
       modificări/adăugiri făcute de joost și Clint.

CONSULTAȚI ȘI

       faked(1)  dpkg-buildpackage(1), debuild(1) /usr/share/doc/fakeroot/DEBUG

TRADUCERE

       Această  traducere  a  fost creată în 2023 de Remus-Gabriel Chelu. Ea este supusă licenței
       GNU GPL versiunea 2 (sau ulterioară).

       Pentru a citi versiunea originală în limba engleză, tastați «man -L C COMMAND».

       Vă rugăm să raportați erorile de traducere prin baza de date a erorilor (BTS) de la Debian
       sau trimițând un e-mail la &lt;debian-l10-romanian@lists.debian.org&gt;, lista de discuții
       a traducerilor în limba romănă  a  progrmelor  și  documentelor  din  Debian,  sau  direct
       autorului acestei traduceri la &lt;remusgabriel.chelu@disroot.org&gt;