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 19/08/2008, à 19:19

Christophe C

Désactiver le mot de passe sur un script

Bonjour, j'espère être dan le bon forum.

Voila, j'ai un fichier "son.sh", avec à l'intérieur 1 seule ligne de commande :

gksu alsa force-reload

J'aurais besoin de désactiver la demande du mot de passe super-user sur ce script. Pourriez-vous m'indiquer comment faire ?

J'ai cru comprendre qu'il existait une méthode générale (plus de mot de passe du tout sur ttes les commandes sudo) et une méthode spécifique (qui limite la suppression du MDP à la seule opération voulue). Pour des raisons de sécurité, je préfère la méthode spécifique, si elle existe bien.

Etant archi-nul en la matière, si vous avez une solution, merci de bien me donner les étapes, sinon je n'y arriverai pas.

Cordialement.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#2 Le 19/08/2008, à 21:03

rniamo

Re : Désactiver le mot de passe sur un script

lancer le script avec sudo ? ou supprimer le mot de passe de linux ...


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#3 Le 20/08/2008, à 07:07

Christophe C2

Re : Désactiver le mot de passe sur un script

Que je lance la commande avec gksu ou sudo, il me demande toujours le mot de passe, non ? (je ne suis pas sur ma bécane, donc je ne peut pas tester, mais je ne vois pas ce que cela change)

Quand à supprimer le mot de passe pour l'utilisateur, comme je l'ai dit, je préfère éviter. Sauf erreur, on peut supprimer le MDP pour une commande seule (voir pour un script seul ?). C'est cela que je voudrais faire.

#4 Le 20/08/2008, à 07:46

valAa

Re : Désactiver le mot de passe sur un script

coucou,

http://doc.ubuntu-fr.org/sudo#options

[edit] attention, ne jamais modifier le fichier sudoers directement, toujours utiliser la commande visudo

Dernière modification par valAa (Le 20/08/2008, à 07:47)

Hors ligne

#5 Le 20/08/2008, à 08:14

joshy

Re : Désactiver le mot de passe sur un script

Salut

Une autre méthode est de mettre le mot de passe dans le script shell et de compiler le script avec shc, ce qui donnera un binaire crypté où le mot de passe ne sera donc plus accessible.

Pour mettre le mot de passe directement dans le script ça doit être quelque chose comme ça :

echo motdepasse | sudo -S alsa force-reload

(à vérifier)

Pour compiler le script, c'est :

shc -f son.sh

ce qui donnera un fichier son.sh.x, et après tu pourras effacer ton son.sh (ou juste le mot de passe dans celui-ci)
(il faut installer shc avant, il est présent dans les dépôts)

#6 Le 20/08/2008, à 08:32

Totor

Re : Désactiver le mot de passe sur un script

Cela présente tout de même un inconvénient :
En cas de modification du mot de passe, il faut recréer le binaire...:rolleyes:

Bon, ce n'est pas quelque chose qui arrive tous les jours, surtout pour un SU ....


-- Lucid Lynx --

Hors ligne

#7 Le 20/08/2008, à 08:48

rniamo

Re : Désactiver le mot de passe sur un script

si le script doit être portable (changement de pc) le lancer avec sudo ou gksudo suffit (éviter gksu). Si c'est pour un seul pc les posts pécédents sont nikels.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#8 Le 20/08/2008, à 08:59

Christophe C2

Re : Désactiver le mot de passe sur un script

re-Bonjour

Merci pour vos réponses à tous. Oui, le script sera utilisé pour un seul PC.

Pour l'instant, je vais essayer la première méthode proposée (celle sans compilation). Le lien http://doc.ubuntu-fr.org/sudo#options semble en effet correspondre à mes besoins. Ceci dit, ceux qui ont écrit cela on implicitement considéré que ceux qui les liraient auraient un niveau.... que je n'ai pas.

Avant de bricoler des bétises, je préfère récapituler, pour voir si j'ai bien compris :

1/ J'ouvre un terminal

2/ je tape sudo visudo /etc/sudoers (ou juste sudo visudo, sans préciser le fichier ??)

3/ je me place n'importe ou dans le fichier, et je tape :

Cmnd alias specification
Cmnd_Alias     ALSA = /usr/bin/alsa

Là, j'avoue que je ne sais pas trop si ma commande est alsa ou reload. Pas compris l'exemple, en fait.

4/ Puis j'édite les privilèges du groupe admin, et je tape :

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) ALL, NOPASSWD: ALSA

Mais dans quel fichier ? Dans sudoers ?

Merci d'avance de vos précisions.

Cordialement.

#9 Le 20/08/2008, à 09:14

valAa

Re : Désactiver le mot de passe sur un script

salut,

la commande

sudo visudo

ouvrira le fichier sudoers dans vim.

pourquoi utilise-t-on visudo au lieu d'éditer directement le fichier ?
visudo enregistre les modifications dans un fichier temporaire, puis vérifie la syntaxe du fichier avant de rendre ces modifications pérennes.
Si une erreur s'est glissée (point virgule, tabulation manquante ou que sais-je encore), visudo le verra et te demandera si vraiment tu tiens à enregistrer les modifications et donc casser tout ton sudo (à quoi il fait bien évidemment répondre non big_smile ) ou pas.

la ligne

# Cmnd alias specification

existe déjà, tu peux rajouter

Cmnd_Alias     ALSA = /usr/bin/alsa

en dessous

pour la deuxième modif je pense que tu as tout bon.

mémo pour l'édition basique dans vim :

:i -> pour passer en mode édition (se retrouver comme dans un éditeur normal)
<echap> -> pour repasser en mode commande
:w -> enregistrer
:q -> quitter
:x -> enregistrer et quitter

Hors ligne

#10 Le 20/08/2008, à 11:15

Christophe C2

Re : Désactiver le mot de passe sur un script

Merci de ces précisions.

Donc je refais ma procédure :

1/ J'ouvre le terminal, et je tape sudo visudo. Cela ouvre le fichier Sudoers dans l'éditeur Vim.

2/ Je me met en mode édition dans Vim en tapant :i

3/ Je vais à la section # Cmnd alias specification de Sudoers ou j'ajoute la ligne

Cmnd_Alias     ALSA = /usr/bin/alsa

4/ Je reste dans le fichier, et je vais à la section # Members of the admin group may gain root privileges  ou j'ajoute la ligne

%admin  ALL=(ALL) ALL, NOPASSWD: ALSA

5/ Je tape :x pour enregistrer et quitter.

Et paf, je suis un linux gourou tongue.

#11 Le 23/08/2008, à 07:07

Christophe C

Re : Désactiver le mot de passe sur un script

Bonjour,

Bon, ni la solution 1 (la compilation), ni la solution 2 ne marchent. sad

Je décrit ci-dessous ce qui se passe, sachant que je n'ai pas de forte préférence pour la solution 1 +tôt que pour la 2, et que tant que ça marche, je suis preneur.

Solution 1 - compiler une commande comprenant le mot de passe :
- je met dans mon script son.sh l'unique ligne echo mon-mot-de-passe | sudo -S alsa force-reload
- pour tester, je lance ce fichier script sans compilation : ça marche ! chouette !
- Bon, c'est pas top de laisser son mot de passe dans un script, donc je  compil par la commande (dans le terminal) : shc -f /home/christophe/Grolier/références/son.sh (j'ai téléchargé shc auparavant, bien sur). Voila ce que ce malpoli me répond :

christophe@christophe-desktop:~$ shc -f /home/christophe/Grolier/références/son.shshc: invalid first line in script: echo mon-mot-de-passe | sudo -S alsa force-reload
shc: Success
christophe@christophe-desktop:~$

Apparemment, le script (qui marche très bien non compilé) ne lui plait pas, et il refuse de le compiler (de fait je n'ai pas de fichier son.sh.x sur ma bécane).

Juste histoire d'être claire, dans le vrai script, mon-mot-de-passe est remplacé par mon VRAI mot de passe.


Solution 2 - Supprimer le mot de passe sur la commande du script :
J'ouvre sudoers par la commande sudo visudo, je fais les modifs proposées ci-dessus, je sauvegarde, je redémarre la machine, mais le lancement de mon script son.sh (qui contient l'unique ligne gksudo alsa force-reload)génère toujours la demande de mot de passe.

Voici le contenu de mon fichier etc/sudoers après mes modifs :

# /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

# 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
Cmnd_Alias     ALSA = /usr/bin/alsa

# User privilege specification
root	ALL=(ALL) ALL

# Members of the admin group may gain root privilege
%admin  ALL=(ALL) ALL, NOPASSWD: ALSA

Quelqu'un voit t'il le pb et sa solution ?

Cordialement


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#12 Le 28/11/2008, à 04:03

roubbas

Re : Désactiver le mot de passe sur un script

j'ai un petit soussi quand je suis dur le terminal et je veux effacé un dossier et que je met sudo il me demande un passe mais quand je veux l'inscrire le terminal ne veux l'écrire et quand je met entrée il me met sorry et réecrire le passe comment faire??

Hors ligne