je n'ai jamais vraiment joué avec le bit suid auparavant, mais ayant
installé un système Unix sur le portable de ma femme (à la place de
Windows), j'ai cherché à lui rendre les choses les plus simples
possibles, d'où mon intérêt récent pour le bit suid.
J'ai écrit un shell script effectuant quelques opérations liées au
matériel que seul root peut faire. Le propriétaire du script est root ;
son groupe est 'operator' (le groupe qui me semble le plus adéquat
sous FreeBSD) ; le groupe a des droits en exécution (pas de problème
de ce côté, elle peut exécuter le script) ; le bit suid est mis.
Mais manifestement le script est exécuté sous son UID à elle.
Les accès au matériel provoquent l'affichage d'erreurs de permissions
(pas le droit de faire ceci ou cela). Ai-je oublié quelque chose ?
Je peux évidemment donner un exemple plus détaillé, mais je ne crois pas
que le problème soit dans le script, cependant, prenons par exemple
#!/bin/sh
true > /dev/da0
(peu importe que sous d'autres systèmes /dev/da0 ne soit pas identique ;
je cherche ici à forcer le système à détecter les partitions du
périphérique da0 dans certains cas où le périphérique est connu mais
pas les partitions --- il s'agit d'un lecteur de carte mémoire).
Je n'ai rien fait de plus que lui donner un propriétaire (root), un
groupe (operator) et le bit SUID. Quelque chose m'a-t-il échappé ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Bernat
OoO En cette matinée pluvieuse du dimanche 28 août 2005, vers 10:30, Thomas Baruchel disait:
J'ai écrit un shell script effectuant quelques opérations liées au matériel que seul root peut faire. Le propriétaire du script est root ; son groupe est 'operator' (le groupe qui me semble le plus adéquat sous FreeBSD) ; le groupe a des droits en exécution (pas de problème de ce côté, elle peut exécuter le script) ; le bit suid est mis. Mais manifestement le script est exécuté sous son UID à elle. Les accès au matériel provoquent l'affichage d'erreurs de permissions (pas le droit de faire ceci ou cela). Ai-je oublié quelque chose ?
Sous FreeBSD, comme sous beaucoup d'autres Unix, il n'est pas possible, pour des raisons de sécurité, de placer un script suid. Utilise plutôt sudo (ou calife). -- panic ("No CPUs found. System halted.n"); 2.4.3 linux/arch/parisc/kernel/setup.c
OoO En cette matinée pluvieuse du dimanche 28 août 2005, vers 10:30,
Thomas Baruchel <archaiesteron@laposte.net> disait:
J'ai écrit un shell script effectuant quelques opérations liées au
matériel que seul root peut faire. Le propriétaire du script est root ;
son groupe est 'operator' (le groupe qui me semble le plus adéquat
sous FreeBSD) ; le groupe a des droits en exécution (pas de problème
de ce côté, elle peut exécuter le script) ; le bit suid est mis.
Mais manifestement le script est exécuté sous son UID à elle.
Les accès au matériel provoquent l'affichage d'erreurs de permissions
(pas le droit de faire ceci ou cela). Ai-je oublié quelque chose ?
Sous FreeBSD, comme sous beaucoup d'autres Unix, il n'est pas
possible, pour des raisons de sécurité, de placer un script
suid. Utilise plutôt sudo (ou calife).
--
panic ("No CPUs found. System halted.n");
2.4.3 linux/arch/parisc/kernel/setup.c
OoO En cette matinée pluvieuse du dimanche 28 août 2005, vers 10:30, Thomas Baruchel disait:
J'ai écrit un shell script effectuant quelques opérations liées au matériel que seul root peut faire. Le propriétaire du script est root ; son groupe est 'operator' (le groupe qui me semble le plus adéquat sous FreeBSD) ; le groupe a des droits en exécution (pas de problème de ce côté, elle peut exécuter le script) ; le bit suid est mis. Mais manifestement le script est exécuté sous son UID à elle. Les accès au matériel provoquent l'affichage d'erreurs de permissions (pas le droit de faire ceci ou cela). Ai-je oublié quelque chose ?
Sous FreeBSD, comme sous beaucoup d'autres Unix, il n'est pas possible, pour des raisons de sécurité, de placer un script suid. Utilise plutôt sudo (ou calife). -- panic ("No CPUs found. System halted.n"); 2.4.3 linux/arch/parisc/kernel/setup.c