2009-08-09 13 views

Répondre

6

Possédant /var/www vous pourrait entrer en conflit avec d'autres options sur votre système. Sur mon système Debian je referais ce

sudo addgroup www 
sudo adduser nr www # add myself to the www group 
sudo chgrp -R www /var/www # make files in the group 
find /var/www -type f -exec chmod g+w '{}' ';' # make each file group writable 
find /var/www -type d -exec chmod g+ws '{}' ';' # make each directory group writable and sticky 

Si le répertoire est un groupe inscriptible et collant, tous les fichiers créés dans /var/www seront modifiables par tout le monde dans le groupe www, peu importe qui ou ce qui les crée là. (Attention: ils doivent être créés par des moyens "normaux"; cp -a peut contourner le bit collant du groupe.)

Parce que Unix est incroyablement stupide à propos de l'appartenance à un groupe, pour que votre adhésion soit honorée, vous devrez vous reconnecter, Par exemple, ssh localhost ou déconnectez-vous et reconnectez-vous. Une nuisance.

+1

Bien que les autres réponses fonctionnent, celle-ci est la bonne façon.+1 – MitMaro

+1

Je lance 'cp -r codes/var/www/sans succès en obtenant une longue liste des erreurs suivantes' cp: impossible de créer le fichier régulier /var/www/codes/index.php ': Permission denied'. Cela me suggère que quelque chose d'autre doit être changé. –

1

Qu'en est-il ajouter la tâche cron à l'utilisateur root. Ce n'est pas une bonne idée, mais ça va contourner le problème?

Je trouve aussi intéressant que votre répertoire www aurait seulement des autorisations root et appartenir à la racine. Habituellement, ils sont la propriété d'un utilisateur Apache ou ont d'autres autorisations telles que Apache peut y accéder.

Modifier Vous ne voulez probablement pas modifier le fichier crontab directy. Mais quelque chose de similaire à la commande suivante devrait fonctionner:

sudo crontab -e -u root 

Vous ne pouvez pas besoin du -u root mais il est bon si ne confondez pas sudo crontab.

Edit 2 Vous pouvez modifier les autorisations avec les chmod et chown commandes:

sudo chmod 755 /path 
sudo chown user:user /path 

Soyez très très prudent lorsque vous utilisez cela. Vous pouvez complètement bousiller le système d'exploitation en modifiant les autorisations sur les mauvais fichiers ou dossiers. Vous voudrez probablement ajouter l'option -R qui appliquera les permissions ou le propriétaire récursivement, mais encore une fois, soyez très prudent.

+0

Comment pouvez-vous faire cela? - Je cours sans succès 'sudo -i'; vim/etc/crontab'. Ajouter ce qui suit au fichier '1 * * * * root sudo cp -r/home/masi/Dropbox/codes// var/www /' –

+0

Comment pouvez-vous modifier les droits de propriétaire du dossier/var/www? –

-1
sudo chown yourusername /var/www 

Et vous deviendrez le nouveau propriétaire de /var/www.

+0

Chaque fichier à l'intérieur des codes/var/www/appartient à root. Est-ce que la commande suivante me permet de copier 'sudo chown/var/www/codes/*'? –

+0

'chown -R' pour' chown' récursif. –

+2

Ce n'est pas une bonne idée et peut causer des problèmes avec d'autres utilisateurs et même apache lui-même. – MitMaro