dave@HAL9000:~$ /bin/ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 30:85:a9:b0:dd:dc brd ff:ff:ff:ff:ff:ff
inet 192.168.0.10/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2001:470:1f13:668::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::3285:a9ff:feb0:dddc/64 scope link
valid_lft forever preferred_lft forever
dave@HAL9000:~$ /bin/ip link set eth0 down
RTNETLINK answers: Operation not permitted
Cmnd_Alias MonscriptDeLaMortQuiTue=/usr/local/bin/monscript.sh
ALL ALL=NOPASSWD: MonscriptDeLaMortQuiTue
ET de préserver les variables d'environnement dont tu as besoin.
Par exemple si tu as beoins du $HOME de l'utilisateur, il faudra mettre ceci dans sudoers:
toto@tor:~$ sudo chown -R www-data:www-data /var/www/html/essai
Nous espérons que vous avez reçu de votre administrateur système local les consignes traditionnelles. Généralement, elles se concentrent sur ces trois éléments :
#1) Respectez la vie privée des autres.
#2) Réfléchissez avant d'utiliser le clavier.
#3) De grands pouvoirs confèrent de grandes responsabilités.
Mot de passe [sudo] de toto :
toto n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.
Edition du fichier sudoers pour définir avec précision ce que toto à le droit de faire:
Ce qu'il ne faut surtout pas c'est autoriser tout le monde à utiliser chown ou chmod (évidemment), et en tout cas pas partout...
Il faut lister les répertoires ou c'est possible, et si possible les UID (dans mon exemple c'est www-data).
toto@tor:~$ sudo chown -R toto:toto /var/www/html/essai
Mot de passe [sudo] de toto :
Désolé, l'utilisateur toto n'est pas autorisé à exécuter « /bin/chown -R toto:toto /var/www/html/essai » en tant que root sur tor.zehome.org.
ça j'aimerai bien pouvoir le faire, mais comme je ne peux pas spécifier un exécutant précis, ça ne peut pas fonctionner (le principe est d'attribuer ses propres droits à un dossier précis).
Cmnd_Alias MonscriptDeLaMortQuiTue=/usr/local/bin/monscript.sh
ALL ALL=NOPASSWD: MonscriptDeLaMortQuiTue
ET de préserver les variables d'environnement dont tu as besoin.
Par exemple si tu as beoins du $HOME de l'utilisateur, il faudra mettre ceci dans sudoers:
As-tu modifié le fichiers sudoers pour préserver l'environnement ?
As-tu lancé le script (qui ne contient plus de sudo) avec sudo ?
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
MaxdeConde a écrit :Oui, j'ai fait ceci, d'où mon : "Visudo m'indique une erreur de syntaxe".
Ok, pardon j'avais lu trop vite...
Visudo + pas de changement et sauvegarde = Pas d'erreur ?
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
En commentant les deux lignes ajoutées (le Cmand_Alias, et le ALL), pas d'erreur.
Donc le keep_env est bon, et ça roule, par contre les deux ci-dessus, ça passe pas. J'ai zieuté à droite et à gauche, le Cmnd_Alias semble correct, donc je ne comprends pas où ça coince.....
Cmnd_Alias script=/usr/local/bin/le_vrai_nom.sh
ALL ALL=NOPASSWD: script
Je suis au boulot... Je regarderai à tête reposée ce soir.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
C'est ce que j'ai fait ^^ Je l'ai appelé MonScript. J'ai relu et relu pour vérifier mon code, et il me semble que je ne commets pas d'erreur dans la copie.
Je t'ai un peu laissé tomber. Je m'excuse.
Je me suis laissé déborder. Des que j'ai le temps je regarde.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Hello,
On peut avoir une copie du contenu du fichier sudoers et éventuellement des fichiers présents dans sudoers.d/ ?
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
#Defaults env_reset
Defaults env_keep += "HOME"
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Cmnd_Alias MonScript=/usr/local/bin/transfertPOL.sh
ALL ALL=NOPASSWD: MonScript
Mon dossier /etc/sudoers.d est vide à l'exception du README.
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
#Defaults env_reset
Defaults env_keep += "HOME"
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Cmnd_Alias MonScript=/usr/local/bin/transfertPOL.sh
ALL ALL=NOPASSWD: MonScript
# This is all the servers
Host_Alias SERVERS = 192.168.0.1, 192.168.0.2, server1
# This is the whole network
Host_Alias NETWORK = 192.168.0.0/255.255.255.0
# And this is every machine in the network that is not a server
Host_Alias WORKSTATIONS = NETWORK, !SERVER
User alias specification
Cette partie permet de définir des alias pour les utilisateurs auquel sudo va donner des droits particuliers.
root@tor:~# visudo
>>> /etc/sudoers: erreur de syntaxe near line 31 <<<
>>> /etc/sudoers: erreur de syntaxe near line 32 <<<
Et maintenant ?
J'ai recommencé et plus d'erreur. Encore une fois et... erreur à nouveau.
En modifiant le nom de l'alias ça semble aller mieux. Il y a un truc qui ne lui plaît pas là dedans.
Essaye avec ça (ou n'importe quoi d'autre que MS):
Cmnd_Alias MS=/usr/local/bin/transfertPOL.sh
ALL ALL=NOPASSWD: MS
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Alors le visudo passe maintenant, mais ça ne semble pas prendre effet... Voici mes retours consoles. test@debian-college:~$ sh /usr/local/bin/transfertPOL.sh
mkdir: impossible de créer le répertoire « /home/test/Bureau/OUAIS »: Le fichier existe
[sudo] password for test:
Sorry, user test is not allowed to execute '/bin/chown -v -h -R test:test /var/POL' as root on debian-college.
ln: impossible de créer le lien symbolique « /home/test/.PlayOnLinux/POL »: Permission non accordée
[sudo] password for test:
Sorry, user test is not allowed to execute '/bin/chown -v -h -R test:test /home/test/.PlayOnLinux' as root on debian-college.
cp: impossible d'évaluer « /var/POL/shortcuts/*.desktop »: Aucun fichier ou dossier de ce type
Salut,
Il faut comme je te disais, virer les sudo du script, et lancer le script avec sudo.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
test@debian-college:~$ sudo sh /usr/local/bin/transfertPOL.sh
[sudo] password for test:
Sorry, user test is not allowed to execute '/bin/sh /usr/local/bin/transfertPOL.sh' as root on debian-college.
test@debian-college:~$
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
#Defaults env_reset
Defaults env_keep += "HOME"
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Cmnd_Alias MS=/usr/local/bin/transfertPOL.sh
ALL ALL=NOPASSWD: MS
%users ALL=NOPASSWD: /bin/chown
toto@tor:~$ vdir -a
total 44
drwxr-xr-x 7 toto toto 4096 mai 25 23:06 .
drwxr-xr-x 7 root root 4096 mai 1 00:41 ..
-rw------- 1 toto toto 3408 mai 25 23:03 .bash_history
-rw-r--r-- 1 toto toto 220 mai 1 00:41 .bash_logout
-rw-r--r-- 1 toto toto 3526 mai 1 00:41 .bashrc
drwx------ 3 toto toto 4096 mai 3 13:21 .cache
drwx------ 3 toto toto 4096 mai 3 13:21 .config
drwxr-xr-x 2 toto toto 4096 mai 25 23:06 Desktop
drwxr-xr-x 3 toto toto 4096 mai 3 13:15 .local
drwxr-xr-x 2 toto toto 4096 mai 3 14:13 .nano
lrwxrwxrwx 1 root root 8 mai 25 23:06 .PlayOnLinux -> /var/POL
-rw-r--r-- 1 toto toto 675 mai 1 00:41 .profile
-rw------- 1 toto toto 0 mai 3 13:16 .Xauthority
toto@tor:~$ vdir -a Desktop/
total 8
drwxr-xr-x 2 toto toto 4096 mai 25 23:06 .
drwxr-xr-x 7 toto toto 4096 mai 25 23:06 ..
-rw-r--r-- 1 root root 0 mai 25 23:06 1.desktop
-rw-r--r-- 1 root root 0 mai 25 23:06 2.desktop
je ne sais pas si au final c'est ce que tu souhaite, mais le script fonctionne avec les droits d'un simple utilisateur.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Effectivement, on approche du résultat, merci lol.
Pour l'instant :
/var/POL appartient à userA.
userB réussi à modifier les droits de /var/POL sans rentrer de mdp.
Mais, le dernier souci, c'est que userB donne les droits root au dossier /var/POL alors que ce sont ses propres droits qu'il doit attribuer.
On n'est pas loin de la solution, c'est ce que j'ai eu de plus probant comme résultat depuis des semaines. Merci pour ce rayon de soleil lol :)
Salut,
Ravi d'avoir aidé à débroussailler!
Je commence à me perdre dans ce que tu souhaites faire exactement.
Pourrais-tu me re d'écrire la procédure (et l'objectif a atteindre) et les scripts utilisés (désolé de te demander ça, mais il y a eu pas mal de posts depuis le début et je suis un peu perdu...).
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.