Identificador d'usuari

De la Viquipèdia, l'enciclopèdia lliure

Els sistemes operatius semblants a Unix identifiquen un usuari mitjançant un valor anomenat identificador d'usuari, sovint abreujat com a ID d'usuari o UID. L'UID, juntament amb l'identificador de grup (GID) i altres criteris de control d'accés, s'utilitza per determinar a quins recursos del sistema pot accedir un usuari. El fitxer de contrasenyes associa els noms d'usuari textuals als UID. Els UID s'emmagatzemen als inodes del sistema de fitxers Unix, als processos en execució, als arxius tar i al Servei d'Informació de Xarxa, ara obsolet. En entorns compatibles amb POSIX, l'id de l'ordre d'intèrpret d'ordres proporciona l'UID de l'usuari actual, així com més informació com ara el nom d'usuari, el grup d'usuaris principal i l'identificador de grup (GID).[1][2]

Atributs del procés[modifica]

L'estàndard POSIX va introduir tres camps d'UID diferents a la taula de descriptors de processos, per permetre que els processos privilegiats assumeixin diferents rols de manera dinàmica:

Identificador d'usuari efectiu[modifica]

L'UID efectiu (euid ) d'un procés s'utilitza per a la majoria de comprovacions d'accés. També s'utilitza com a propietari dels fitxers creats per aquest procés. El GID (egid ) efectiu d'un procés també afecta el control d'accés i també pot afectar la creació de fitxers, depenent de la semàntica de la implementació específica del nucli en ús i possiblement de les opcions de muntatge utilitzades. Segons la semàntica de BSD Unix, la propietat del grup donada a un fitxer de nova creació s'hereta incondicionalment de la propietat del grup del directori en què es crea. D'acord amb la semàntica AT&T UNIX System V (també adoptada per les variants de Linux), un fitxer de nova creació normalment se li dóna la propietat del grup especificada per l' egid del procés que crea el fitxer. La majoria dels sistemes de fitxers implementen un mètode per seleccionar si s'ha d'utilitzar la semàntica BSD o AT&T pel que fa a la propietat del grup d'un fitxer creat recentment; La semàntica BSD es selecciona per a directoris específics quan s'estableix el permís S_ISGID (s-gid).

Identificació d'usuari desada[modifica]

L'ID d'usuari desat s'utilitza quan un programa que s'executa amb privilegis elevats necessita fer alguna feina sense privilegis temporalment; canviar euid d'un valor privilegiat (normalment 0 ) a algun valor sense privilegis (qualsevol cosa que no sigui el valor privilegiat) fa que el valor privilegiat s'emmagatzemi a suid.[3] Més tard, euid d'un programa es pot tornar al valor emmagatzemat a suid, de manera que es puguin restaurar els privilegis elevats; un procés sense privilegis pot establir el seu euid en un dels tres valors: el valor de ruid, el valor de suid o el valor d' euid.

Identificador d'usuari real[modifica]

L'UID real (ruid ) i el GID real (rgid ) identifiquen el propietari real del procés i afecten els permisos per enviar senyals. Un procés sense privilegis de superusuari només pot indicar un altre procés si el ruid o euid del remitent coincideix amb ruid o suid del receptor. Com que un procés secundari hereta les seves credencials del seu pare, un fill i un pare poden indicar-se mútuament.

Convencions[modifica]

POSIX requereix que l'UID sigui un tipus enter. La majoria dels sistemes operatius semblants a Unix representen l'UID com un nombre enter sense signe. La mida dels valors UID varia entre els diferents sistemes; alguns SO UNIX utilitzava valors de 15 bits, permetent valors fins a 32767, mentre que altres com Linux (abans de la versió 2.4) admetien UID de 16 bits, fent possibles 65536 ID únics. La majoria dels sistemes moderns semblants a Unix (per exemple, Solaris 2.0 el 1990, Linux 2.4 el 2001) han canviat a UID de 32 bits, permetent 4.294.967.296 (2³²) ID únics.

Referències[modifica]

  1. «How to Find a User's Security Identifier (SID) in Windows» (en anglès). [Consulta: 13 desembre 2023].
  2. «What is UID in Linux? How to Find UID of a User?» (en anglès), 02-08-2019. [Consulta: 13 desembre 2023].
  3. «Setuid Demystified» (en anglès). Cs.berkeley.edu. [Consulta: 24 setembre 2016].