Comment mon navigateur Internet peut-il écrire des fichiers dans mon fichier «Téléchargements» si les autorisations par défaut ne permettent pas d'écrire?

14

Sur le terminal, j'ai utilisé cette commande:

stat Downloads

Il a déclaré que les autorisations pour mon dossier de téléchargements étaient "drwxr-xr-x"

Cela ne signifierait-il pas que seul l'administrateur et le propriétaire seraient en mesure de modifier le dossier? Comment le navigateur téléchargerait-il quelque chose et le mettrait-il dans le dossier s'il n'en a pas l'autorisation, ou Ubuntu détecte-t-il que vous avez autorisé le navigateur à le faire?

Raffat
la source
4
Je soupçonne que si vous entrez, ls -ld Downloads vous découvrirez que vous êtes en fait le propriétaire de votre dossier Téléchargements. Ainsi, lorsque vous exécutez votre navigateur, c'est vous, en tant que propriétaire du répertoire, qui tentez de placer quelque chose dans ce répertoire.
Charles Green

Réponses:

20

Les programmes s'exécutent avec les privilèges de l'utilisateur qui les a appelés.
Ainsi, lorsque vous lancez votre navigateur, le processus du navigateur dispose des droits dont vous disposez pour lire, modifier et exécuter des fichiers.

Et comme vous êtes le propriétaire de votre dossier Téléchargements, votre compte utilisateur (généralement par défaut) plein rDAE / write / e xecute droits. Par conséquent, votre navigateur les possède également.

Pour clarifier la sortie stat(d rwx r-x r-x) :

  • La première lettre (ici:) ddécrit le type d'objet du système de fichiers que vous examinez. dsignifie que vous affichez les autorisations d'un répertoire. Si vous examinez un fichier, vous obtiendrez un fichier à la -place. Il existe également d'autres possibilités, comme lpour un lien. De plus, il y a (selon le commentaire de @ Atsby) bpour les périphériques de bloc, cpour les périphériques de caractères, ppour les canaux et probablement encore plus ...
    Voir * pour une note sur les autorisations de répertoire!
  • Les trois premières lettres rwxreprésentent les autorisations du propriétaire . Une lettre signifie que le type d'accès respectif est accordé, un "-" signifie refusé. -> accès complet
  • Les trois secondes lettres r-xreprésentent les autorisations accordées aux utilisateurs membres du groupe du propriétaire . C'est le même format "rwx" que ci-dessus. -> seulement lire et exécuter les autorisations, pas d'écriture
  • Les trois dernières lettres r-xreprésentent les autorisations de tout autre utilisateur qui n'est pas le propriétaire lui-même et n'est pas membre du groupe de propriétaires. Toujours le même format "rwx". -> aussi seulement lire et exécuter les autorisations, pas d'écriture

* Autorisations de répertoire:
notez que les autorisations de répertoire ont des significations différentes de celles des fichiers. Pour les répertoires ... l'
accès en lecture (r) signifie lister les fichiers ( lscommande) , l'
accès en écriture (w) signifie changer le contenu du répertoire (création, suppression, renommer des fichiers) et
exécuter l'accès (x) signifie entrer dans le répertoire ( cdcommande ou ouverture avec le gestionnaire de fichiers)


Autorisations d'exécution avancées:

Parfois , vous trouvez un S, s, Tou toù vous attendez un x.

Il existe des autorisations SUID (Set User ID) et SGID (Set Group ID) qui remplacent la normale xsi le fichier doit toujours être exécuté avec les autorisations de son propriétaire (SUID) ou de son groupe de propriétaires (SGID). Pour SUID, les xautorisations d'utilisateur (premier bloc) sont remplacées, pour SGID, les xautorisations de groupe (deuxième bloc) sont remplacées. Une majuscule Sreprésente une -(autorisation refusée) tandis qu'une petite séquivaut à x(autorisation accordée).

Si le xtroisième bloc (les autorisations des autres) est remplacé par un T/ t, cela signifie que le "Sticky Bit" est défini. De nos jours, il est principalement utilisé pour empêcher la suppression du fichier par des utilisateurs non propriétaires qui ont des autorisations d'écriture. Encore une fois, une lettre majuscule Téquivaut à -(aucune autorisation d'exécution pour les autres) sans "Sticky Bit", tandis qu'une petite treprésente l'accès à l'exécution accordé ( x) pour les autres.


Notation octale:

Les autorisations peuvent également être représentées par 3 à 4 chiffres (valeurs 0 à 8), ce qui est appelé notation octale.
Normalement, vous avez 3 chiffres ou 4 chiffres avec le premier chiffre réglé à 0 (par exemple 755ou 0755).

  • Le premier chiffre (qui peut être omis s'il est 0) représente les drapeaux d'autorisation avancés. Valeurs d'indicateur: SUID = 4, SGID = 2, Sticky = 1.
  • Le deuxième chiffre représente l'état des indicateurs d'autorisation du propriétaire (rwx; premier bloc d'autorisation au format de chaîne). Valeurs des indicateurs: r = 4, w = 2, x = 1.
  • Le troisième chiffre représente l'état des drapeaux d'autorisation du groupe propriétaire (rwx; deuxième bloc d'autorisation au format de chaîne). Valeurs des indicateurs: r = 4, w = 2, x = 1.
  • Le quatrième chiffre représente l'état de tous les drapeaux d'autorisation des autres (rwx; troisième bloc d'autorisation au format de chaîne). Valeurs des indicateurs: r = 4, w = 2, x = 1.

Pour calculer la valeur numérique, il suffit de résumer les valeurs des indicateurs de tous les indicateurs définis. Exemples: rwx = 4 + 2 + 1 = 7, rx = 4 + 0 + 1 = 5


Source et références supplémentaires:
http://www.zzee.com/solutions/linux-permissions.shtml
http://www.informit.com/articles/article.aspx?p=1822622&seqNum=6
Veuillez visiter ces liens pour plus de détails , en particulier sur les autorisations avancées.

Byte Commander
la source
1
+1, dsoit dit directoryen passant!
kos
@kos Merci, je vais ajouter ceci. Quelles seraient les autres possibilités au lieu d'un "d" à cet endroit?
Byte Commander
Aucun, si ce n'est pas un répertoire, c'est bien un fichier, donc vous avez toujours soit dou-
kos
3
@kos il y a d'autres possibilités, par exemple lpour un lien logiciel , bpour un périphérique bloc, cpour un périphérique caractère, ppour un canal ... ce ne sont que ceux que je connais, il y en a probablement plus
Atsby
@Atsby Vous avez raison, je parlais du lsmoment où OP a été utiliséstat
kos