1 votes

Quels sont les différents codes d'autorisation de fichiers et que signifient-ils ?

Je travaille avec un fichier de téléchargement script. Je suis en train de télécharger un fichier et j'essaie ensuite d'envoyer une ancre qui renvoie à ce fichier, mais comme j'ai utilisé mkdir() avec des autorisations 0700 pour télécharger le fichier, je n'ai pas le droit d'afficher le fichier.

Je suis presque sûr que le problème que je rencontre est dû au code de permission de fichier que j'ai utilisé. Le problème est que je ne sais pas quels sont les différents codes d'autorisation de fichiers et ce qu'ils signifient.

Quelqu'un peut-il énumérer toutes les différentes autorisations de fichiers et ce qu'elles font chacune ?

0 votes

Cela ressemble à un travail pour Google, Wikipedia ou l'un des millions de sites d'aide sur Linux.

0 votes

@High Performance Mark : S'il vous plaît, apprenez à vous connaître sur les choix faits par la communauté sur ce genre de questions et les accepter . Cette question a sa place ici. Votre n'est pas du tout utile et va à l'encontre de la philosophie de SO.

0 votes

Je comprends votre préoccupation et si vous pouvez me fournir un bon lien google, je vous en serais reconnaissant, car j'ai fait des recherches, mais je n'ai pas trouvé de guide facile à comprendre sur la signification des codes.

8voto

Boden Points 4918

Les permissions sur les systèmes de type Unix sont gérées en trois classes distinctes. Ces classes sont connues sous le nom d'utilisateur, de groupe et autres.

Classes

Les fichiers et les répertoires appartiennent à un utilisateur. Le propriétaire détermine la classe de propriétaire du fichier. Des permissions distinctes s'appliquent au propriétaire.

Les fichiers et les répertoires sont affectés à un groupe, qui définit la classe de groupe du fichier. Des autorisations distinctes s'appliquent aux membres du groupe du fichier. Le propriétaire ne doit pas nécessairement être membre du groupe du fichier.

Les utilisateurs qui ne sont ni le propriétaire, ni un membre du groupe, constituent la classe "autres" d'un fichier. Des autorisations distinctes s'appliquent aux autres.

Les autorisations effectives sont déterminées en fonction de la classe de l'utilisateur. Par exemple, l'utilisateur qui est le propriétaire du fichier aura les permissions attribuées à la classe propriétaire sans tenir compte des permissions attribuées à la classe groupe ou autres.

Permissions

Sur les systèmes de type Unix, il existe trois permissions spécifiques qui s'appliquent à chaque classe :

  • L'autorisation de lecture, qui accorde à l la capacité de lire un fichier. Lorsqu'elle est définie pour un répertoire, cette autorisation permet de la capacité de lire les noms des fichiers dans le répertoire (mais pas de de trouver d'autres informations telles que le contenu, le type de fichier, la type de fichier, taille, propriété, permissions, etc.)

  • L'autorisation d'écriture, qui accorde la possibilité de modifier un fichier. Lorsque définie pour un répertoire, cette permission permet de modifier les entrées dans le répertoire. Cela inclut la création de fichiers, la suppression de fichiers et renommer des fichiers.

  • La permission d'exécuter, qui accorde la capacité d'exécuter un fichier. Ce site permission doit être définie pour les binaires binaires exécutables (par exemple, un programme compilé c++ compilé) ou Shell Shell (par exemple, un programme Perl). exemple, un programme Perl) afin de permettre au système d'exploitation de les les exécuter. Lorsqu'elle est définie pour un répertoire, cette permission donne la possibilité de parcourir son arborescence afin d'accéder aux aux fichiers ou sous-répertoires, mais pas aux les fichiers à l'intérieur du répertoire (sauf si read soit défini).

L'effet de la définition des permissions sur un répertoire (plutôt que sur un fichier) est "l'un des problèmes de permission de fichier les plus fréquemment mal compris".

Lorsqu'une autorisation n'est pas définie, les droits qu'elle accorderait sont refusés. Les fichiers créés dans un répertoire n'auront pas nécessairement les mêmes permissions que ce répertoire. Les permissions à attribuer sont déterminées à l'aide de umasks.

Notation octale

La notation octale consiste en une valeur en base 8 à trois ou quatre chiffres.

Avec une notation octale à trois chiffres, chaque chiffre représente un composant différent de l'ensemble d'autorisations : classe d'utilisateurs, classe de groupes et classe "autres" respectivement.

Chacun de ces chiffres est la somme des bits qui le composent (voir également Système numérique binaire). Par conséquent, les bits spécifiques s'ajoutent à la somme lorsqu'elle est représentée par un chiffre :

  • Le bit de lecture ajoute 4 à son total (en binaire 100),

  • Le bit d'écriture ajoute 2 à son total (en binaire 010), et

  • Le bit d'exécution ajoute 1 à son total (en binaire 001).

Ces valeurs ne produisent jamais de combinaisons ambiguës ; chaque somme représente un ensemble spécifique de permissions.

Voici un résumé de la signification des différentes valeurs des chiffres octaux :

0 --- no permission
1 --x execute 
2 -w- write 
3 -wx write and execute
4 r-- read
5 r-x read and execute
6 rw- read and write
7 rwx read, write and execute

Notez également que votre fichier peut appartenir à l'utilisateur foo Apache s'exécute généralement sous un utilisateur différent (appelons-le bar ). Cela signifie que si vous souhaitez qu'Apache le lise, vous devez donner à group ou other (en fonction de votre configuration) la permission de lire votre fichier.

Vous trouverez plus d'informations sur les permissions du système de fichiers POSIX à l'adresse suivante Wikipedia .

2voto

user157342 Points 21

Ça ressemble à une question de défaut de serveur.

Pour que les utilisateurs qui ne font pas partie du système aient un accès en lecture sur un répertoire, vous devez définir le répertoire comme exécutable.

Quant à la signification des chiffres, il s'agit d'un code octal qui définit les trois groupes d'autorisations en même temps.

R W X  Code
0 0 0  0 No Permission
0 0 1  1 Executable
0 1 0  2 Write
0 1 1  3 Write and execute
1 0 0  4 Read
1 0 1  5 Read and execute
1 1 0  6 Read and write
1 1 1  7 read, write, execute

Il suffit de bloquer ces trois chiffres ensemble, le propriétaire étant le premier chiffre, le groupe le deuxième et les autres le troisième, et vous obtenez le code d'autorisation octal.

Habituellement, avec les partages de fichiers, vous définissez les fichiers à 744 et les répertoires à 755, car le propriétaire doit être autorisé à faire quoi que ce soit, mais les utilisateurs et les invités (tels que les utilisateurs anonymes du Web) ne doivent avoir que des droits de lecture.

http://catcode.com/teachmod/numeric.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X