Modification des autorisations pour / var / www / html

12

J'ai étudié ce sujet https://help.ubuntu.com/community/FilePermissions pendant un certain temps et je ne peux pas le faire fonctionner pour une raison quelconque.

En particulier, ces lignes m'intéressent le plus:

Pour modifier simultanément toutes les autorisations de chaque fichier et dossier dans un répertoire spécifié, utilisez sudo chmod avec -R

$ sudo chmod 777 -R /path/to/someDirectory
$ ls -l
total 3
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file1
drwxrwxrwx  2 user user 4096 Nov 19 20:13 folder
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file2

Voici ce que j'ai tapé:

mark@ubuntuserver:~$ sudo chmod 755 /var/www/html
mark@ubuntuserver:~$ ls -l
total 0

Ensuite, j'ai vérifié toutes les modifications dans sftp:

sftp> cd /
sftp> cd var/www/html
sftp> pwd
Remote working directory: /var/www/html
sftp> ls -l
-rw-r--r--    1 root     root        11321 Apr 10 20:07 index.html

De la sortie, il est clair que le répertoire html est toujours modifiable uniquement par root.

Comment puis-je changer cela de la manière dont moi (non root) peut télécharger des fichiers dans le répertoire html?

J'ai également testé:

Le propriétaire d'un fichier peut être modifié à l'aide de la commande chown. Par exemple, pour changer le propriétaire du fichier foobar en tux:

$ sudo chown tux foobar

J'ai tapé depuis le serveur:

sudo chown mark owner

aucun effet.

Mark Alexa
la source
Il manque l'option -r pour récursif. Et 777 est -never- la bonne modification à effectuer (sauf si vous définissez également l'option t (bit collant). Question: pourquoi le répertoire est-il vide à la 2e commande et rempli avec index.html à la 3e commande? Ces commandes NE SONT PAS émis avec les mêmes situations. sudo chown mark ownerqu'est-ce que cela suppose de faire? Comment se fait-il que vous y introduisiez un fichier ou un répertoire appelé "propriétaire"?
Rinzwind
Pour s'approprier un fichier ou un répertoire, vous devez spécifier qui est le nouveau propriétaire, le groupe (facultatif) et le fichier ou le répertoire. Par exemple, sudo chown user:user mydocsoù se trouvent le nouveau propriétaire et le nouveau groupe useret le répertoire dont vous vous appropriezmydocs
Gansheim
1
Dans ce cas, je laisserais la propriété du répertoire seule, pour modifier les autorisations pour ce répertoire spécifique afin que vous puissiez y écrire, définir des autorisations de lecture / écriture, la commande étantsudo chmod 766 -r /var/www/html
Gansheim
@Rinzwind semble avoir lancé la ls -lcommande depuis son répertoire personnel. @Mark Sauf si vous êtes dans le répertoire que vous essayez d'afficher / manipuler, vous devez spécifier le chemin d'accès, dans ce cas, vous devriez avoir émis la commande en tant quels -l /var/www/html
Gansheim
1
Comme les gars l'ont souligné, chmodchange les permissions, chownchange de propriétaire. 755 Le premier chiffre (7) signifie que «propriétaire» a toutes les autorisations, tandis que les deuxième et dernier chiffres (5) signifient que «groupe» et «autre» ont tous deux des autorisations de lecture et d'exécution. Vous pouvez ajouter votre utilisateur au groupe et lui accorder également des autorisations complètes afin de ne pas avoir à effectuer autant de modifications.
Samuel

Réponses:

11

Dans ce cas, je laisserais la propriété du répertoire seule. Pour modifier les autorisations pour ce répertoire spécifique afin que vous puissiez y écrire, définissez les autorisations de lecture / écriture, la commande étant sudo chmod 766 -R /var/www/html. Cela attribuera des autorisations complètes 7au propriétaire, en lecture / écriture 6pour le groupe et en lecture / écriture pour tout le monde 6, récursivement.

Gansheim
la source
9

Vous pouvez vous faire propriétaire de ce répertoire

sudo chown pi /var/www/html

Mais vous voulez vraiment définir les autorisations

chmod 755 -R /var/www/html

L'utilisation de l'option -R (récursive) garantit que vos fichiers de script et votre fichier .htaccess sont tous définis de la même manière.


Chaque fois que vous ajoutez un nouveau script, assurez-vous de le définir également de cette façon.

chmod 755 /var/www/html/cgi-bin/newscript.cgi

Notez que certains programmes CGI ont leurs propres exigences, comme

Enregistreur de visiteurs de site Web Bestdam + compteur de résultats

Extrait:

Ouvrez le fichier bdlogger.pl dans un éditeur de texte et si nécessaire, modifiez la ligne shebang.

Sur le serveur, créez un sous-répertoire bdlogger sous votre répertoire cgi-bin et transférez-y le script et les fichiers de données en utilisant le mode ASCII

Si vous utilisez un serveur UNIX / Linux, modifiez les fichiers:

bdlogger.pl to 755
all other files to 666

Ajoutez la balise de directive SSI suivante à vos pages Web:

<!--#exec cgi="/cgi-bin/bdlogger/bdlogger.pl" -->
SDsolar
la source
5

Vous devez définir le propriétaire du dossier www de 'root' à 'Me'.

Depuis votre terminal, exécutez la commande:

sudo chown -R your_system_username /var/www

Esperons que ça marche!!

Génie
la source
2

Bien que les réponses ci-dessus feront à peu près l'affaire, il s'agit d'une approche plus saine. Il y a de fortes chances que vous souhaitiez modifier des fichiers dans / var / www / html car vous souhaitez ajouter une application Web à diffuser Apache2. Pour y parvenir, vous avez besoin des étapes suivantes

  1. Ajoutez l'utilisateur au groupe d'utilisateurs www-dataqui a la propriété par défaut du dossier. Pourquoi? Parce que si vous avez l'intention de faire des changements sur l'application Web de manière dynamique, même si elle l'est wordpress, vous aurez besoin que les utilisateurs de ce groupe aient des autorisations d'écriture. Pour ce faire, écrivez simplement: sudo adduser username grouptoaddDans notre cas, ce sera le cas sudo adduser username www-data.
  2. Ensuite, vous devez modifier la read/write permissionsà l'aide de la chmodcommande. N'oubliez pas que vous faites maintenant partie du groupe d'utilisateurs et que vous n'avez pas besoin de changer de propriétaire à l'aide de chown. Pour ce faire, exécutez simplement:, sudo chmod -R 766 directorydans ce cas, ce sera sudo chmod -R 766 html. Si vous vous sentez sportif, vous pouvez obtenir des autorisations d'écriture complètes (777), selon la sécurité de votre application.

Il -Rs'agit d'une fonction récursive permettant à la commande de s'appliquer à tous les sous-répertoires. J'espère que cela aide quelqu'un dans le besoin.

AntonyMN
la source