Donner droits root à un fichier

Pierre -  
Xenor Messages postés 3312 Statut Contributeur -
Bonjour,
Comment faire pour donner les droits root à un fichier par exemple :
g un fichier test dans lequel g mis halt et j'aimerai avec un utilisateur normal que qd je tappe sh test sa eteigne lordi .

8 réponses

kmf
 
Tu veux rendre un executable ou script en set-uid. En principe tu fais comme root:

chown root:root test
chmod +s test

La 1ere ligne change le proprietaire du fichier et la 2nd met le set-uid.
Apres tu peux voir avec "ls -l" quelque chose comme ca:
-rwsr-sr-x 1 root root 0 Nov 14 19:34 test

Defois ca ne marche pas comme prevue car il y a d'autre trucs de securite qui peuvent te causer des ennuies (ou eviter des ennuies selon le point de vu). De toute facon tu peux essayer et on verra.

PS.: Normalement il y a un autre "test" dans /usr/bin/ de ton systeme.
Choisit un autre nom.
1
mali44 Messages postés 180 Statut Membre 3
 
c'est plutot l'inverse alors, tu veux donner des droits pour un utilisateur lambda? tu peux utiliser cmod ou chown pour changer les droits, ou attribuer des droits, pour le faire avec un utilitaire tu tapes en console et en root: mc c'est utilitaire te permet de faire pas mal de chose sur les fichiers.
0
Pierre
 
g fait ce que tu m'a dis voila ce que sa fait fais qd je fait ls -l :
-rwSr-Sr-- 1 root root
mais qd je fait sh lenomdemonfichier en utilisateur normal ça ne marche toujour pas sa met :
line 1: halt: command not found
0
kmf
 
C'est parce que "halt" n'est pas dans le path de l'utilisateur.
Il faut mettre "/sbin/halt" dans ton fichier.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pierre
 
Merci, mais ça ne marche toujours pas, il me met :
halt: must be superuser.
Alors que pourtant ça ne devrait plus le faire comme j'ai fait :
chown root:root fichier
chmod +s fichier
?
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Que le fichier en question ait les droits d'exécution et le SUID bit est un fait, par contre quand est-il de la commande "/sbin/halt" ?
A-t-elle le droit d'exécution pour ton user ?
ls -l /sbin/halt
Le halt: must be superuser me ferai penser le contraire !

;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
0
Xenor Messages postés 3312 Statut Contributeur 51
 
Bonjour à tous,
Pas besoin pour /sbin/halt, je crois. Ce qu'il faut, c'est que ton fichier "test" appartienne à un groupe qui contient l'utilisateur qui pourra l'éxécuter.
Si ça concerne seulement un utilisateur, qu'on appellera "user1", alors son groupe "user1" associé fera l'affaire.
A tenter :
chown root:user1 /chemin/vers/test
chmod 755 /chemin/vers/test
chmod g+s /chemin/vers/test


______________
- X e n o r ---
RTFM rulz !!
0
Xenor Messages postés 3312 Statut Contributeur 51
 
Arf ben non ça a pas l'air de marcher.... Bon, à essayer directement avec /sbin/halt.
Pb à creuser !

______________
- X e n o r ---
RTFM rulz !!
0