Journal Plusieurs sessions et droits

Posté par  .
Étiquettes : aucune
0
24
mar.
2004
Cher vous,

J'ai besoin d'un éclairsissement sur un problème que je n'arrive pas à régler rapidement (faute d'avoir cherché, mais pourquoi perdre du temps si d'autres ont la solutions...) :
Quand je me loggue sous mon user (seb), et que je regarde les droits de /dev/hdx ou /dev/dsp par exemple j'ai les droits suivants :

rw------- seb disks ...blabla... /dev/hdc

Ok. Je ferme ma session et me loggue sous un autre nom (steph) :

rw------- steph disks ...blabla... /dev/hdc

Maintenant je suis sous X (et KDE) et j'ouvre deux sessions en même temps, la premier au nom de seb, la seconde au nom de steph (KDE 3.2.1 est cool !).

Mon /dev/hdc appartient à seb/disks avec les droits rw- --- ---. Donc steph (sous lequel, honte à moi j'ai lancé wine+dvdshrink) ne peux pas y accéder. Pour le son, idem : c'est le premier qui ouvre une session qui possède tous les droits et donc pas de son.

Question : quel est le mécanisme modifiant dynamiquement le user et les droits sur les périphériques ? Et dans ce cas quel est l'intéret d'avoir un groupe disks ou sound ou video si l'appartenance à ce groupe ne permet pas d'avoir des droits sur ces périphériques ?

Avec arts/alsa on peut bien jouer plusieurs sons en même temps ? Et pourquoi par exemple un autre utilisateur n'aurait pas le droit de lire /dev/hdd ?

Help !
  • # Re: Plusieurs sessions et droits

    Posté par  . Évalué à 2.

    Euh... jvais en parler a mon prof d'unix :-)
    • [^] # Re: Plusieurs sessions et droits

      Posté par  . Évalué à 1.

      :-)

      Les réponses ci-dessous t'apprendront qu'il s'agit plus d'un "problème" (plutôt un mécanisme de sécurité) propre à certaines distribs Linux que Unix en général. Et même les maîtres en apprennent tous les jours, jeune padawan !
  • # Commentaire supprimé

    Posté par  . Évalué à 1.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # Re: Plusieurs sessions et droits

    Posté par  . Évalué à 1.

    Si tu as Mandrake, c'est msec qui fais ça, il attribue les devices à l'utilisateur qui se connecte et régulièrement il va corriger des droits un peu partout.

    A voir :
    /etc/security/console.perms

    et cron qui lance un msec régulièrement
    • [^] # Re: Plusieurs sessions et droits

      Posté par  . Évalué à 1.

      mais pourquoi ça utilise pas des groupes ??
      • [^] # Re: Plusieurs sessions et droits

        Posté par  . Évalué à 2.

        0660 0660 root.usb
        0660 0660 root.usb
        0660 0660 root.video


        Ca utilise les groupes mais par defaut les perms sont en 600 et non 660. Suffit de corriger ca. Apres pourquoi mdk ne met pas les utilisateurs dans les bons groupes en demandant si l'utilisateur est local ou non. C'est une autre affaire :-)
    • [^] # Re: Plusieurs sessions et droits

      Posté par  . Évalué à 3.

      Pourquoi mandrake ?!!!!!

      effectivement c'est bien /etc/security/console.perm qui regle ca mais ce n'est *ABSOLUMENT* pas made in mandrake et effectué par msec.

      Ceci est fait par le module pam pam_console quand tu te log.

      exemple :
      --------------- /etc/pam.d/gdm ---------------
      #%PAM-1.0
      auth required pam_env.so
      auth required pam_stack.so service=system-auth
      auth required pam_nologin.so
      account required pam_stack.so service=system-auth
      password required pam_stack.so service=system-auth
      session required pam_stack.so service=system-auth
      session optional pam_console.so
      -------------------------------------------------------

      Hop on voit le pam_console dans la pile auth. Donc apres on va voir http://www.kernel.org/pub/linux/libs/pam/modules.html(...) et man 8 pam_console.
      On y apprend que /etc/security/console.perm est utilisé pour definir les permissions et l'appartenance. On l'ouvre et au miracle, le format y est documenté a l'interieur (bon c'est pas super clair au debut). Enfin tout ce que tu as a faire c'est de passer un 660 les trucs qui t'interesse et creer des groupes si besoin est.

      Voila. Donc msec n'y est pour rien et ce n'est clairement pas un crontab. Debian fait exactement la meme chose, et si la distrib ne le fait pas par defaut il suffit alors de rajouter le module dans la pile session.
      • [^] # Re: Plusieurs sessions et droits

        Posté par  . Évalué à 1.

        Merci pour cette réponse. Je vais appliquer ça ce soir dès que je rentre chez moi.
      • [^] # Re: Plusieurs sessions et droits

        Posté par  . Évalué à 1.

        Bon alors sous SUSE (en tout cas la 9.0) ils emploient plutôt un module PAM du nom de pam_devperm, qui est dédié aux fichiers périphériques.

        Son fichier de configuration est /etc/logindevperm et sa syntaxe est la suivante :

        login_device octal_permission_number list_of_devices

        login_device : /dev/console ou /dev/tty1 ou encore :0 pour xdm ou encore * pour tous
        octal_permission : 0600 ou encore 0660 (ce que je vais mettre)
        list_of_devices : /dev/fd0:dev/hdc (séparé par des :)

        Ouf ! Ca permet d'être bien plus sélectif que pam_console, mais la syntaxe est moins light...
        • [^] # Re: Plusieurs sessions et droits

          Posté par  . Évalué à 2.

          pourquoi bien plus selectif ?

          Je vois pas ce qu'implemente pam_devperm que ne pourrait pas faire pam_console. Tu peux me preciser ce dont ne serait pas capable pam_console ca m'interesse (et j'avoue que je ne connaissais pas ce module). Sur ce je vais voir la doc si doc il y a.
          • [^] # Re: Plusieurs sessions et droits

            Posté par  . Évalué à 2.

            La gestion des droits pour chaque console ?
            • [^] # Re: Plusieurs sessions et droits

              Posté par  . Évalué à 1.

              Loupé :-)

              # format is:
              # =list of regexps specifying consoles or globs specifying files
              # file-glob| perm dev-regex|<dev-class> \
              # revert-mode revert-owner[.revert-group]
              # the revert-mode, revert-owner, and revert-group are optional, and default
              # to 0600, root, and root, respectively.


              # file classes -- these are regular expressions
              =tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9]
              =:[0-9]\.[0-9] :[0-9]


              0600 0660 root.disk
              0600 0660 root.disk
              0600 /dev/console 0600 root.root
              0600 0600 root


              Tu peux tres bien definir des regles d'access par console si tu le veux.
              • [^] # Re: Plusieurs sessions et droits

                Posté par  . Évalué à 1.

                humpf templeet a bouffe les chevrons

                [console]==tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9]
                [xconsole]==:[0-9]\.[0-9] :[0-9]



                [console] 0600 [fb] 0600 root
                [console] 0600 [kbd] 0600 root

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.