• # Catégorie d'utilisateur ?

    Posté par . En réponse au message Quel cryptage, quel format?. Évalué à 6.

    mais comment ce fait t'il qu'il n'est pas possible de modifier sa catégorie d'utilisateur?


    C'est quoi une catégorie d'utilisateur ?

    Si par là tu entends « une gestion des droits à la Windows », avec des bricolages style utilisateur ordinaires, utilisateurs avec pouvoir, administrateurs, etc., oui, tu risques d'être un peu dépaysé (je considère pour la suite que c'est à ce que tu penses).

    D'une part, sous Unix, il n'y a pas trente-six niveaux d'accréditation initiaux : il y a root, et il y a les utilisateurs ordinaires. Le root a le droit de faire absolument tout ce qui lui plaît sans restriction (ce qui n'est même pas garanti avec l'administrateur Windows), jusqu'à démolir le système dans son intégralité si cela lui chante. Par contre, il ne peut y en avoir qu'un seul, et il porte forcément le numéro « 0 ». C'est d'ailleurs à ça qu'on le reconnaît. Cela fait donc deux bonnes raisons pour ne jamais travailler en temps normal sous le compte root. Il faut plutôt le considérer comme un pseudo-user, un peu comme Dieu qui s'incarne en homme quand il vient nous rendre visite sur Terre (c'est dire si ça doit arriver souvent :-).

    Par contre, la devise d'UNIX est « tout est fichier », du moins en principe parce que cela a tendance à se perdre. Cela veut dire que toutes les ressources de ton système sont visibles sur le système de fichiers. En particulier, tous tes périphériques sont visibles sous la forme de « fichiers spéciaux », tous situés en pratique sous /dev.

    S'il y a une entrée dans le catalogue du disque pour ces fichiers, ils ne vont cependant pas correspondre à une quantité de données sur les secteurs de ce disque, mais à un sous-programme du noyau pilotant le périphérique concerné. Ainsi, en lisant le contenu de /dev/hda, tu peux voir le contenu de ton disque secteur par secteur. Sur /dev/hdc, tu tombes généralement sur ton lecteur de CD et tu peux faire la même chose (et donc créer une image de disque ISO), etc.

    C'est déjà très fort en soi parce que cela te permet d'exploiter directement tous tes périphs avec de simples commandes shell. Là où ça devient génial, c'est que tu peux de cette manière accorder des droits d'exploitation de tes ressources à certains utilisateurs de la même façon que tu leur donnerait des droits d'accès à tes documents (read-only, read-write, execution, etc.).

    Dès lors, tu n'as plus besoin de catégories d'utilisateurs écrites en dur dans ton système. Il suffit de créer des groupes, y placer les fichiers spéciaux concernés ainsi que les répertoires de travail (/var/spool pour les imprimantes, par exemple), puis y inclure les utilisateurs à privilégier.

    Un exemple qui fut pertinent mais qui tombe un peu en désuétude aujourd'hui était la gestion des ports série, à l'époque où on les trouvait encore par deux sur toutes les machines, et le premier recevait la souris car toutes les cartes n'étaient pas équipées du port PS/2 (une horreur dans sa conception, soit dit en passant). Le second recevait donc généralement le modem.

    On pouvait légitimement souhaiter qu'un utilisateur de base puisse utiliser la souris mais pas le modem. Pour cela, il faut donc laisser un port série en libre usage, mais verrouiller l'autre. Autant que je sache, ce n'était pas faisable simplement sous Windows. Sous Linux, il suffisait de mettre /dev/ttyS0 dans un groupe et /dev/ttyS1 dans un autre.


    Pour le reste, tu as eu le temps de lire les pages de manuel proposées ci-dessus. Pour l'histoire, /etc/passwd contenait initialement toutes les infos des utilisateurs (nom, prénom, login, et shell de travail), y compris le mot de passe sous forme codée. À l'époque, c'était largement suffisant. Aujourd'hui, des mots de passe même codés peuvent être facilement cassés, même par force brute. On a donc gardé les infos utilisateurs dans /etc/passwd par compatibilité, mais on a déporté les mots de passe codés dans /etc/shadow.

    Dans le principe, c'est un codage à sens unique. On ne peut pas retrouver mathématiquement le mot de passe à partir de sa forme codée. Par contre, on peut coder ce que l'utilisateur tape et vérifier si cela concorde avec ce qui est enregistré.