web-dev-qa-db-fra.com

Autorisation de supprimer des fichiers

Je suis très nouveau sur Ubuntu. J'ai installé Apache et j'ai le répertoire/var/www mais je ne peux pas supprimer anyhting dans ce répertoire. Il dit: You are not the owner Maintenant, je suppose que je dois me connecter en tant que root? mais comment puis-je me connecter en tant que root et quel est le mot de passe standard pour root? Aussi, comment puis-je donner à mon propre utilisateur les mêmes autorisations? Encore une fois, j'ai peu de connaissances sur Linux et Ubuntu, etc.

2
Loko

Ubuntu par défaut n'autorise pas la connexion en tant que root. C'est pour des raisons de sécurité. Ubuntu utilise Sudo, qui permet aux utilisateurs d'émettre des commandes avec des privilèges administratifs.

L'utilisateur créé lors de l'installation devient automatiquement un utilisateur administratif, ce qui signifie qu'il est déjà configuré pour utiliser Sudo.

N'utilisez pas le gestionnaire de fichiers graphique. Utilisez plutôt le terminal.

ctrl+alt+t ouvrira le terminal.

cd /var/www vous mènera au répertoire.

Vous pouvez supprimer des fichiers avec Sudo rm [files to delete].

Vous serez invité à saisir votre mot de passe Sudo, identique à votre mot de passe habituel. Rien ne s'affiche à l'écran lorsque vous tapez votre mot de passe.

Soyez très prudent. rm supprime les fichiers immédiatement et ne peut généralement pas être annulé. Vérifiez et revérifiez les fautes de frappe.

Vous pouvez utiliser rm -i [filename] pour obtenir un Êtes-vous sûr? Invite.

4
chaskes

Il y a 2 façons de résoudre ce problème.

1) ajoutez-vous au groupe de propriétaires et définissez la premission à l'aide de chmod sur 775 (voir ci-dessous). Cette opération peut être effectuée à l'aide des commandes suivantes:

Sudo adduser yourusername www-data

En supposant que le groupe de propriétaires soit www-data. Cela peut aussi être "Apache", vérifiez ce qui fonctionne.

Ensuite, vous devrez changer les autorisations pour les fichiers vous-même en utilisant chmod.

Lorsque vous utilisez chmod, vous devez savoir qu'il existe trois types d'utilisateurs Linux pour lesquels vous définissez des autorisations. Par conséquent, lors de la définition des autorisations, vous les affectez pour "vous-même", "votre groupe" et "tout le monde" dans le monde.

Par conséquent, lors de la définition des autorisations sur un fichier, vous souhaiterez attribuer les trois niveaux d'autorisations, et non pas un seul utilisateur.

Ainsi, en termes simples, si vous souhaitez qu'un fichier soit lisible et exécutable par tout le monde, accessible en écriture et exécutable par vous seul, vous devez écrire la commande chmod avec la structure suivante.

COMMAND : OWNER : GROUP : WORLD : PATH

donc dans votre cas, il faudrait que ce soit comme ça:

chmod -R 775 /var/www

(Le -R sert à le rendre récursif, ce qui signifie que tous les sous-dossiers obtiennent les mêmes autorisations) Les chiffres reprisent ce tableau

7 = 4+2+1 (read/write/execute)
6 = 4+2 (read/write)
5 = 4+1 (read/execute)
4 = 4 (read)
3 = 2+1 (write/execute)
2 = 2 (write)
1 = 1 (execute)

L'autre solution consiste à modifier les autorisations en 745 sans vous ajouter au groupe www.

S'il vous plaît NE PAS utiliser 777 pour vos permissions de fichiers sur le serveur web !!!

2
Akisame