OVH Cloud OVH Cloud

Droits d'accès

4 réponses
Avatar
Zouplaz
Bonjour, il m'arrive un truc étrange - J'ai constaté qu'un compte
utilisateur (apache, groupe apache) peut dans un répertoire donné créer
un fichier mais ne peut pas y écrire (le fichier reste donc vide)

Ce qui est extrêmement bizarre c'est que le problème est apparu sur deux
machines différentes au même moment et je ne me souviens pas avoir
modifié les droits d'accès sur aucune des deux.

Voici ce que ça donne :

/usr/local/www/www_site/site/

Chaque répertoire si dessus a comme droit
drwxr-xr-x 15 root root

Puis on trouve en dessous les répertoires news/pub_images
ces deux là ont comme droit
drwxr-xr-x 4 apache root


A partir de là je fais su apache, cd
/usr/local/www/www_site/site/news/pub_images

echo "test" > test.txt

Le fichier test.txt est crée mais il est vide...


Et franchement je n'y comprends rien...


Merci de votre aide

4 réponses

Avatar
lhabert
Zouplaz :

/usr/local/www/www_site/site/news/pub_images

echo "test" > test.txt

Le fichier test.txt est crée mais il est vide...


Tu nous montres un ll dessus?

Et un « strace sh -c 'echo test > test.ploum' », pendant qu'on y est.

Avatar
Zouplaz
Luc Habert wrote:


Et un « strace sh -c 'echo test > test.ploum' », pendant qu'on y est.



Et bien, merci du tuyau car strace a sorti ceci :

write(1, "testn", 5) = -1 ENOSPC (No space left on
device)


Disques pleins, c'était aussi bête que ça... Mais je suis estomaqué de
voir qu'aucun message d'erreur n'apparait sous bash !!

Avatar
Nicolas George
Zouplaz wrote in message <44181169$0$13016$:
Disques pleins, c'était aussi bête que ça... Mais je suis estomaqué de
voir qu'aucun message d'erreur n'apparait sous bash !!


Ce ne serait pas à bash de le faire, mais à echo. Beaucoup de programmes
négligent de tester les erreurs en écriture lors de l'affichages de simples
messages de sortie. cp, par exemple, dont l'objet principal et d'écrire des
fichiers, aurait donné un message correct.

Avatar
lhabert
Nicolas George :

Ce ne serait pas à bash de le faire, mais à echo.


Euh, bash a echo en builtin, quand même.