executer une action par un autre user depuis un script
5 réponses
Franssoa
Bonjour,
J'ai un petit script qui, depuis un serveur linux, dois contrôler la
place dispo sur un disque windows du reseau et eventuellement faire
automatiquement le ménage.
Le script est lancé par le serveur intranet (cherrypy) et doit tout
d'abord mounter le disque samba. Mais mount ne peut être lancer qu'en
root, or le serveur web n'a pas les droits.
J'ai vu que je pourrais modifier "/etc/sudoers", mais j'aimerais assez,
si c'est possible, ne pas donner d'autorisation permanente.
Je ne sais pas trouvé si une instruction du genre de celle ci existe ?
exec_autre_user user:password cmd
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
Cumbalero
J'ai vu que je pourrais modifier "/etc/sudoers", mais j'aimerais assez, si c'est possible, ne pas donner d'autorisation permanente. Je ne sais pas trouvé si une instruction du genre de celle ci existe ? exec_autre_user user:password cmd
Je t'invite à regarder plus en détail la doc de sudo. C'est exactemen t ce qu'il te faut pour ton "exec_autre_user", mais en mieux car tu n'auras pas à écrire de mot de passe dans ton script, ou modifier ce script quand tu changes le mot de passe.
La syntaxe du fichier sudoers permet de ne donner d'autorisation que sur un fichier particuler, pas forcément une commande système. Ainsi, si les commandes de montage, purge et démontage sont dans un seul script (appelons le purge.sh) tu peux ne donner les droits de délégation d'identité que sur ce script purge.sh , ce qui est plus rassurant que d e le faire sur mount ou sur le répertoire /sbin par exemple
A+ JF
J'ai vu que je pourrais modifier "/etc/sudoers", mais j'aimerais assez,
si c'est possible, ne pas donner d'autorisation permanente.
Je ne sais pas trouvé si une instruction du genre de celle ci existe ?
exec_autre_user user:password cmd
Je t'invite à regarder plus en détail la doc de sudo. C'est exactemen t
ce qu'il te faut pour ton "exec_autre_user", mais en mieux car tu
n'auras pas à écrire de mot de passe dans ton script, ou modifier ce
script quand tu changes le mot de passe.
La syntaxe du fichier sudoers permet de ne donner d'autorisation que sur
un fichier particuler, pas forcément une commande système. Ainsi, si les
commandes de montage, purge et démontage sont dans un seul script
(appelons le purge.sh) tu peux ne donner les droits de délégation
d'identité que sur ce script purge.sh , ce qui est plus rassurant que d e
le faire sur mount ou sur le répertoire /sbin par exemple
J'ai vu que je pourrais modifier "/etc/sudoers", mais j'aimerais assez, si c'est possible, ne pas donner d'autorisation permanente. Je ne sais pas trouvé si une instruction du genre de celle ci existe ? exec_autre_user user:password cmd
Je t'invite à regarder plus en détail la doc de sudo. C'est exactemen t ce qu'il te faut pour ton "exec_autre_user", mais en mieux car tu n'auras pas à écrire de mot de passe dans ton script, ou modifier ce script quand tu changes le mot de passe.
La syntaxe du fichier sudoers permet de ne donner d'autorisation que sur un fichier particuler, pas forcément une commande système. Ainsi, si les commandes de montage, purge et démontage sont dans un seul script (appelons le purge.sh) tu peux ne donner les droits de délégation d'identité que sur ce script purge.sh , ce qui est plus rassurant que d e le faire sur mount ou sur le répertoire /sbin par exemple
A+ JF
Emmanuel Florac
Le Tue, 29 May 2007 09:44:28 +0200, Franssoa a écrit :
mais j'aimerais assez, si c'est possible, ne pas donner d'autorisation permanente. Je ne sais pas trouvé si une instruction du genre de celle ci existe ? exec_autre_user user:password
Justement, la méthode relativement sûre est fiable c'est sudo, parce que mettre un mot de passe dans un script, ça craint. Avec sudo, tu peux définir quelle commande est exécutable et comment :
Par exemple, pour autoriser l'utilisateur tartempion à exécuter la commande /bin/machin sur la machine "machine" en tant que guignol, sans demander de mot de passe :
Toutes les autres méthodes sont d'affreux bricolages qu'il faut proscrire.
-- Les défauts n'apparaissent qu'après que le programme a passé (avec succès) la phase d'intégration. Loi de Klipstein.
Le Tue, 29 May 2007 09:44:28 +0200, Franssoa a écrit :
mais j'aimerais assez, si c'est possible, ne pas
donner d'autorisation permanente. Je ne sais pas trouvé si une
instruction du genre de celle ci existe ? exec_autre_user user:password
Justement, la méthode relativement sûre est fiable c'est sudo, parce que
mettre un mot de passe dans un script, ça craint. Avec sudo, tu peux
définir quelle commande est exécutable et comment :
Par exemple, pour autoriser l'utilisateur tartempion à exécuter la
commande /bin/machin sur la machine "machine" en tant que guignol, sans
demander de mot de passe :
Le Tue, 29 May 2007 09:44:28 +0200, Franssoa a écrit :
mais j'aimerais assez, si c'est possible, ne pas donner d'autorisation permanente. Je ne sais pas trouvé si une instruction du genre de celle ci existe ? exec_autre_user user:password
Justement, la méthode relativement sûre est fiable c'est sudo, parce que mettre un mot de passe dans un script, ça craint. Avec sudo, tu peux définir quelle commande est exécutable et comment :
Par exemple, pour autoriser l'utilisateur tartempion à exécuter la commande /bin/machin sur la machine "machine" en tant que guignol, sans demander de mot de passe :
Toutes les autres méthodes sont d'affreux bricolages qu'il faut proscrire.
-- Les défauts n'apparaissent qu'après que le programme a passé (avec succès) la phase d'intégration. Loi de Klipstein.
Mihamina Rakotomandimby (R12y)
Franssoa wrote:
Mais mount ne peut être lancer qu'en root
Non non. Je peux, par exemple mounter un Data-CD en tant que simple user. Malheureusement, je ne saurais pas (exactement) te dire quelles options il faut fournir et ou les fournir. Une piste serait de voir l'option "user" dans /etc/fstab.
D'ailleurs 'man fstab' me dit:
The fourth field, (fs_mntops), describes the mount options associated with the filesystem.
It is formatted as a comma separated list of options. It contains at least the type of mount plus any addi? tional options appropriate to the filesystem type. For documentation on the available options for non-nfs file systems, see mount(8). For documentation on all nfs- specific options have a look at nfs(5). Common for all types of file system are the options ??noauto?? (do not mount when "mount -a" is given, e.g., at boot time), ??user?? (allow a user to mount), and ??owner?? (allow device owner to mount), and ??comment?? (e.g., for use by fstab-maintaining programs). The ??owner?? and ??comment?? options are Linux-specific. For more details, see mount(8).
Et par la suite, "umask" etc...
Franssoa wrote:
Mais mount ne peut être lancer qu'en
root
Non non.
Je peux, par exemple mounter un Data-CD en tant que simple user.
Malheureusement, je ne saurais pas (exactement) te dire quelles options il
faut fournir et ou les fournir.
Une piste serait de voir l'option "user" dans /etc/fstab.
D'ailleurs 'man fstab' me dit:
The fourth field, (fs_mntops), describes the mount
options associated with the filesystem.
It is formatted as a comma separated list of options.
It contains at least the type of mount plus any addi?
tional options appropriate to the filesystem type. For
documentation on the available options for non-nfs file
systems, see mount(8). For documentation on all nfs-
specific options have a look at nfs(5). Common for all
types of file system are the options ??noauto?? (do not
mount when "mount -a" is given, e.g., at boot time),
??user?? (allow a user to mount), and ??owner?? (allow
device owner to mount), and ??comment?? (e.g., for use
by fstab-maintaining programs). The ??owner?? and
??comment?? options are Linux-specific. For more
details, see mount(8).
Non non. Je peux, par exemple mounter un Data-CD en tant que simple user. Malheureusement, je ne saurais pas (exactement) te dire quelles options il faut fournir et ou les fournir. Une piste serait de voir l'option "user" dans /etc/fstab.
D'ailleurs 'man fstab' me dit:
The fourth field, (fs_mntops), describes the mount options associated with the filesystem.
It is formatted as a comma separated list of options. It contains at least the type of mount plus any addi? tional options appropriate to the filesystem type. For documentation on the available options for non-nfs file systems, see mount(8). For documentation on all nfs- specific options have a look at nfs(5). Common for all types of file system are the options ??noauto?? (do not mount when "mount -a" is given, e.g., at boot time), ??user?? (allow a user to mount), and ??owner?? (allow device owner to mount), and ??comment?? (e.g., for use by fstab-maintaining programs). The ??owner?? and ??comment?? options are Linux-specific. For more details, see mount(8).
Et par la suite, "umask" etc...
Franssoa
Je t'invite à regarder plus en détail la doc de sudo (...)
La syntaxe du fichier sudoers permet de ne donner d'autorisation que sur un fichier particuler, pas forcément une commande système. Ainsi, si les commandes de montage, purge et démontage sont dans un seul script (appelons le purge.sh) tu peux ne donner les droits de délégation d'identité que sur ce script purge.sh
Ah, ah, parfait. Je cours donc regarder le man de sudo. Merci
Franssoa
Je t'invite à regarder plus en détail la doc de sudo
(...)
La syntaxe du fichier sudoers permet de ne donner d'autorisation que sur
un fichier particuler, pas forcément une commande système. Ainsi, si les
commandes de montage, purge et démontage sont dans un seul script
(appelons le purge.sh) tu peux ne donner les droits de délégation
d'identité que sur ce script purge.sh
Ah, ah, parfait. Je cours donc regarder le man de sudo.
Merci
Je t'invite à regarder plus en détail la doc de sudo (...)
La syntaxe du fichier sudoers permet de ne donner d'autorisation que sur un fichier particuler, pas forcément une commande système. Ainsi, si les commandes de montage, purge et démontage sont dans un seul script (appelons le purge.sh) tu peux ne donner les droits de délégation d'identité que sur ce script purge.sh
Ah, ah, parfait. Je cours donc regarder le man de sudo. Merci
Franssoa
Michel Tatoute
Franssoa wrote:
Bonjour,
J'ai un petit script qui, depuis un serveur linux, dois contrôler la place dispo sur un disque windows du reseau et eventuellement faire automatiquement le ménage.
Le script est lancé par le serveur intranet (cherrypy) et doit tout d'abord mounter le disque samba. Mais mount ne peut être lancer qu'en root, or le serveur web n'a pas les droits.
généralement on peut faire en sorte, en utilisant fstab, que un user puisses monter un disque particulier... pas besoin de sudo.
J'ai vu que je pourrais modifier "/etc/sudoers", mais j'aimerais assez, si c'est possible, ne pas donner d'autorisation permanente. Je ne sais pas trouvé si une instruction du genre de celle ci existe ? exec_autre_user user:password cmd
Merci d'avance de vos avis de rien
Franssoa Michel
Franssoa wrote:
Bonjour,
J'ai un petit script qui, depuis un serveur linux, dois contrôler la
place dispo sur un disque windows du reseau et eventuellement faire
automatiquement le ménage.
Le script est lancé par le serveur intranet (cherrypy) et doit tout
d'abord mounter le disque samba. Mais mount ne peut être lancer qu'en
root, or le serveur web n'a pas les droits.
généralement on peut faire en sorte, en utilisant fstab, que un user puisses
monter un disque particulier... pas besoin de sudo.
J'ai vu que je pourrais modifier "/etc/sudoers", mais j'aimerais assez,
si c'est possible, ne pas donner d'autorisation permanente.
Je ne sais pas trouvé si une instruction du genre de celle ci existe ?
exec_autre_user user:password cmd
J'ai un petit script qui, depuis un serveur linux, dois contrôler la place dispo sur un disque windows du reseau et eventuellement faire automatiquement le ménage.
Le script est lancé par le serveur intranet (cherrypy) et doit tout d'abord mounter le disque samba. Mais mount ne peut être lancer qu'en root, or le serveur web n'a pas les droits.
généralement on peut faire en sorte, en utilisant fstab, que un user puisses monter un disque particulier... pas besoin de sudo.
J'ai vu que je pourrais modifier "/etc/sudoers", mais j'aimerais assez, si c'est possible, ne pas donner d'autorisation permanente. Je ne sais pas trouvé si une instruction du genre de celle ci existe ? exec_autre_user user:password cmd