Quelle est la particularité de l'autorisation Linux 004?

23

Je lisais Unix pratique et Internet Security , quand je suis tombé sur les lignes suivantes que je ne pouvais pas comprendre.

Si vous utilisez le serveur d'archives wu, vous pouvez le configurer de telle manière que les fichiers téléchargés soient téléchargés en mode 004 , afin qu'ils ne puissent pas être téléchargés par un autre client . Cela offre une meilleure protection que de simplement rendre le répertoire illisible , car cela empêche les gens de télécharger des fichiers et de dire à leurs amis le nom de fichier exact à télécharger.

Une permission de 004 correspond à -------r--. Un fichier ne peut-il pas être téléchargé s'il dispose d'un accès en lecture? Aussi pourquoi est-il considéré comme meilleur que de simplement rendre le répertoire non lisible? Qu'est-ce que cela implique?

Remarque: Cela concerne les utilisateurs non autorisés qui laissent du matériel illégal et protégé par des droits d'auteur sur des serveurs utilisant un FTP anonyme. La solution ci-dessus a été suggérée pour éviter cela ainsi qu'un script qui supprime le contenu du répertoire après un certain temps.

Aswin PJ
la source
Plus précisément, il semble qu'il fait référence à WU-FTP , de renommée wuarchive.wustl.edu.
Parthian Shot
2
voici UMASK 004 et non une autorisation!
Afsin Toparlak
3
@AfsinToparlak non, c'est définitivement une permission positive, pas un umask. Voir la réponse acceptée.
o11c
"Un fichier ne peut pas être téléchargé s'il dispose d'un accès en lecture" Ce n'est pas tout à fait correct. Tout le monde sauf l'utilisateur et le groupe propriétaire du fichier a un accès en lecture.
scai
1
En ce qui concerne " Cela offre une meilleure protection que de simplement rendre le répertoire illisible, car cela empêche les gens de télécharger des fichiers et de dire à leurs amis le nom de fichier exact à télécharger. " ... une astuce plus tôt consistait à faire une zone de téléchargement quelque chose comme 333( ou d-wx-wx-wx) qui permettaient aux utilisateurs (utilisateurs FTP) de créer des fichiers, mais comme il n'y a pas d'autorisation de lecture [sur le répertoire], ils ne pouvaient pas répertorier les fichiers dans le répertoire de téléchargement. Cependant, si vous connaissiez le nom, vous pouviez lire / télécharger les fichiers.
TripeHound

Réponses:

33

Les autorisations 004 (------ r--) signifient que le fichier ne peut être lu que par des processus qui ne s'exécutent pas en tant que même utilisateur ou en tant que même groupe que le serveur FTP. C'est plutôt inhabituel: généralement l'utilisateur a plus de droits que le groupe et le groupe a plus de droits que les autres. Normalement, l'utilisateur peut modifier les autorisations, il est donc inutile de donner des autorisations plus restrictives à l'utilisateur. Cela a du sens ici car le serveur FTP (probablement) n'a pas de commande pour modifier les autorisations, donc les fichiers conserveront leurs autorisations jusqu'à ce que quelque chose d'autre les modifie.

Étant donné que l'utilisateur sur lequel s'exécute le serveur FTP ne peut pas lire les fichiers, les utilisateurs ne pourront pas télécharger le fichier. Cela rend impossible l'utilisation du serveur FTP pour partager des fichiers.

Vraisemblablement, certains processus s'exécutant en tant qu'utilisateur et groupe différents lisent le fichier à un moment donné, vérifient qu'il est conforme à une stratégie, copie les données si c'est le cas et supprime le fichier téléchargé.

Il aurait été plus logique pour moi de donner au fichier les autorisations 040 (lisibles par le groupe uniquement) et de faire exécuter le processus consommateur en tant que même groupe que le serveur FTP, mais avec un utilisateur différent.

Gilles 'SO- arrête d'être méchant'
la source
1
@Cthulhu: Le processus du serveur FTP appartient également à "tous". Mais les autorisations UNIX ne sont pas recherchées. Un seul triplet de droits est pris en compte et il s'agit d'un contrôle de réussite / échec. (Contrairement aux ACL Windows qui ont réussi / échoué / regardez plus loin)
MSalters
8

Le masque d'autorisations octal de 004correspond à un masque d'autorisations symbolique, u=,g=,o=rce qui signifie que le (u)serpropriétaire du fichier ne peut pas le lire, ni y écrire, ni l'exécuter, et les autres utilisateurs ne peuvent pas non plus avoir la même identité (g)roupque l'utilisateur propriétaire du fichier. Seuls les (o)therutilisateurs qui ne sont ni le propriétaire, ni dans le même groupe que le propriétaire, peuvent lire le fichier.

godlygeek
la source
1
voici UMASK 004 et non une autorisation!
Afsin Toparlak
4
@AfsinToparlak: non, c'est une permission explicite . Voir la réponse acceptée.
TripeHound
6

Oui, mais le fichier appartient à l'utilisateur. Ainsi, le client lui-même a l'autorisation 0 (utilisateur) sur le fichier et ne peut pas le lire.

Vous pouvez le tester vous-même:

echo TEST > myTestFile;
chmod 004 myTestFile;
cat myTestFile;
chmod 700 myTestFile;
cat myTestFile;

La troisième étape générera une erreur.

Jodka Lemon
la source
Ainsi, lorsqu'un fichier est téléchargé uniquement, cet utilisateur obtient l'autorisation de lecture pour le fichier et tous les autres obtiennent 000? Ai-je raison? Pouvez-vous développer votre réponse?
Aswin PJ
1
J'ai trouvé le livre et le chapitre concerne la sécurisation d'un répertoire public accessible en écriture pour les clients ftp anonymes. Tout client anonyme ouvre le fichier avec le même uid que tout autre client anonyme, donc un fichier créé peut être créé par anonyme mais pas lisible par anonyme. Il est lisible par tout autre uid du système.
Jodka Lemon
@hope: chaque chiffre d'une chaîne octale d'autorisation représente 4 bits: set-id, lecture, écriture et exécution, dans cet ordre. Ainsi, 7 signifie que les bits de lecture, d'écriture et d'exécution sont tous définis. Le premier chiffre est la permission du propriétaire, etc. Donc, cela n'a aucun sens de dire que d'autres obtiennent 000. L'autre devient juste 0. La réponse de Gilles est la meilleure explication de ce que 004fait réellement un paramètre d'autorisation .
Peter Cordes
La troisième étape consiste à écrire, pas à lire.
Arrêtez de nuire à Monica le
@OrangeDog Vous avez raison. Je l'ai corrigé.
Jodka Lemon
-1

Il semble plus probable que cela signifie que toutes les autorisations sont masquées par 004, c'est-à-dire que les autres utilisateurs ne peuvent pas lire le fichier. Cela servirait à protéger le fichier des autres utilisateurs du système (dans une certaine mesure).

Nathan Ringo
la source
Non, comme d'autres l'ont expliqué, le serveur ftp définit les autorisations pour 004que l'utilisateur qui l'a téléchargé et tous les autres utilisateurs de ftp (au moins anonymes) ne puissent pas accéder au fichier jusqu'à ce qu'il soit vérifié (quand il sera à nouveau autorisé et probablement déplacé / renommé à un endroit approprié). Des endroits comme WU Archive étaient souvent (mal) utilisés dans le passé sombre et lointain comme sites de partage de fichiers si des choses comme celle-ci n'étaient pas mises en place.
TripeHound