web-dev-qa-db-fra.com

Les fichiers téléchargés peuvent-ils remplacer les autorisations Apache?

J'enseigne des cours de développement Web aux majors des arts libéraux, et le serveur Web (Ubuntu Apache) est situé dans mon bureau. Au début de chaque semestre, je crée des répertoires public_html pour chacun de mes étudiants et définit récursivement les autorisations pour que leurs fichiers soient correctement servis.

De temps en temps, un élève signale des problèmes d’autorisation avec un fichier qu’il a téléchargé. Il est assez facile de résoudre ce problème en modifiant les autorisations dans Filezilla, mais je me suis toujours interrogé sur la nature apparemment incohérente de ce problème.

Explication possible 1. Je me suis trompé lors de la création du compte et je ne me souvenais pas de définir récursivement les autorisations.

Explication possible 2. Certaines autorisations associées au fichier téléchargé remplacent déjà celles que j'avais définies sur le serveur.

Basé sur tout ce que je pense comprendre sur les serveurs Web, la première option semble beaucoup plus probable. L'explication possible 2 est-elle théoriquement possible?

Merci!

2
Aaron Delwiche

"Option 1."

Ecrire un script. Quelque chose comme

create_account <student name>

va bien faire. Dans le script, créez le ou les répertoires, puis assurez-vous que les autorisations sont correctes. Plus ou moins, quelque chose comme ça:

mkdir -p ~$1/public_html/{js,css,images}
chown -R $1:www-data ~$1/public_html

Vous pouvez également créer le compte étudiant en même temps. (user_add)

Notez que mon exemple suppose que le <student name> est un mot (sans espace ni caractères spéciaux), ce qui correspond généralement à ce que vous obtenez avec les utilisateurs Unix.

"Option 2."

Vous mentionnez Filezilla, qui est un outil FTP.

La plupart des outils FTP ont les instructions CHOWN et CHMOD qu'ils peuvent utiliser pour modifier la propriété et les autorisations.

La commande CHOWN échoue si l'utilisateur ne dispose pas d'autorisations élevées sur le serveur de destination.

L'instruction CHMOD peut réussir et supprimer, par exemple, des autorisations en écriture.

Dans tous les cas, l’utilisateur/propriétaire du fichier peut modifier les autorisations avec un autre CHMOD. Je ne sais pas si Filezilla soutient un tel projet, mais cela pourrait être le cas. Je ne sais pas non plus s’il appliquerait automatiquement le CHMOD, surtout si le fichier provient d’un système MS-Windows.

Pour mieux répondre à cette "option" (il s'agit en réalité d'un "cas"), vous devez savoir si vous pouvez reproduire le problème après avoir exécuté votre script parfait. Commencez par corriger le script, puis réessayez.

Notes annexes

FTP n'est pas considéré comme sûr, SSH est beaucoup plus sûr. Il y a SFTP qui fonctionne sur SSH et vous devriez au moins l'utiliser. Vous ne spécifiez pas, donc je ne peux pas dire si vous utilisez le mauvais protocole ou non.

1
Alexis Wilke