Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/08/2010, à 16:36

Zalian

Se passer du sudo pour UNE commande précise [Résolu]

Salutation !

Je cherche à automatiser la création de compte SFTP. Étant donné que la console me demande normalement le "nouveau mot de passe UNIX : " etc, je me suis dirigé vers le langage Expect qui permet de répondre automatiquement.
Voici mon petit script Expect :

#!/usr/bin/expect -f

set user [lindex $argv 0]
set pass [lindex $argv 1]

spawn sudo adduser --home /home/$user --shell /bin/MySecureShell $user

expect "Password:"
send -- "MyRootPass\r"
expect "Entrez le nouveau mot de passe UNIX :"
send -- "$pass\r"
expect "Retapez le nouveau mot de passe UNIX :"
send -- "$pass\r"
expect "Nom complet []: "
send -- "$user\r"
expect "N° de bureau []: "
send -- "\r"
expect "Téléphone professionnel []: "
send -- "\r"
expect "Téléphone personnel []: "
send -- "\r"
expect "Autre []: "
send -- "\r"
expect "Ces informations sont-elles correctes ?"
send -- "o\r"

Il marche smile Le problème : je n'aime pas du tout stocker mon mot de passe root dans un petit fichier expect... Je trouve cela plutôt dangereux. Je voudrais donc pouvoir éviter de taper sudo pour la commande adduser, comment puis-je faire? J'aimerais également que seul mon compte linux puisse le faire sans sudo, comment puis-je faire?

Si ce n'est pas possible, auriez-vous une autre solution?

Merci de votre aide !

Dernière modification par Zalian (Le 04/08/2010, à 10:02)

Hors ligne

#2 Le 03/08/2010, à 16:38

iuchiban

Re : Se passer du sudo pour UNE commande précise [Résolu]

Salut,

Il te faut ajouter ton script dans le fichier sudoers
http://doc.ubuntu-fr.org/sudoers#executer_des_taches_d_administration_sans_mot_de_passe


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#3 Le 03/08/2010, à 16:43

sensini

Re : Se passer du sudo pour UNE commande précise [Résolu]

je pense qu'avec visudo ça doit être possible. Quelque chose comme

zalian ALL=(root) NOPASSWD: /usr/sbin/adduser

Jette un coup d'œil là dessus sinon http://doc.ubuntu-fr.org/sudoers


http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)

Hors ligne

#4 Le 03/08/2010, à 17:12

Zalian

Re : Se passer du sudo pour UNE commande précise [Résolu]

Merci de votre aide !

Voilà ce que j'ai rajouté :

zalian ALL=NOPASSWD: /usr/sbin/adduser

Dois-je rallumer la machine pour que les modifications prennent effet? Pour l'instant, il me dit toujours "adduser : Seul le superutilisateur peut ajouter un utilisateur ou un groupe
sur le système."

Dernière modification par Zalian (Le 03/08/2010, à 17:12)

Hors ligne

#5 Le 03/08/2010, à 17:24

sensini

Re : Se passer du sudo pour UNE commande précise [Résolu]

salut, je pense que le (root) après le = est nécessaire dans ton cas.
peux-tu réessayer avec ?


http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)

Hors ligne

#6 Le 03/08/2010, à 17:27

Zalian

Re : Se passer du sudo pour UNE commande précise [Résolu]

Même erreur neutral

Edit : avec zalian ALL=(ALL) NOPASSWD: /usr/sbin/adduser également. Je pense que je suis obligé de redémarrer mon serveur... Tu ne penses pas?

Dernière modification par Zalian (Le 03/08/2010, à 17:29)

Hors ligne

#7 Le 04/08/2010, à 08:49

sensini

Re : Se passer du sudo pour UNE commande précise [Résolu]

Salut,
ben j'espère que c'est le cas, car si même ça ne marche pas, je ne vois pas ce que ça peut être d'autres…
désolé


http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)

Hors ligne

#8 Le 04/08/2010, à 08:52

credenhill

Re : Se passer du sudo pour UNE commande précise [Résolu]

hello
la ligne doit être à la fin du fichier

Hors ligne

#9 Le 04/08/2010, à 09:11

Zalian

Re : Se passer du sudo pour UNE commande précise [Résolu]

Je pense que l'emplacement de la ligne à peu d'importance :

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset,insults # J'ai activé les insultes -> voir plus bas.

# Uncomment to allow members of group sudo to not need a password
# %sudo ALL=NOPASSWD: ALL

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL
zalian   ALL=(ALL) NOPASSWD: /usr/sbin/adduser # Je pense que l'emplacement reste correct...

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

* J'ai activé les insultes pour voir si les modifications prenaient effets dès l'enregistrement du fichier. Apparemment oui, je n'ai pas eu besoin de reboot et j'ai eu le droit a des insultes lorsque j'ai fait exprès de me tromper de mot de passe tongue
Malheureusement, pour adduser... " zalian@ks0006:~$ adduser
adduser : Seul le superutilisateur peut ajouter un utilisateur ou un groupe
sur le système." Rien n'y fait...

Halp !

Dernière modification par Zalian (Le 04/08/2010, à 09:16)

Hors ligne

#10 Le 04/08/2010, à 09:20

Sciensous

Re : Se passer du sudo pour UNE commande précise [Résolu]

en fait l'astuce est de lancer adduser avec:

 sudo adduser

!!!!!
(sauf qu'il ne demande plus le mot de passe wink )
cool

EDIT: comme credenhill, je mettrais la commande à la fin (cf post dessous)
avec un commentaire genre
#mes privileges particuliers

Dernière modification par Sciensous (Le 04/08/2010, à 09:25)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#11 Le 04/08/2010, à 09:22

credenhill

Re : Se passer du sudo pour UNE commande précise [Résolu]

Zalian a écrit :

Je pense que l'emplacement de la ligne à peu d'importance :

faux !!
les régles après la tienne vont l'annuler

Hors ligne

#12 Le 04/08/2010, à 09:27

Zalian

Re : Se passer du sudo pour UNE commande précise [Résolu]

J'ai eu un espoir Sciensous en me disant " A mais ouiiiiiiiiii "

..

Mais non lol

sudo adduser
[sudo] password for zalian:

faux !!
les régles après la tienne vont l'annuler

Tu en est sûr ? Même si dans sudoers il est précisé "# User privilege specification" ?
J'ai tout de même essayé et copié/collé ma ligne à la fin du fichier, rien n'a changé.

Hors ligne

#13 Le 04/08/2010, à 09:33

Sciensous

Re : Se passer du sudo pour UNE commande précise [Résolu]

j'ai quelques lignes comme ça dans mon sudoers
toutes à la fin et ça marche.

le plus que j'ai (je sais pas si ça change beaucoup): je passe par des alias de commande:

dans ton cas:

# Cmnd alias specification
Cmnd_Alias     USERMOD = /usr/sbin/adduser

et à la fin:

zalian   ALL=(ALL) NOPASSWD: USERMOD

antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#14 Le 04/08/2010, à 09:35

Zalian

Re : Se passer du sudo pour UNE commande précise [Résolu]

J'ai laissé la ligne à la fin du fichier, et j'ai pris en compte ton astuce Sciensous. Apparemment, il ne m'a rien demandé, mais j'ai exécuté plusieurs commandes sudo en donnant le mot de passe.. du coup, ça me laisse rêveur tongue Marchera ou marchera pas? J'essayerais plus tard.

je vous tien au courant wink

Merci de votre aide !

Edit : Je viens de lire ton dernier message Sciensous. Si jamais ça ne marche pas, je testerais ton astuce. Je te tien au courant. Merci wink

Dernière modification par Zalian (Le 04/08/2010, à 09:36)

Hors ligne

#15 Le 04/08/2010, à 09:38

Sciensous

Re : Se passer du sudo pour UNE commande précise [Résolu]

as-tu pensé à réactualiser le shell ?
en en ouvrant un autre par exemple

(ou un sudo -v)

Dernière modification par Sciensous (Le 04/08/2010, à 09:47)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#16 Le 04/08/2010, à 10:02

Zalian

Re : Se passer du sudo pour UNE commande précise [Résolu]

Apparemment, il ne me demande plus le mot de passe pour un sudo adduser !!

Merci beaucoup à Sciensous et Credenhill pour les astuces lol et merci aussi à tous les autres qui me sont venu en aide ! cool

- Zalian

Hors ligne