setuid root : limitations

Le
Nestor
Bonjour à tous,

Sous Red hat, j'ai installé McAfee VirusScan pour UNIX et j'ai intégré les
principales commandes de vérification (disque/disquette/CD) dans une
application personnelle au niveau de l'IHM..

Mon pb est le suivant : l'utilisateur de l'application est un utilisateur X.
Je veux malgré tout lui donner la possibilité de scanner la totalité du
disque dur. J'ai donc crée un programme perl qui encapsule l'appel aux
commandes UVSCAN. Ce script est lancé par l'application principale.

Le script perl appartient à root:root et est setuid (u+s).

J'ai remarqué que certains droits de root ont bien été attribué à
l'utilisateur X (je peux directement modifier le fichier /etc/crontab par
exemple) mais dés lors que le scan disque essaie d'accéder à un répertoire
n'ayant les droits de lecture que pour root (et non pour le groupe ou les
autres), l'accès en lecture pour l'utilisateur X est refusé.

Je pensais que le setuid donnait tous les droits du propriétaire du
programme ?

Merci de votre aide.

Cordialement.

--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.

--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Philippe Delsol
Le #7253501
Nestor a écrit :
Bonjour à tous,

Sous Red hat, j'ai installé McAfee VirusScan pour UNIX et j'ai intégré les
principales commandes de vérification (disque/disquette/CD) dans une
application personnelle au niveau de l'IHM..

Mon pb est le suivant : l'utilisateur de l'application est un utilisateur X.
Je veux malgré tout lui donner la possibilité de scanner la totalité du
disque dur. J'ai donc crée un programme perl qui encapsule l'appel aux
commandes UVSCAN. Ce script est lancé par l'application principale.

Le script perl appartient à root:root et est setuid (u+s).



Plutôt que faire un script perl qui utilise les propriétés du suid bit,
je conseille un script perl dans lequel l'appel aux commandes "root"
utilise la commande sudo.

J'ai remarqué que certains droits de root ont bien été attribué à
l'utilisateur X (je peux directement modifier le fichier /etc/crontab par
exemple) mais dés lors que le scan disque essaie d'accéder à un répertoire
n'ayant les droits de lecture que pour root (et non pour le groupe ou les
autres), l'accès en lecture pour l'utilisateur X est refusé.

Je pensais que le setuid donnait tous les droits du propriétaire du
programme ?

Merci de votre aide.

Cordialement.



Philippe

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Thibaut Paumard
Le #7253491
"Nestor"
Le script perl appartient à root:root et est setuid (u+s).



Bonjour,

le bit suid ne fonctionne pas pour les scripts (ce qui poserait un trou de
sécurité gros comme celui de la couche d'ozone). Il faut utiliser sudo. man
sudo (bonne lecture). Pour les détails : google:"script suid" ou encore :

http://lea-linux.org/dev/suid_scripts.html

Cordialement, Thibaut.

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Philippe Delsol
Le #7253481
Nestor a écrit :
Bonjour à tous,


Bonjour,

Sous Red hat, j'ai installé McAfee VirusScan pour UNIX et j'ai intégré les
principales commandes de vérification (disque/disquette/CD) dans une
application personnelle au niveau de l'IHM..

Mon pb est le suivant : l'utilisateur de l'application est un utilisateur X.
Je veux malgré tout lui donner la possibilité de scanner la totalité du
disque dur. J'ai donc crée un programme perl qui encapsule l'appel aux
commandes UVSCAN. Ce script est lancé par l'application principale.

Le script perl appartient à root:root et est setuid (u+s).



Plutôt que faire un script perl qui utilise les propriétés du suid bit,
je conseille un script perl dans lequel l'appel aux commandes "root"
utilise la commande sudo.


J'ai remarqué que certains droits de root ont bien été attribué à
l'utilisateur X (je peux directement modifier le fichier /etc/crontab par
exemple) mais dés lors que le scan disque essaie d'accéder à un répertoire
n'ayant les droits de lecture que pour root (et non pour le groupe ou les
autres), l'accès en lecture pour l'utilisateur X est refusé.

Je pensais que le setuid donnait tous les droits du propriétaire du
programme ?

Merci de votre aide.

Cordialement.




--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Poster une réponse
Anonyme