A voir également:
- [script] permissions
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
8 réponses
Salut,
comment faire un script qui puisse me lancer un logiciel avec les droits root?
En ce qui concerne l'exécution avec les droits root, il faut pensé à la sécurité.
Les droits d'endossement ( 4000 - l'endossement de l'identité de propriétaire, 2000 - pour l'endossement de groupe)
Sous linux les choses se pasent de façon suivante :
quand un utilisateur est connecté il a 2 UID et 2 GID.
UID réel et UID effectif et pareil pour GID.
A l'exécution d'une commande les réels sont les veritables UID et GID et les effectifs sont ceux attribués à la tâche qui exécute la commande.
Quand les droits 2000 et/ou 4000 ne sont pas positionnés les UID et GID effectifs sont identiques aux réels.
Si les droits 2000 et/ou 4000 sont positionnés les UID et GID effectifs sont ceux de la commande.
Par exemple voir le cas de crontab. La lettre s correspond au 4000 et S au 2000
Dans ton cas mets les droit necessaires sur ton logiciel, le script je suppose que tu sais le faire, sinon dit ce que tu veux faire (donc plus de détails et aussi le langage que tu veux utiliser)
chmod -v 4755 /home/user/logiciel
comment faire un script qui puisse me lancer un logiciel avec les droits root?
En ce qui concerne l'exécution avec les droits root, il faut pensé à la sécurité.
Les droits d'endossement ( 4000 - l'endossement de l'identité de propriétaire, 2000 - pour l'endossement de groupe)
Sous linux les choses se pasent de façon suivante :
quand un utilisateur est connecté il a 2 UID et 2 GID.
UID réel et UID effectif et pareil pour GID.
A l'exécution d'une commande les réels sont les veritables UID et GID et les effectifs sont ceux attribués à la tâche qui exécute la commande.
Quand les droits 2000 et/ou 4000 ne sont pas positionnés les UID et GID effectifs sont identiques aux réels.
Si les droits 2000 et/ou 4000 sont positionnés les UID et GID effectifs sont ceux de la commande.
Par exemple voir le cas de crontab. La lettre s correspond au 4000 et S au 2000
[lamitest@localhost ~]$ ls -l /usr/bin/crontab -rwsr-xr-x 1 root root 79060 avr 15 2005 /usr/bin/crontab
Dans ton cas mets les droit necessaires sur ton logiciel, le script je suppose que tu sais le faire, sinon dit ce que tu veux faire (donc plus de détails et aussi le langage que tu veux utiliser)
chmod -v 4755 /home/user/logiciel
c'est un scrip bash.
il dois lancer jahshaka, mais il ne se lance que en root.
je veux donc créer un raccourci dans le menu >application>graphique, de gnome qui piontera vers ce script.
voila
@+
il dois lancer jahshaka, mais il ne se lance que en root.
je veux donc créer un raccourci dans le menu >application>graphique, de gnome qui piontera vers ce script.
voila
@+
Tu parle de qui quand tu dit il dois lancer jahshaka, mais il ne se lance que en root. ?
De script ou de jahshaka?
De script ou de jahshaka?
jahshaka ne se lance que en root,
je peux le lancer en user mais il bloque pendant le chargement et affiche un tas d'erreurs avec 'erreur de permission', dans la console.
je peux le lancer en user mais il bloque pendant le chargement et affiche un tas d'erreurs avec 'erreur de permission', dans la console.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le script (très court)
su
jahshaka
quand je le lance il me demande le mot de passe et s'arrete la .
[root@fedora sh]# ls -l ./jahshaka.sh
-rwxrwxr-x 1 mick mick 15 mar 4 18:41 ./jahshaka.sh
[root@fedora sh]# ls -l /usr/bin/jahshaka
-rwxr-xr-x 1 root root 77 nov 24 02:39 /usr/bin/jahshaka
su
jahshaka
quand je le lance il me demande le mot de passe et s'arrete la .
[root@fedora sh]# ls -l ./jahshaka.sh
-rwxrwxr-x 1 mick mick 15 mar 4 18:41 ./jahshaka.sh
[root@fedora sh]# ls -l /usr/bin/jahshaka
-rwxr-xr-x 1 root root 77 nov 24 02:39 /usr/bin/jahshaka
Salut,
ton script ( qui ne sers à rien) je lit
su qui veut dire de prendre l'identité de root ( pour ça il faut le mot de passe root) en restant dans l'environement de mike
ensuite d'exécuter la commande jahshaka
Pourquoi je dit que ton script ne sers à rien?
vu que jahshaka se trouve dans /usr/bin et comme normalement /usr/bin se trouve dans PATH tu peux exécuter tout simplement dans la console la commande jahshaka
donc sous mike tape jahshaka et dit ce que ça donne.
ton script ( qui ne sers à rien) je lit
su qui veut dire de prendre l'identité de root ( pour ça il faut le mot de passe root) en restant dans l'environement de mike
ensuite d'exécuter la commande jahshaka
Pourquoi je dit que ton script ne sers à rien?
vu que jahshaka se trouve dans /usr/bin et comme normalement /usr/bin se trouve dans PATH tu peux exécuter tout simplement dans la console la commande jahshaka
donc sous mike tape jahshaka et dit ce que ça donne.
c'est ce que je disait plus haut : il se bloque au chargement quand je suis en utilisateur mick... et pas en root... le but étant toujours de créer un icones, d'ou le script... qui me permetterai de lancer le logiciel en root via le menu..
donc voila ce que ca me donne en pas-root:
[mick@fedora ~]$ jahshaka
QLayout: Adding QLabel/unnamed (child of QFrame/unnamed) to layout for QFrame/unnamed
QLayout: Adding JahProgressBar/unnamed (child of QFrame/unnamed) to layout for QFrame/unnamed
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
........ etc
donc voila ce que ca me donne en pas-root:
[mick@fedora ~]$ jahshaka
QLayout: Adding QLabel/unnamed (child of QFrame/unnamed) to layout for QFrame/unnamed
QLayout: Adding JahProgressBar/unnamed (child of QFrame/unnamed) to layout for QFrame/unnamed
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
__FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!!
fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!
FGLTexMgr: open of shared memory object failed (Permission non accordée)
........ etc