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.

#1 Le 19/04/2012, à 11:14

greeno55

Interdire lecture d'un script a un utilisateur

Bonjour,


Je souhaite interdire la lecture d'un de mes script shell à un utilisateur. (je sais que c'est la commande chown propriétaire fichier, mais quand je met root en owner, l'utilisateur peux lire ce fichier (il ne peux cependant pas le modifier) or moi, je souhaiterai qu'il ne puisse ni le voir, ni le modifier, mais seulement pouvoir l'executer.

comment faire ?

Dernière modification par greeno55 (Le 19/04/2012, à 11:33)

Hors ligne

#2 Le 19/04/2012, à 11:20

greeno55

Re : Interdire lecture d'un script a un utilisateur

En fait je me trompais entre chown et chmod x)

Merci quand meme tongue)

Hors ligne

#3 Le 19/04/2012, à 11:35

greeno55

Re : Interdire lecture d'un script a un utilisateur

En fait j'ai quand meme un probleme.

Mon script se nomme serveur1
J'ai rendu propriétaire le script serveur1 à l'utilisateur serveur1. (chown serveur1 serveur1)
Ensuite, j'ai défini les droits (je veux que serveur1 ne puisse que exécuter (ne pas le lire, ni le modifier)
donc je tape chmod 100 serveur1 sauf que je n'arrive pas a lancer le script en tant que serveur1.

Hors ligne

#4 Le 19/04/2012, à 11:41

credenhill

Re : Interdire lecture d'un script a un utilisateur

hello
un script doit être lisible pour être exécuté, donc droit r et droit x

Hors ligne

#5 Le 19/04/2012, à 11:46

greeno55

Re : Interdire lecture d'un script a un utilisateur

Donc on ne peux absolument pas empêcher un utilisateur de voir le script mais qu'il puisse le lire ?
la commande est donc chmod 300 serveur1 ?

Hors ligne

#6 Le 19/04/2012, à 12:20

credenhill

Re : Interdire lecture d'un script a un utilisateur

chown serveur1 serveur1
chmod 500 serveur1
ls -l serveur1
-r-x------ 1 serveur1  xxx       0 2012-04-19 12:15 serveur1

serveur1 n'est exécutable et lisible que par l'utilisateur serveur1

Hors ligne

#7 Le 19/04/2012, à 12:30

pingouinux

Re : Interdire lecture d'un script a un utilisateur

Salut,
Une méthode pour résoudre le problème : Utilisation de SETUID

Pour préciser :

Créer un lanceur pour serveur1, écrit en C :

$ cat lanceur_serveur1.c
#include <unistd.h>
main() { system("./serveur1"); }

$ make lanceur_serveur1
cc     lanceur_serveur1.c   -o lanceur_serveur1

Restreindre les permissions sur lanceur_serveur1 :

$ sudo chown root:root lanceur_serveur1
$ sudo chmod 4705 lanceur_serveur1

Restreindre les permissions sur serveur1 :

$ sudo chown root:root serveur1
$ sudo chmod 700 serveur1

$ ls -l *serveur1
-rws---r-x 1 root root 8390 2012-04-19 13:56 lanceur_serveur1
-rwx------ 1 root root   10 2012-04-19 11:17 serveur1

Pour lancer l'exécution :

./lanceur_serveur1

Dernière modification par pingouinux (Le 19/04/2012, à 14:07)

Hors ligne