Remplir un fichier

Résolu
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Quand j'essaie de remplir la contenue d'un fichier, j'ai un problème de droit.
Comment dois-je faire ?
Merci.

laurent@PC-ubuntu:~$ sudo echo -e '<html><body><h1>Il fonctionne!</h1>' > /var/www/index2.html 
bash: /var/www/index2.html: Permission non accordée 
laurent@PC-ubuntu:~$ 


A voir également:

8 réponses

mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Peux-tu nous donner le résultat des commandes suivantes ?

lsattr /var/www/index2.html
mount


Bonne chance
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonsoir,

Voila le résultat

laurent@PC-ubuntu:~$ lsattr /var/www/index2.html
-------------e- /var/www/index2.html
laurent@PC-ubuntu:~$ 


laurent@PC-ubuntu:~$ mount
/dev/sdc1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sdc6 on /home type ext4 (rw)
/dev/sdc5 on /opt type ext4 (rw)
/dev/sdc3 on /var type ext4 (rw)
/dev/sdc4 on /var/www type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/laurent/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=laurent)
/dev/sdc8 on /media/a52899d8-5ed6-451b-ab90-1c29ca5d565a type ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sdb10 on /media/70e706b8-9b4b-4de9-9838-75a3ebc7bedf type ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sdb11 on /media/27f092bf-ffa6-4f44-83bd-57dd0d6fca35 type ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sdb12 on /media/d14fa685-3281-4837-bdd9-c92b4beebcf3 type ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sdb1 on /media/2695ff93-917c-4508-9e1c-17a032c1548d type ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sdb13 on /media/2701b454-f94c-40d2-8a87-1e552821f7e0 type ext4 (rw,nosuid,nodev,uhelper=udisks)
laurent@PC-ubuntu:~$ 


Merci.
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Ok donc je pense que c'est l'attribut "e" dans les droits ext qui est bloquant.

Essaye de le désactiver avec la commande :

sudo chattr -e /var/www/index2.html


Normalement si tu refais lsattr tu ne devrais plus voir le "e". Et dès lors tu devrais pouvoir supprimer ce fichier.

Bonne chance
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonsoir,

La commande ne marche pas.
laurent@PC-ubuntu:~$ sudo chattr -e /var/www/index2.html
[sudo] password for laurent: 
chattr: La suppression du drapeau extent n'est pas supportée sur /var/www/index2.html
laurent@PC-ubuntu:~$ 
0

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

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
la redirection est traitée par le shell courant, pas le sudo, essayer:
sudo bash -c 'echo -e "<html><body><h1>Il fonctionne!</h1>" > /var/www/index2.html'
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Je viens de vérifier, normalement le flag extent (e) n'empêche pas la suppression donc chattr n'est pas utile. Ça aurait du sens s'il s'agissait d'autre flags (genre s, i, a) mais donc ici ça n'a pas d'impact.

La commande indiquée par dubcek est correcte.

Bonne chance
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour

Oui la commande indiqué par dubcek fonctionne.

Ce pendant j'ai une question, je rempli le fichier avec un script bash :

echo "Mise en place de la page d'accueil de apache en français" 
sudo bash -c 'echo -e "<html><body><h1>Il fonctionne!</h1>" > /var/www/index2.html' 
sudo bash -c 'echo -e "<p>Ceci est la page Web par défaut pour ce serveur.</p>" >> /var/www/index2.html' 
sudo bash -c 'echo -e "<p>Vous êtes sur le pc '$IPINT'  </p>" >> /var/www/index2.html' 
sudo bash -c 'echo -e "<p>Le logiciel de serveur Web fonctionne, mais aucun contenu a été ajouté, encore.</p>" >> /var/www/index2.html' 
sudo bash -c 'echo -e "</body></html>" >> /var/www/index2.html'


Avec cette ligne dans mon fichier bash
sudo bash -c 'echo -e "<p>Vous êtes sur le pc '$IPINT'  </p>" >> /var/www/index2.html'


Y aura t'il l'adresse ip d'indiqué ou juste la variable $IPINT dans le fichier ?
Je veux indiquer l'adresse ip interne du pc dans le fichier, mais j'ai un doute ?
il faut qu'il est d'inscrit 192.168.0.2 et non $IPINT.
Merci.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
les " et les ' mélangés, faut tester ... :
plus simple:
echo "Mise en place de la page d'accueil de apache en français" 
cat <<EOF | sudo bash -c 'cat > /var/www/index2.html' 
<html><body><h1>Il fonctionne!</h1> 
<p>Ceci est la page Web par défaut pour ce serveur.</p> 
<p>Vous êtes sur le pc $IPINT  </p> 
<p>Le logiciel de serveur Web fonctionne, mais aucun contenu a été ajouté, encore.</p> 
</body></html> 
EOF
$IPINT sera bien résolue
0