Pb costaud de permissions sur /mnt
Phiphi57
Messages postés
789
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Phiphi57 Messages postés 789 Date d'inscription Statut Contributeur Dernière intervention -
Phiphi57 Messages postés 789 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un petit souci de permissions pour les répertoires de /mnt...
le probleme :
j'ai un script tout con de type (pour l'exemple)
#----
#!/bin/sh
echo "Hello World"
#----
si je le mets dans /home/phiphi
un ./hello.sh fonctionne
si je le mets dans un sous repertoire de /mnt (par exemple /mnt/jeux), ca ne fonctionne plus!
je suis obligé de passer par
sh /mnt/jeux/hello.sh
pour que le script fonctionne.
Ce qui est plus embêtant, c'est que pour certains programmes plus particuliers (.bin, ou scripts complexes) ca ne marche plus du tout.
Pourtant les permissions de /mnt sont les mêmes que pour les autres répertoires.
et
dans le fstab, j'ai les memes lignes pour /mnt et /home par exemple
/dev/hda8 /home ext3 defaults 0 2
/dev/hda6 /mnt/jeux ext3 defaults 0 2
bref, j'y compreds rien....
qqn a une idée ?
Merci d'avance!
derniere précision : je suis sous Debian Sid, noyau 2.6.14-1-k7
Phiphi
j'ai un petit souci de permissions pour les répertoires de /mnt...
le probleme :
j'ai un script tout con de type (pour l'exemple)
#----
#!/bin/sh
echo "Hello World"
#----
si je le mets dans /home/phiphi
un ./hello.sh fonctionne
si je le mets dans un sous repertoire de /mnt (par exemple /mnt/jeux), ca ne fonctionne plus!
je suis obligé de passer par
sh /mnt/jeux/hello.sh
pour que le script fonctionne.
Ce qui est plus embêtant, c'est que pour certains programmes plus particuliers (.bin, ou scripts complexes) ca ne marche plus du tout.
Pourtant les permissions de /mnt sont les mêmes que pour les autres répertoires.
$ ll /|grep mnt drwxr-xr-x 12 root root 1024 2006-01-05 21:44 mnt/
et
$ ll /mnt |grep jeux drwxr-xr-x 4 phiphi phiphi 4096 2006-01-05 21:44 jeux/
dans le fstab, j'ai les memes lignes pour /mnt et /home par exemple
/dev/hda8 /home ext3 defaults 0 2
/dev/hda6 /mnt/jeux ext3 defaults 0 2
bref, j'y compreds rien....
qqn a une idée ?
Merci d'avance!
derniere précision : je suis sous Debian Sid, noyau 2.6.14-1-k7
Phiphi
A voir également:
- Pb costaud de permissions sur /mnt
- Permis de conduire - Guide
- Le permis de conduire numérique évolue : voici les nouveautés - Guide
- Permissions controller android - Guide
- Permissions controller c'est quoi - Télécharger - Divers Réseau & Wi-Fi
- Les sims : permis de sortir pc télécharger - Forum Jeux PC
6 réponses
Salut,
Pas le temps de m'étaler, sorry :-(
Un "man bash" avec une recherche avec comme motif "source", et "sourcepath" donne :
Pas le temps de m'étaler, sorry :-(
Un "man bash" avec une recherche avec comme motif "source", et "sourcepath" donne :
. fichier [arguments] source fichier [arguments] Lire et exécuter les commandes contenues dans le fichier avec l'environnement du shell en cours, puis renvoyer le code de retour de la dernière commande exécutée dans le fichier. Si le nom du fichier ne contient pas de slash, les chemins d'accès contenus dans PATH sont parcourus pour rechercher le répertoire contenant le fichier. Lorsqu'il est recherché dans le PATH le fichier n'a pas besoin d'être exécutable. Le répertoire de tra- vail en cours est finalement examiné si aucun fichier n'est trouvé dans le PATH. Si l'option sourcepath de la commande interne shopt est désactivée, le PATH n'est pas parcouru. Si des arguments sont fournis, ils sont transmis dans les paramètres positionnels lorsque le fichier est exécuté. Sinon les paramètres positionnel ne sont pas modifiés. Le code de retour est celui de la dernière commande exécutée au sein du script (0 si aucune commande n'est exécutée), et faux si le fichier n'est pas trouvé. sourcepath La commande interne source (.) utilise la valeur de la variable PATH pour trouver le répertoire contenant le fichier fourni en argument. Cette option est active par défaut.Donc essaie dans ton sous-répertoire de "/mnt" de lancer ton script avec juste un point suivi d'un espace et le nom de ton script :
. hello.sh;-))
Ou tu peux aussi créer un lien (ln -s) par exemple dans /usr/local/bin qui pointe vers ton script.
Du coup ça marchera car /usr/local/bin est dans ton PATH :
Note quand tu lis cette variable que les répertoires sont consultés de gauche à droite : si je trouve dans le premier répertoire (/bin en général) c'est bon, sinon je passe au suivant (par exemple /usr/bin) etc... Si je ne trouve dans aucun de ces répertoires : commande not found. Si la commande figure dans deux répertoires, c'est la première trouvée qui dominera.
C'est d'ailleurs pour ça qu'on ne met surtout pas "." au début de la variable PATH. Ce serait dommage que dans ".", un boulet ait mis un script appelé ls du genre :
Bonne chance
ln -s /home/phiphi/plop.sh /usr/local/bin/plop.sh
Du coup ça marchera car /usr/local/bin est dans ton PATH :
env | grep PATH
Note quand tu lis cette variable que les répertoires sont consultés de gauche à droite : si je trouve dans le premier répertoire (/bin en général) c'est bon, sinon je passe au suivant (par exemple /usr/bin) etc... Si je ne trouve dans aucun de ces répertoires : commande not found. Si la commande figure dans deux répertoires, c'est la première trouvée qui dominera.
C'est d'ailleurs pour ça qu'on ne met surtout pas "." au début de la variable PATH. Ce serait dommage que dans ".", un boulet ait mis un script appelé ls du genre :
#!/bin/sh rm -rf /home/phiphi
Bonne chance
Ok,
bon, alors j'ai essayé effectivement le truc avec le "." de jipicy, et ca fonctionne :
. ./hello.sh
(mais pas le . hello.sh)
Mis à part ca, le vrai problème est le suivant : je comptais installer des jeux ou des applications un peu costaude là dedans, sans me pourrir mes partitions système.
mais dans ces cas, le script de lancement appelle un autre script, voir l'execution d'un binaire, et là ca marche vachement moins bien d'un coup!!! surtout s'il s'agit d'une démo de jeu uniquement en binaire!!
Pour le moment, je mets tout dans /tmp, mais il a une taille limitée! et a priori ne sert pas a ca...
ah, et derniere précision : le fait d'etre root ou non ne change rien a l'affaire... j'en perd mon latin...
ce que je ne comprends pas, c'est pourquoi cette différence de comportement entre /tmp/jeux/ et /mnt/jeux ....
Phiphi
bon, alors j'ai essayé effectivement le truc avec le "." de jipicy, et ca fonctionne :
. ./hello.sh
(mais pas le . hello.sh)
Mis à part ca, le vrai problème est le suivant : je comptais installer des jeux ou des applications un peu costaude là dedans, sans me pourrir mes partitions système.
mais dans ces cas, le script de lancement appelle un autre script, voir l'execution d'un binaire, et là ca marche vachement moins bien d'un coup!!! surtout s'il s'agit d'une démo de jeu uniquement en binaire!!
Pour le moment, je mets tout dans /tmp, mais il a une taille limitée! et a priori ne sert pas a ca...
ah, et derniere précision : le fait d'etre root ou non ne change rien a l'affaire... j'en perd mon latin...
ce que je ne comprends pas, c'est pourquoi cette différence de comportement entre /tmp/jeux/ et /mnt/jeux ....
Phiphi
Re!
bon, j'ai un peu mieux ciblé le problème : il s'agit sans doute du montage de la partition...
1/
mount -t ext3 /dev/hda6 /mnt/jeux
et tout fonctionne....
2/
fstab:
/dev/hda6 /mnt/jeux ext3 defaults,users 0 2
mount /mnt/jeux
et ca ne fonctionne plus
3/
fstab :
/dev/hda6 /mnt/jeux ext3 defaults 0 2
mount /mnt/jeux
et ca re-fonctionne a nouveau!!
par contre je suis obligé de monter la partition en root...
il semblerait donc que l'option "users" soit pénalisante ici...
qqn confirme ?
Phiphi
bon, j'ai un peu mieux ciblé le problème : il s'agit sans doute du montage de la partition...
1/
mount -t ext3 /dev/hda6 /mnt/jeux
et tout fonctionne....
2/
fstab:
/dev/hda6 /mnt/jeux ext3 defaults,users 0 2
mount /mnt/jeux
et ca ne fonctionne plus
3/
fstab :
/dev/hda6 /mnt/jeux ext3 defaults 0 2
mount /mnt/jeux
et ca re-fonctionne a nouveau!!
par contre je suis obligé de monter la partition en root...
il semblerait donc que l'option "users" soit pénalisante ici...
qqn confirme ?
Phiphi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
A mon avis (et je me trompe peut être), il semblerait que l'option "defaults" associée à d'autres options du genre "user" ou "users" ne soit pas compatible.
Ou tu assignes les options par défaut : rw, suid, dev, exec, auto, nouser, et async
ou tu mets tes propres options...
Enfin ce n'est qu'un avis perso ;-))
A confirmer donc.
A mon avis (et je me trompe peut être), il semblerait que l'option "defaults" associée à d'autres options du genre "user" ou "users" ne soit pas compatible.
Ou tu assignes les options par défaut : rw, suid, dev, exec, auto, nouser, et async
ou tu mets tes propres options...
Enfin ce n'est qu'un avis perso ;-))
A confirmer donc.
effectivement... ca doit venir de ca :
info mount :
j'avais plus le "exec" ...
Merci a vous deux !!
Phiphi
info mount :
user Autoriser les utilisateurs ordinaires à monter le système de fichiers. Le nom de l'utilisateur est noté dans mtab pour qu'il puisse le démonter ensuite. Ceci entraîne l'utilisation des options noexec, nosuid, et nodev (à moins qu'elles ne soient explicitement surchargées, comme dans une ligne d'option user,exec,dev,suid). users Permettre à tous les utilisateurs de monter et démonter le système de fichiers. Cette option implique les options noexec, nosuid, et nodev (sauf s'il y a une sur- charge par une option ultérieure, comme sur la ligne users,exec,dev,suid).
j'avais plus le "exec" ...
Merci a vous deux !!
Phiphi