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.

#26 Le 10/07/2012, à 23:49

iro

Re : gksudo en utilisateur [ RESOLU]

Comprend pas j'ai copier coller la commande que tu m'avait donner:D

Je l'ai taper manuellement et:

net@Aspire-5110:~$ grep net /etc/group
netdev:x:114:net
net:x:1001:
jupiter:x:1002:iro,net

Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne

#27 Le 10/07/2012, à 23:49

Sciensous

Re : gksudo en utilisateur [ RESOLU]

nesthib a écrit :

@iro : j'ai l'impression que ce que tu cherches à faire avec sudo/gksudo n'est pas très clair, autant pour nous que pour toi…

Peux-tu poster une copie du script ici ?

c'est simple: iro a fait un script pour changer d'adresse MAC
et pour ça il a besoin d'être du groupe admin puisqu'il faut lancer ifconfig
wink


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

Hors ligne

#28 Le 10/07/2012, à 23:53

Sciensous

Re : gksudo en utilisateur [ RESOLU]

c'est simple: le compte net ne fait pas partie du groupe admin et donc ne peut pas lancer le script

le plus rapide dans ton cas:
dans une console:

su iro

(entrer le mot de passe et tu deviens iro, qui je suppose est dans le groupe admin)

ensuite

sudo bash /home/net/Documents/ipmac.sh

Dernière modification par Sciensous (Le 10/07/2012, à 23:56)


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

Hors ligne

#29 Le 10/07/2012, à 23:54

iro

Re : gksudo en utilisateur [ RESOLU]

net@Aspire-5110:~$ echo `id -g`
1001

le script:

#!/bin/bash
# dépendance zenity

if [ ! $(id -u) = 0 ]; then 
   echo "Il faut etre root" 
   exit 1 
fi

##VARIABLE##
ADRESSE_MAC=00:xx:xx:xx:xx:xx ## a modifier
ADRESSE_IP=1x.xxx.xx.xx ## a modifier

zenity --question --title "MAC" --text "$@ \
Adresse IP: $ADRESSE_IP
Modification de l'adresse MAC en $ADRESSE_MAC."

## Si on clic sur Annuler...
if [ $? -ne 0 ]
    then
        exit 0
fi
ifconfig wlan0 down
ifconfig wlan0 hw ether $ADRESSE_MAC
ifconfig wlan0 up
ifconfig wlan0 $ADRESSE_IP

zenity --question --title "MAC" --text "$@ \
script terminé ."

## Si on clic sur Annuler...
if [ $? -ne 0 ]
    then
        exit 0
fi

Dernière modification par iro (Le 10/07/2012, à 23:55)


Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne

#30 Le 10/07/2012, à 23:57

Sciensous

Re : gksudo en utilisateur [ RESOLU]

pense aussi à remplacer id -u par id -g


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

Hors ligne

#31 Le 10/07/2012, à 23:58

iro

Re : gksudo en utilisateur [ RESOLU]

Ok pour user mais normalement adm devrait le lancer et ce n'est pas le cas


Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne

#32 Le 11/07/2012, à 00:01

Sciensous

Re : gksudo en utilisateur [ RESOLU]

iro n'est pas adm mais dans le groupe admin; nuance !


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

Hors ligne

#33 Le 11/07/2012, à 00:06

iro

Re : gksudo en utilisateur [ RESOLU]

Merci Sciensous, ta réponse 28 a résolue le problème:D +1

Mais ya t-il un moyen plus rapide ?

En tout cas merci pour ton aide


Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne

#34 Le 11/07/2012, à 00:10

Sciensous

Re : gksudo en utilisateur [ RESOLU]

iro a écrit :

Merci Sciensous, ta réponse 28 a résolue le problème:D +1

Mais ya t-il un moyen plus rapide ?

En tout cas merci pour ton aide

de rien,
pour faire plus rapide/simple, je dois savoir si tu lancer le script occasionnellement ou tout le temps (dans ce cas il suffit de le mettre au boot)

mais là je vais dormir lol


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

Hors ligne

#35 Le 11/07/2012, à 00:51

nesthib

Re : gksudo en utilisateur [ RESOLU]

remplace :

if [ ! $(id -u) = 0 ]; then 
echo "Il faut etre root" 
exit 1

par :

if [ ! $UID == 0 ]; then
gksudo "$0" "$@"
exit

et lance ton script en double cliquant

NB. si tu dois utiliser un compte spécial ajoute l'option « -u utilisateur » après gksudo


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#36 Le 11/07/2012, à 08:58

Sciensous

Re : gksudo en utilisateur [ RESOLU]

ou:

su iro -c "sudo bash /home/net/Documents/ipmac.sh"

le mote de passe iro sera demandé 2 fois


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

Hors ligne

#37 Le 11/07/2012, à 15:12

nesthib

Re : gksudo en utilisateur [ RESOLU]

bof…  s'il y a une option -u à (gk)sudo c'est justement pour éviter ce genre de bidouillage peu pratique


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#38 Le 11/07/2012, à 18:47

iro

Re : gksudo en utilisateur [ RESOLU]

@ nesthib:
la modification du script n'a pas fonctionner ( demande de mot de passe puis plus rien)

@ Sciensous:
La manip fonctionne est deux mots de passe me paraissent acceptable big_smile
SI tu veux m'aider pour mettre le script au démarrage, c'est avec plaisir


Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne

#39 Le 11/07/2012, à 20:16

nesthib

Re : gksudo en utilisateur [ RESOLU]

@iro : tu as bien essayé avec l'option « -u utilisateur » ?


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#40 Le 11/07/2012, à 22:17

Sciensous

Re : gksudo en utilisateur [ RESOLU]

iro a écrit :

SI tu veux m'aider pour mettre le script au démarrage, c'est avec plaisir

il "suffit" de se mettre sous un compte admin (iro) et de d'ouvrir le fichier systeme
/etc/rc.local , par exemple:

gksu gedit /etc/rc.local

puis de rajouter dans une nouvelle ligne AVANT le "exit O;":

/home/net/Documents/ipmac.sh

l'idéal étant de commenter la finalité de cette ligne avec: #pour changer l'adresse MAC

(le script étant déjà marqué executable, post #20)


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

Hors ligne

#41 Le 11/07/2012, à 22:25

Sciensous

Re : gksudo en utilisateur [ RESOLU]

nesthib a écrit :

@iro : tu as bien essayé avec l'option « -u utilisateur » ?

nesthib:je veux que tu testes et si ça marche de nous donner la procédure exacte (exemple) car dans mon cas, je n'arrive pas à l'utiliser.
Notament, j'ai un doute sur les mdp demandés.


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

Hors ligne

#42 Le 11/07/2012, à 22:42

iro

Re : gksudo en utilisateur [ RESOLU]

@ nesthib:

j'ai fait comme t'a dit puis j'ai modifier gksudo "$0" "$@" par gksudo -u net"$0" "$@"

@ Sciensous:

J'ai mis ''/home/net/Documents/ipmac.sh # pour mac'' dans le fichier puis j'ai eteind et redémarré mais l'adresse ne s'est pas modifie


Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne

#43 Le 11/07/2012, à 22:45

Sciensous

Re : gksudo en utilisateur [ RESOLU]

cat /etc/rc.local

merci

* il manque un espace entre net et la suite:

gksudo -u net "$0" "$@"

* ne pas mettre le commentaire à la suite de la commande

 # pour mac
/home/net/Documents/ipmac.sh

Dernière modification par Sciensous (Le 11/07/2012, à 22:47)


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

Hors ligne

#44 Le 11/07/2012, à 23:11

iro

Re : gksudo en utilisateur [ RESOLU]

~$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#pour mac
/home/net/Documents/ipmac.sh 
exit 0

Tu as réussi avec la manip de nesthib ?

J'ai refais un test mais idem. C'est pas trop grave si le script ne se lance pas au démarrage: - j'ai crée un lanceur avec la commande

su iro -c "sudo bash /home/net/Documents/ipmac.sh"

Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne

#45 Le 12/07/2012, à 01:13

nesthib

Re : gksudo en utilisateur [ RESOLU]

Bon, pour faire simple voici une solution qui devrait fonctionner, qui peut être lancée par l'utilisateur « net », sans demander de mot de passe, sans passer par un autre utilisateur et sans compromettre la sécurité en donnant accès aux droits root :

1- ajouter la permission suivante dans le fichier /etc/sudoers

net    ALL=NOPASSWD: /sbin/ifconfig

(utiliser sudo visudo pour modifier le fichier !)

2- utiliser le script suivant :

#!/bin/bash
# dépendance zenity

##VARIABLE##
ADRESSE_MAC=00:xx:xx:xx:xx:xx ## a modifier
ADRESSE_IP=1x.xxx.xx.xx ## a modifier

zenity --question --title "MAC" --text "$@ \
Adresse IP: $ADRESSE_IP
Modification de l'adresse MAC en $ADRESSE_MAC."

## Si on clic sur Annuler...
if [ $? -ne 0 ]
    then
        exit 0
fi
sudo ifconfig wlan0 down
sudo ifconfig wlan0 hw ether $ADRESSE_MAC
sudo ifconfig wlan0 up
sudo ifconfig wlan0 $ADRESSE_IP

zenity --question --title "MAC" --text "$@ \
script terminé ."

## Si on clic sur Annuler...
if [ $? -ne 0 ]
    then
        exit 0
fi

maintenant, « net » peut lancer le script, pas besoin de sudo ou de gksudo, pas de faille de sécurité, pas d'embêtement smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#46 Le 12/07/2012, à 08:52

Sciensous

Re : gksudo en utilisateur [ RESOLU]

@nesthib: dans mon esprit, je préférai éviter ce genre de soluce, trop risquée pour un nouveau; et surtout non transportable en cas de changement de version d'ubuntu...

en plus, il faut quand meme laisser le sudo devant la commande (faut le dire quand même); ensuite le mot de passe ne sera pas demandé

mais je déconseille quand même !

@iro: je t'ai laissé un espoir trop facile: le script est bien lancé au démarrage, mais comme le wifi n'est pas encore lancé/reconfiguré, ça ne sert à rien.
Donc tu peux enlever les lignes rajoutées dans rc.local
Par contre, si tu as un répertoire  /etc/NetworkManager/dispatcher.d/, tu peux le lier dans ce repertoire là
(post #14, commande sudo ln  )

Dernière modification par Sciensous (Le 12/07/2012, à 09:01)


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

Hors ligne

#47 Le 12/07/2012, à 20:07

iro

Re : gksudo en utilisateur [ RESOLU]

@ Sciensous:

Le fichier /etc/NetworkManager/dispatcher.d/01ifupdown:

#!/bin/sh -e
# Script to dispatch NetworkManager events
#
# Runs ifupdown scripts when NetworkManager fiddles with interfaces.
# See NetworkManager(8) for further documentation of the dispatcher events.

if [ -z "$1" ]; then
    echo "$0: called with no interface" 1>&2
    exit 1;
fi

# Fake ifupdown environment
export IFACE="$1"
export LOGICAL="$1"
export ADDRFAM="NetworkManager"
export METHOD="NetworkManager"
export VERBOSITY="0"

# Run the right scripts
case "$2" in
    up|vpn-up)
    export MODE="start"
    export PHASE="post-up"
    exec run-parts /etc/network/if-up.d
    ;;
    down|vpn-down)
    export MODE="stop"
    export PHASE="post-down"
    exec run-parts /etc/network/if-post-down.d
    ;;
    hostname)
    # do nothing here, the 'hostname' action is not handled by ifupdown scripts.
    exit 0
    ;;
# pre-up/pre-down not implemented. See
# https://bugzilla.gnome.org/show_bug.cgi?id=387832
#    pre-up)
#    export MODE="start"
#    export PHASE="pre-up"
#    exec run-parts /etc/network/if-pre-up.d
#    ;;
#    pre-down)
#    export MODE="stop"
#    export PHASE="pre-down"
#    exec run-parts /etc/network/if-down.d
#    ;;
    hostname|dhcp4-change|dhcp6-change)
        # Do nothing
    ;;
    *)
    echo "$0: called with unknown action \`$2'" 1>&2
    exit 1
    ;;
esac

C'est dans ce script qu'il faut que je rajoute la ligne ?


dans mon esprit, je préférai éviter ce genre de soluce, trop risquée pour un nouveau

Peux tu développer car j'ai fait la manip (qui fonctionne ) hier soir.


Aime la vie et vis la vie que tu aimes.
Boinc pour aider la science.

Hors ligne