Sudo : probleme de password

Résolu
amine -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,
je viens de configurer le fichier /etc/sudoers afin de pouvoir lancer les commandes startadsl et stopadsl (j'utilise un sagem fast800 avec eagle-usb) en tant qu'utilisateur normal ...

çà marche bien, mais seul problème c'est que je veux qu'il me demande mon mot de passe utilisateur avant de se connecter ou de couper la connexion quand je lance la commande :
sudo /usr/sbin/startadsl (ou stopadsl)

et non pas que la commande s'execute directement comme c'est le cas, à signaler que j'ai pas mis l'option NOPASSWD dans le fichier de config, le voici :

....
# User alias specification
User_Alias USER_1=amine
# Cmnd alias specification
Cmnd_Alias ADSL=/usr/sbin/startadsl,/usr/sbin/stopadsl

# Defaults specification

# User privilege specification
root ALL=(ALL) ALL
USER_1 ALL=(ALL) ADSL

# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now

#FIN

quelqu'un saurait-il comment faire çà ?
Configuration: mandrake 10.0; kernel 2.6

8 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    si tu écrit seulement
    USER_1 ALL = ADSL

    ça donne quoi?
    1
    1. amine00 Messages postés 142 Statut Membre 33
       
      en fin de compte çà ne marche pas, je ne sais pas pourquoi mais çà a marché du premier coup, ensuite pour retester je suis revenu à mon ancienne config puis j'ai re supprimé (ALL), et çà n'a rien donné, il me demande pas de password ... c bizzare
      0
  2. amine00 Messages postés 142 Statut Membre 33
     
    merci, çà résout mon problème; mais peux-tu m'expliquer le rôle de la directive (ALL)...
    1
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Quand tu dit
    USER_1 ALL=(ALL) ADSL

    en fait tu n'as pas besoin d'écrire ADSL parce (ALL) donne à ton utilisateur (en l'occurence toi) les droits de root.
    Donc tu touches à tout et ce n'est pas ça que tu veut.

    Tu peut utiliser la commande sudo -l pour afficher les commandes que l'utilisateur à le droit.

    Tu peut revenir à ta configuration et fait sudo -l
    Après enleve ALL et fait sudo -l
    Tu verras la différence.
    Pour modifier ou écrire /etc/sudoers tu peut utiliser la commande
    visudo
    en tant que root.
    1
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Surtout il faut enlever (ALL).
    Je vais regarder pour le password.
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Je t'explique pourquoi.

    Une fois le mot de passe entré, l'utilisateur peut continuer à utiliser sudo pendant certain temps sans autre forme d'authéntification; par défaut c'est 5 minutes.

    Regarde dans man sudo.
    avec
    sudo -K
    tu mets fin à cette période
    sudo -v
    tu peut augmenter cette période avec encore 5 min
    1
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Donc encore une fois (ALL) faut le supprimer.
    USER_1 ALL=ADSL

    Ca veut dire que l'utilisateur a le droit d'éxécuter sur toutes les machines de réseau la commande ADSL.
    Si tu mets
    USER_1 ALL=(ALL) ADSL

    Ca veut dire que l'utilisateur a le droit d'éxécuter sur toutes les machines de réseau toutes les commandes root.
    1
    1. amine00 Messages postés 142 Statut Membre 33
       
      merci, je viens de remarquer qu'il y'avait un timer; donc un souci qui est reglé..
      par contre pour l'option (ALL); je te confirme que même en la mettant, l'utilisateur n'a pas la main sur toutes les commandes de root; j'ai fait un test avec init :

      [amine@localhost amine]$ sudo /sbin/init 0
      Sorry, user amine is not allowed to execute '/sbin/init' as root on localhost.

      et avec adduser :

      [amine@localhost amine]$ sudo /usr/sbin/adduser
      Sorry, user amine is not allowed to execute '/usr/sbin/adduser' as root on localhost.

      je me demande bien à quoi sert le deuxième (ALL), mais si je comprends bien, je crois qu'en mettant des ALL partout qu'on a la main sur toutes les commandes root :
      USER_1 ALL = (ALL) ALL
      0
    2. amine00 Messages postés 142 Statut Membre 33
       
      à signaler :

      quand je met : USER_1 ALL= ADSL
      çà donne :

      [amine@localhost amine]$ sudo -l
      User amine may run the following commands on this host:
      (root) /usr/sbin/startadsl, /usr/sbin/stopadsl


      quand je met : USER_1 ALL= (ALL) ADSL
      çà donne :

      [amine@localhost amine]$ sudo -l
      User amine may run the following commands on this host:
      (ALL) /usr/sbin/startadsl, /usr/sbin/stopadsl
      0
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Je crois que si tu écrit (ALL)

    voir la ligne de fichier /etc/sudoers

    #%users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom

    C'est en fait comme un alias pour toutes les commandes que l'utilisateur peut éxécuter.

    Je vais me renseigner plus précisement pour ne pas dire des betisses.
    Mais pour l'instant tant que ça marche utilise seulememnt ADSL (tant que tu n'es pas sûr(e) pour des raisons de sécurité.
    1
    1. amine00 Messages postés 142 Statut Membre 33
       
      voilà, après avoir lu quelques doc trouvés sur google, je commence à comprendre quelques trucs, espèrant que je me trompe pas :

      1er cas :
      USER_1 ALL=(ALL) ADSL

      les utilisateurs défini dans l'alias USER_1 peuvent executer à partir de toutes les machines (premier ALL), et pour le compte de n'importe qui (deuxième ALL), les commandes définis dans l'alias ADSL.

      2eme cas :
      USER_1 ALL=(ALL) ALL

      en + du 1er cas, là on a le droit à toutes les commande (3eme ALL).

      4eme cas :
      USER_1 ALL=ADSL
      USER_1 ALL=ALL

      même chose que le 1er cas et 2eme cas respectivement , sauf que les commandes sont exécutées pour le compte de root, puisque quand le (ALL) qui est entre paranthèses est enlevé, les commandes sont par défaut exécutés pour le compte de root,

      5eme cas :
      USER_1 ALL=(user1) ADSL
      USER_1 ALL=(user1) ALL

      même chose sauf que la main est mise sur les commandes de l'utilisateur user1 (on peut donc tout faire dans /home/user1, voir tout detruire )...

      enfin, y'a plusieurs autres cas possibles relatives au premier ALL et je suppose aussi aux utilisateurs, je me demande si ce cas existe :
      ALL ALL = ADSL
      je suppose que oui...
      je te signale que j'ai pas testé tous ces cas de figures; et encore merci
      0
  9. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Tu ne te trompes pas.
    Mais mon opinion c'est que tant que root peut spécifier dans les plus petites détails les droits d'access pour les utilisateurs c'est mieux qu'il garde ALL pour lui.

    Moi aussi je suis arrivé à la conclusion (voir le 1 cas)

    A+

    Merci à toi
    0