View Tips and Tricks-Schimbare de uid si gid
Fiecărui utilizator și fiecărui grup îi sunt atribuite câte un număr de identificare UID=UserID, GID=GroupID. Acest ID este asociat cu toate fișierele, directoarele și procesele unui sistem de operare. Cand se crează un nou utilizator sau grup, UID-ul si GID-ul sunt generate automat, dar pot fi și specificate manual.
Schimbarea acestor ID-uri e necesară într-o rețea unde se folosesc resurse comune, ca de exemplu directoarele publice din rețea.
În primul rând trebuie să afli uid-ul și gid-ul curent al userului:
id floffy
uid=500(floffy) gid=500(floffy) groups=500(floffy)
Schimbarea id-urilor userului și al grupului
Pentru această schimbare trebuie folosit un user cu drepturi de admin, dar nu acel user ale cărui id-uri se schimbă.
În primul rând trebuie să ne asigurăm că nu rulează nici un proces al userului respectiv:
ps -U floffy
Dacă rulează vreun proces, asigură-te ca userul nu e logat, apoi închide procesul.
Schimbă id-ul userului în felul următor:
niutil -createprop . /users/floffy uid 500
Apoi verifică:
niutil -read . /users/floffy | grep '^uid'
Schimbă id-ul grupului:
niutil -createprop . /groups/floffy gid 500
Apoi verifică:
niutil -read . /groups/floffy | grep '^gid'
Schimbă grupul primar al userului:
niutil -createprop . /users/floffy gid 500
Apoi verifică:
niutil -read . /users/floffy | grep '^gid'
Repară informațiile despre proprietarul fișierelor
Dupa ce id-ul userului și al grupului au fost schimbate, fișierele existente trebuie reparate, în sensul că informațiile referitoare la proprietatul acestora trebuie să fie corectate:
find /Users/floffy -user 501 -exec chown 500 {} \;
find /Users/floffy -group 501 -exec chgrp 500 {} \;
find /Library -user 501 -exec chown 500 {} \;
find /Applications -user 501 -exec chown 500 {} \;
find /usr -user 501 -exec chown 500 {} \;