Les utilisateurs invisibles de Linux

Bonjour à tous, pour mon premier article sur le planet-libre, je voudrais faire part d’une réflexion qui m’interpelle depuis un moment concernant l’univers Linux : le fait que les utilisateurs non administrateurs soient exclus de toute la documentation/prise en main que l’on peut trouver sur le système. Je ne donne ici que quelques aspects de cette réflexion mais je pense qu’elle touche l’ensemble des participants au monde du libre.

La plupart des articles que l’on peut voir sur le net qui concernent l’utilisation du PC sous Linux restent limités à un point : souvent ils oublient le fait que plusieurs utilisateurs puissent être enregistrés sur le PC, et que tous ne soient pas forcément des administrateurs ( ceux qui peuvent avoir des droits root sur la machine ).
Pourquoi donc ? Est-ce que cela signifie que la plupart des linuxiens sont les seuls à utiliser le PC ? C’est possible, mais là n’est pas mon sujet. Je pense que le problème est que les utilisateurs sont pour l’instant invisible de la littérature sur Linux que l’on peut trouver sur le net. À la fois invisible du côté des distributions, et invisible du côté des communautés.

Le problème se retrouve présent dans deux aspects : d’une part dans la documentation s’adressant aux administrateurs, et d’autre part dans la documentaiton s’adressant aux utilisateurs.

Si l’on suit les manipulations que l’on peut trouver un peu partout sur le net, on trouve souvent des modifications qui ont pour conséquences de modifier la configuration générale du système, et l’on trouve plus souvent des modifications dans /etc/ que dans ~/.config/

Suivre les besoins des utilisateurs

Tous les utilisateurs n’utilisent pas forcément l’ordinateur de la même manière et il faut prévoir quels sont leurs besoin avant de se lancer dans une opération générale.
Par exemple, il n’y a pas longtemps était paru sur le planet-libre un article sur privoxy qui se terminait par une manière élégante d’utiliser privoxy sans configuration supplémentaire[1]. Or privoxy est lent pour traiter les sites puisant des ressources un peu partout — par exemple google news ou planet-libre (!) et se transformer en inconfort pour l’utilisateur.

Les mises à jour

Faire une mise à jour est toujours quelque chose de périlleux, et l’on ne sait pas forcément comment le système va réagir; entre le logiciel qui ne fonctionne plus car sa configuration a changé ou celui qui ne fonctionne plus car un bug a été introduit dans la nouvelle version, les risques sont possibles ( je n’ai par exemple pu plus lire de dvd lors de la mise à jour du noyau 2.6.30[2]… )
Je ne veux pas relancer le débat sur le packaging des distributions ( rolling release contre version fixes) mais le problème doit être posé : comment être sûr en faisant une mise à jour que l’on ne va pas casser tel composant ?

En plus des modifications générales sur la configuration que peuvent introduire les modifications, on peut se retrouver dans la situation inverse : l’utilisateur n’a pas le droit de visualiser les fichiers de logs, d’installer un paquet ou de modifier un fichier de configuration et ne pourra donc pas suivre la documentation qu’il peut trouver ici et là sur le net.

Pouvoir utiliser ses propres applications ?

Les distributions n’ont pour l’instant pas de solutions pour gérer l’installation de paquets par un utilisateur normal ( qui irait s’installer dans /opt// par exemple ), pouvant être installés sans droit root, et ne pouvant être exécutés que par l’utilisateur ayant fait son installation.

Utiliser des commandes non root

En fait, ce système que l’on nous décrit ouvert ne l’est réellement que si l’on est admin dessus. Pour les autres, la manipulation se limite à bash, python…
Dans la documentation, on trouve même des exemples demandant à l’utilisateur d’être root alors qu’une commande équivalente peut être lancée par un utilisateur normal ( par exemple $netstat -ie au lieu de #ifconfig )

Ce problème de l’utilisateur non root est pour l’instant contourné ( par exemple en configurant sudo dès l’installation ), mais il reste posé, et n’est jamais attaqué de front.

Le fait que cette situation ne soit jamais évoquée est pour moi significative de l’utilisation faite de linux aujourd’hui : bien loin du grand public. Nous sommes tous ici des utilisateurs bidouilleurs, et ne voyons pas forcément une utilisation quotidienne d’un utilisateur standard. Je ne veux pas en faire une généralisation sur l’avenir de Linux et une remise en cause nécessaire. Je pose juste ici un constat sur une situation qui est pour moi, encore trop souvent invisible.

[2] Artisan Numérique » Se prémunir des « SpyWebs » avec Privoxy
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=557340

9 commentaires pour “Les utilisateurs invisibles de Linux”

  1. macsim dit :

    Loin de moi l’envie d’être désagréable, mais tu ne me sembles pas très au point sur tout ce qui est en rapport a l’archi des distributions GNU/Linux, tu lèves des problèmes qui n’existe pas, et c’est uniquement parce-que tu mets le fonctionnement du système en parallèle avec l’utilisation desktop, ça n’a rien à voir.
    Par exemple, tu vois un problème avec root, mais root ne sert pas a lancer uniquement des mises à jours et quelques commandes de /sbin.

    Je ne trouve pas que la documentation pour les end-users soit inexistante, au contraire, combien d’article pour faire tel ou tel chose sous toutes distribution ? la documentation du site ubuntu-fr est AMHA rempli de bonne documentation pour les end-users.

  2. Dd dit :

    Si les utilisateurs peuvent installer des paquets en local, ce sera le bordel à gérer… Par exemple si l’utilisateur et l’admin installent le même logiciel ? un plus récent ? un plus ancien ?
    Au final on se retrouverait avec un ensemble de logiciels fournit par l’admin, et chaque utilisateur qui installe ses logiciels dans son coin.
    Je ne dis pas que c’est impossible mais ca compliquerait encore plus la vie des admins et des developpeurs (pas forcement celle des utilisateurs).

  3. Nico dit :

    En premier merci pour ton article qui est très intéressant.
    C’est ton premier sur le planet et ça commence bien.

    Sur le sujet des end-user c’est un peu compliqué. Effectivement pour des problèmes de sécurité et de confinement heureusement que les utilisateurs non admin d’une machine sont limité en droits. j’imagine pas apache m’installer des modules que je lui ai pas demandé ou pire même…

    La réflexion est simple : Qui peut changer les configurations des services d’une machine? un admin…
    Et ça ne doit jamais être le cas autrement sinon on appel ça un trou de sécu…

    Après j’ai du mal a comprendre qu’elle genre d’utilisateurs voudrai ces droits a part pour une utilisations détourné du système.

  4. Chimrod dit :

    macsim:
    > tu mets le fonctionnement du système en parallèle avec l’utilisation desktop, ça n’a rien à voir.

    En quoi l’utilisation du desktop n’a rien à voir avec le système ? C’est justement en disant que cela n’a rien à voir que l’on continue à nier les utilisateurs de base du système. Peut être est-il temps de mettre justement ces deux points en parallèles…

    > Par exemple, tu vois un problème avec root, mais root ne sert pas a lancer uniquement des mises à jours et quelques commandes de /sbin.
    Ah ? Et à quoi sert-il d’autre ?

    > Je ne trouve pas que la documentation pour les end-users soit inexistante, au contraire, combien d’article pour faire tel ou tel chose sous toutes distribution ? la documentation du site ubuntu-fr est AMHA rempli de bonne documentation pour les end-users.
    Je n’ai pas voulu citer de distributions en particulier, et je cherchais plus à mettre des mots sur un état d’esprit qui dit aujourd’hui que pour utiliser sa machine correctement, il faut obligatoirement avoir des droits d’admin. Les docs d’ubuntu indiquent-elles la possibilité d’installer des logiciels dans le /home ? Les documents que j’ai pu voir se faisaient plutôt à coup de apt://logiciel …

  5. DarkBaboon dit :

    Je pense que le problème que tu exposes à déjà été identifié bien en amont je pense puisque des projets comme ConsoleKit, qui gère les processus des différentes sessions utilisateurs, PolicyKit, qui permet à un logiciel qui a des droits restreints d’interagir avec des services privilégiés du système (typiquement l’interface utilisateur d’installation/suppression de programme utilisant le service avec privilège en root) et DeviceKit ont été créer afin de résoudre ce problème.

  6. feilong dit :

    Salut et bienvenue sur le planet libre.

    Tu nous exposes ici un faux problème. Tous les systèmes d’exploitation que je connaisse fonctionnent de la même manière : celle que tu nous décris.

  7. macsim dit :

    @Chimrod,

    « En quoi l’utilisation du desktop n’a rien à voir avec le système ? »

    Et bien le fonctionnement du système c’est le fait que le kernel reconnaissent ta carte réseau, sache que ta carte mère gère tel ou tel truc, que tel matériel est prioritaire sur tel autre matos, que le protocol tcp/ip est bien géré, tous ces truc n’ont rien a voir avec le end-user qui lance openoffice, le « système (kernel pour faire cour) » s’occupe par exemple que lorsque tu lance openoffice il n’écrase pas la mémoire utilisé par ton firefox. Donc tu voix bien qu’il y a un grand creux entre « système » et « utilisateur ».

    « Ah ? Et à quoi sert-il d’autre ? » (au sujet de l’utilisateur root »

    L’utilisateur root ou ID=0 c’est un status, il te permet de gérer l’accès au matériel (par exemple le formatage de ton disque dur), la gestion des utilisateurs (donc des autres id), pour partir dans le système le noyeau ce sert énormement de l’uid=0 sans que tu ne le sache, supprime la premiere ligne de ton /etc/passwd et reboot tu vas voir la tronche de ton pc ;) (je te conseille de testé sur une machine virtuelle ;) )

    Bonne journée a toi.

  8. tuxce dit :

    Il y a un point où je te rejoins tout à fait, le fait qu’on conseille de modifier un fichier de configuration système à la place d’un fichier dans le répertoire utilisateur quand ce n’est pas nécessaire, par contre ça ne s’applique qu’au blog et éventuellement à quelques pages wiki mais pour cette dernière, c’est souvent corrigé par une relecture.

    Pour le reste, la plupart des man, ou docs de soft indiquent la façon de configurer et les fichiers utilisateurs qui rentrent en compte.
    Pour « ifconfig » que tu cites en exemple, il est dans la majorité des distribs utilisable sans root et quand le root est requis, c’est pour modifier une configuration que tu ne peux pas faire avec « netstat », tu peux utiliser des softs comme networkmanager ou autre, mais c’est parce qu’il y a un daemon tournant en root et se focaliser sur ce genre de soft quand l’article ou doc n’est pas centrée dessus rend la doc trop spécifique, ifconfig existe partout, networkmanager non.
    Pour ce qui est des besoins des utilisateurs, par définition, personne ne les connaît tous, l’article sur privoxy répond au besoin de l’auteur, il ne le présente pas comme la solution miracle et c’est l’un des rares à détailler ses articles de telle façon à ce que la plupart puissent s’y retrouver et au minimum avoir des pistes pour continuer leur recherche.
    Et juste pour finir sur les mise à jour, les distributions linux sont basées sur un système de gestion de paquet, passer outre pour installer un soft pour le système est le meilleur moyen de tout casser et demande quand même les droits root, quant à l’installation sur son home, les softs proposant ceci l’expliquent sur leur site (firefox par exemple), pour les autres, c’est à coup de compilation avec modif de paramètres, si l’utilisateur peut faire ça, je pense qu’il saura faire la distinction entre root et utilisateur.

  9. François dit :

    Je pense aussi que tu soulèves un faux problème. C’est à l’administrateur d’être à l’écoute des utilisateurs sur leurs besoins. C’est à lui de faire en sorte que l’utilisateur possède les logiciels nécessaires à son activité. Si l’admin pense qu’un de ses utilisateurs a les compétances pour faires *certaines* actions, il peut alors utilisé sudo de manière *controlée*

    La personnalisation du système se fait effectivement soit dans /etc (paramètres globaux que l’admin choisi pour ses utilisateurs) et dans des $HOME/.* (généralement) pour des configurations persos : ex .bashrc, .vimrc .thunderbird .mozilla et j’en passe des centaines. Pour les outils CLI, la syntaxe dans /etc est la même que celle des fichiers dans le HOME. Tu peux faire man bash pour t’en convaincre.

    Le reste à déjà été dit.

Laisser un commentaire