J'utilise un serveur Ubuntu 14.04.1 LTS sur Digital Ocean. J'essaie de le faire pour pouvoir éditer des fichiers dans /srv/www
à partir de mon compte d'utilisateur normal, sans avoir besoin d'être root.
Actuellement, /srv/www
appartient à www-data:www-data
:
Sudo chown -R www-data:www-data /srv/www
J'ai également défini les autorisations sur tous les fichiers sur 664
et sur les répertoires sur 755
:
Sudo find /srv/www/ -type f -exec Sudo chmod 644 {} \;
Sudo find /srv/www/ -type d -exec Sudo chmod 755 {} \;
Et j'ai ajouté mon utilisateur, shea
, au groupe www-data
:
Sudo adduser shea www-data
Cependant, lorsque j'essaie de touch /srv/www/foo
, le message d'erreur suivant s'affiche:
touch: cannot touch ‘/srv/www/foo’: Permission denied
Cela fonctionne bien si je préfixe Sudo
à cette commande, mais je préfère ne pas le faire tout le temps; De plus, cela ne fonctionne pas sur SFTP.
Changer le propriétaire en shea:www-data
me permet d'écrire dans les fichiers, mais alors WordPress ne pourra pas mettre à jour les plugins et les thèmes.
Sudo chown -R shea:www-data /srv/www
Existe-t-il de toute façon que les utilisateurs www-data
et shea
puissent tous deux accéder à /srv/www
? J'avais l'impression que l'ajout des deux utilisateurs à un groupe ferait l'affaire, mais je n'arrive pas à le faire fonctionner.
Vous définissez 644 qui est un groupe de lecture, pas écrire!
Sudo chown -R www-data:www-data /srv/www
Sudo chmod -R g+w /srv/www
J'ai eu un problème similaire avec 16.04 sur DigitalOcean. Voici les étapes que j'ai suivies:
Donnez un accès en écriture au groupe associé à un fichier sous /var/www/html
Sudo find /srv/www/ -type f -exec Sudo chmod 664 {} \;
Ajoutez myuser
au groupe www-data
:
Sudo adduser myuser www-data
Confirmez les autorisations, par exemple:
ls -la /var/www/html/wp-content/themes/responsive/style.css
donne
-rw-rw-r-- www-data www-data 3892 Jan 1 2017 style.css
Confirmer l'appartenance au groupe: id myuser
donne
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),33(www-data),110*lxd)
Cependant, lorsque j'ai ensuite essayé de mettre à jour style.css
sans Sudo
avec mon compte myuser
, j'ai obtenu une erreur permission denied
.
Je devais me déconnecter et me reconnecter à nouveau pour toutes les sessions enregistrées en tant que myuser
avant que les nouvelles autorisations ne prennent effet. Je ne sais pas pourquoi, mais j'espère que cela pourra aider quiconque dans une situation similaire.