Xcode et les comptes standards

Si vous êtes comme moi, vous avez configuré votre compte utilisateur courant pour ne pas être un administrateur (ou tout au plus un sudoers) et vous avez un second compte présent uniquement pour les tâches administratives. Seul problème, Xcode semble avoir besoin de travailler sur un compte administrateur pour pouvoir fonctionner correctement. Voyons voir comment résoudre durablement ce problème.

Si nous analysons le problème en détail, nous voyons que le compte administrateur est nécessaire dans deux cas :

  • Le lancement d’une session de debug
  • L’installation d’une nouvelle doc

Si l’on regarde le contenu de /etc/authorization, nous pouvons nous apercevoir que Xcode dispose d’une entrée le concernant :

        authenticate-developer = Dict {
            shared = true
            timeout = 36000
            class = user
            group = _developer
            comment = Authenticate as a developer.
        }

Xcode, lors de son installation, crée un groupe _developer qui contient les personnes autorisées à agir en développeur authentifié. Si l’on fait une recherche avec Workgroup Manager sur une machine cliente (cmd + D à la fenêtre d’authentification de WGM) nous pouvons voir, en affichant les groupes systèmes, qu’il y a deux groupes locaux répondant au doux nom de développeur :

Le groupe Developer Tools contient les administrateurs et le groupe Developer Documentation contient l’utilisateur du même nom.

Malheureusement, les droits d’accès conséquents à l’installation d’Xcode font que le groupe devdocs ne sert (à priori) à rien. Un ls -le /Developer/Documentation/DocSets vous montrera que l’utilisateur propriétaire est bien devdocs mais le groupe est wheel…

La manipulation est donc très simple (mais ne concernera que le debug), il suffit de vous rajouter sur votre machine locale dans le groupe Developer Tools.

Oui, mais…

En tant qu’administrateur-système, j’aime me simplifier la vie (comment ça, on dirait pas ?!). J’utilise pour mon usage personnel un Open Directory qui me sert à gérer de manière unifiée mes deux Mac Book Pro ainsi que mon Mac Pro. L’idée serait de profiter de cette structure pour n’avoir à faire cette manipulation qu’une seule et unique fois.

Le principe est donc très simple, sur mon Open Directory je vais créer le groupe en question en faisant attention à une chose, le GID doit être conservé. Un coup d’export/import, et l’affaire est dans le sac ! Inutile de supprimer le groupe existant sur vos clients.

Laisser un commentaire