#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]
@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
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]
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
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#40 Le 11/07/2012, à 22:17
- Sciensous
Re : gksudo en utilisateur [ RESOLU]
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]
@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
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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