En informàtica, el privilegi es defineix com la delegació d'autoritat per dur a terme funcions rellevants per a la seguretat en un sistema informàtic. Un privilegi permet a un usuari dur a terme una acció amb conseqüències de seguretat. Exemples de diversos privilegis inclouen la capacitat de crear un nou usuari, instal·lar programari o canviar les funcions del nucli.

Els usuaris als quals se'ls han delegat nivells addicionals de control s'anomenen privilegiats. Els usuaris que no tenen la majoria de privilegis es defineixen com a usuaris no privilegiats, normals o regulars.

Teoria Els privilegis poden ser automàtics, concedits o sol·licitats.

Un privilegi automàtic existeix quan no cal tenir permís per dur a terme una acció. Per exemple, en sistemes on es requereix que les persones iniciïn sessió en un sistema per utilitzar-lo, tancar la sessió no requerirà un privilegi. Els sistemes que no implementen protecció de fitxers, com ara MS-DOS, essencialment donen privilegis il·limitats per dur a terme qualsevol acció en un fitxer.

Un privilegi atorgat existeix com a resultat de la presentació d'alguna credencial a l'autoritat que atorga el privilegi. Això normalment s'aconsegueix iniciant la sessió a un sistema amb un nom d'usuari i una contrasenya, i si el nom d'usuari i la contrasenya proporcionats són correctes, l'usuari rebrà privilegis addicionals.

Un privilegi es sol·licita mitjançant un programa executat que emet una sol·licitud de privilegis avançats o executant algun programa per sol·licitar els privilegis addicionals. Un exemple d'un usuari que sol·licita privilegis addicionals el proporciona l'ordre sudo per executar una ordre com a superusuari (root) o el sistema d'autenticació Kerberos.

Les arquitectures de processadors modernes tenen múltiples modes de CPU que permeten que el sistema operatiu s'executi amb diferents nivells de privilegis. Alguns processadors tenen dos nivells (com ara usuari i supervisor ); els processadors i386 + tenen quatre nivells (el número 0 amb més privilegis, el número 3 amb menys). Les tasques estan etiquetades amb un nivell de privilegi. Els recursos (segments, pàgines, ports, etc.) i les instruccions privilegiades estan etiquetades amb un nivell de privilegi exigit. Quan una tasca intenta utilitzar un recurs o executar una instrucció privilegiada, el processador determina si té el permís (si no, es genera una interrupció de "falla de protecció"). Això evita que les tasques de l'usuari danyin el sistema operatiu o entre elles.

En la programació informàtica, les excepcions relacionades amb violacions d'instruccions privilegiades poden ser causades quan s'ha accedit a una matriu fora dels límits o s'ha desreferenciat un punter no vàlid quan la ubicació de memòria no vàlida a la qual es fa referència és una ubicació privilegiada, com ara una que controla l'entrada/sortida d'un dispositiu. Això és particularment més probable que passi en llenguatges de programació com ara C, que utilitzen aritmètica de punters o no comproven els límits de les matrius automàticament.

Crítica Mark Miller ha criticat la definició del privilegi com a poc definida i difícil de mesurar, i ha suggerit que l'autoritat es pot definir com el conjunt de coses que un programa pot fer, cosa que és més útil.

Unix En sistemes tipus Unix, el superusuari (conegut comunament com a "root") posseeix tots els privilegis. Els usuaris normals només tenen els permisos suficients per dur a terme les tasques més comunes. Els sistemes UNIX tenen funcions de seguretat integrades. La majoria dels usuaris no poden configurar un compte d'usuari nou ni fer altres procediments administratius. L'usuari "root" és un usuari especial, anomenat superusuari, que pot fer qualsevol cosa al sistema. Aquest alt grau de poder és necessari per administrar completament un sistema UNIX, però també permet que el seu usuari cometi errors i causi problemes al sistema.

Els usuaris sense privilegis normalment no poden:

Ajusta les opcions del nucli; modificar fitxers de sistema o fitxers d'altres usuaris. canviar la propietat de qualsevol fitxer; canviar el nivell d'execució (en sistemes amb inicialització d'estil System V); canviar el mode de fitxer de qualsevol fitxer; ajustar els límits màxims o les quotes de disc; iniciar, aturar i eliminar daemons; processos de senyalització d'altres usuaris; crear nodes de dispositiu; crear o eliminar usuaris o grups; muntar o desmuntar volums (tot i que cada cop és més comú permetre que els usuaris normals muntin i desmuntin suports extraïbles, com ara discs compactes; això normalment es fa mitjançant FUSE); executar el contingut de qualsevol directori sbin/ (tot i que cada cop és més comú restringir el comportament d'aquests programes quan els executen usuaris normals); vincular ports per sota de 1024.

Windows NT En sistemes basats en Windows NT, els privilegis es deleguen en diversos graus. Aquestes delegacions es poden definir mitjançant el gestor de polítiques de seguretat local (secpol.msc). A continuació es mostra una llista abreujada de les assignacions predeterminades:

'NT AUTHORITY\System' és l'equivalent més proper al Superusuari en sistemes tipus Unix. Té molts dels privilegis d'un superusuari clàssic d'Unix (com ara ser un administrador de tots els fitxers creats); «Administrador» és un dels equivalents més propers al superusuari (root) en sistemes tipus Unix. Tanmateix, aquest usuari no pot anul·lar tantes proteccions del sistema operatiu com el superusuari; els membres del grup «Administradors» tenen privilegis gairebé iguals als d'«Administrador»; Els membres del grup "Usuaris avançats" tenen la capacitat d'instal·lar programes i fer còpies de seguretat del sistema. Els membres del grup "Usuaris" són l'equivalent als usuaris sense privilegis en sistemes tipus Unix.

Windows defineix diversos privilegis administratius que es poden assignar individualment a usuaris i/o grups. Un compte (usuari) només té els privilegis que se li han concedit, ja sigui directament o indirectament a través de la pertinença a grups. En instal·lar-lo, es creen diversos grups i comptes i se'ls concedeixen privilegis. Tanmateix, aquestes concessions es poden canviar més endavant o mitjançant una política de grup. A diferència de Linux, no es concedeixen privilegis implícitament o permanentment a un compte específic.

Alguns privilegis administratius (per exemple, prendre possessió o restaurar fitxers arbitraris) són tan poderosos que, si s'utilitzen amb intencions malicioses, podrien permetre que tot el sistema es vegi compromès. Amb el control de comptes d'usuari (activat per defecte des de Windows Vista), Windows eliminarà aquests privilegis al testimoni de l'usuari en iniciar la sessió. Per tant, si un usuari inicia la sessió amb un compte amb privilegis de sistema amplis, encara no estarà executant amb aquests privilegis de sistema. Sempre que l'usuari vulgui realitzar accions administratives que requereixin algun dels privilegis del sistema, haurà de fer-ho des d'un procés elevat. Quan s'inicia un procés elevat, s'informa a l'usuari que els seus privilegis administratius s'estan afirmant mitjançant una sol·licitud que requereix el seu consentiment. No tenir privilegis fins que realment es requereixin és coherent amb el principi de mínims privilegis.

Els processos amb privilegis elevats s'executaran amb tots els privilegis de l' usuari, no amb tots els privilegis del sistema. Tot i això, els privilegis de l'usuari poden ser més grans que els necessaris per a aquest procés en particular, per tant, no seran completament els privilegis mínims.

El Windows ME, el Windows 98, el Windows 95 basats en DOS i les versions anteriors de Windows que no eren NT només funcionaven amb el sistema de fitxers FAT, no admetien els permisos del sistema de fitxers i, per tant, els privilegis es veuen anul·lats de manera efectiva en sistemes basats en Windows NT que no utilitzen el sistema de fitxers NTFS.

Referències

Categoria:Programari Categoria:Sistemes operatius Categoria:Privilegis