Maison >Opération et maintenance >exploitation et maintenance Linux >Autorisations par défaut des fichiers sous le système Linux et rôle des attributs cachés

Autorisations par défaut des fichiers sous le système Linux et rôle des attributs cachés

齐天大圣
齐天大圣original
2020-09-13 16:00:242181parcourir

Autorisations par défaut du fichier

Lorsque nous créons un fichier, le fichier aura des autorisations par défaut définies par défaut.

# touch 1.txt
# ls -l 1.txt 
-rw-r--r-- 1 root root 0 Sep 13 14:48 1.txt

# mkdir abc
# ll -d abc
drwxr-xr-x 2 root root 4096 Sep 13 14:51 abc

Vous pouvez voir que les autorisations de fichiers nouvellement créés sont 644 et que les autorisations de répertoire sont 755. Alors d’où vient ce 644 ? Il s'avère que le système accordera des autorisations par défaut aux fichiers nouvellement créés. Ces autorisations par défaut peuvent être consultées via umask.

# umask
0022

# umask -S
u=rwx,g=rx,o=rx

Les autorisations affichées via umask -S sont les autorisations par défaut du répertoire nouvellement créé. Si le type de fichier nouvellement créé est un fichier, les autorisations x doivent être soustraites, donc les autorisations par défaut du nouveau fichier sont. 644 (rw -r-xr-x)

Nous pouvons également modifier les autorisations par défaut du fichier via umask

umask 770

Attributs cachés du fichier

Je ne sais pas si vous avez utilisé Pagoda. Lorsque nous créons un nouveau site via Pagoda, Pagoda créera par défaut un fichier .user.ini dans le répertoire racine du site Web. Ce fichier est très étrange. Même si vous êtes un utilisateur root, vous ne pouvez pas le supprimer. Le message d'invite suivant apparaîtra :

# rm -f .user.ini 
rm: cannot remove ‘.user.ini’: Operation not permitted

Ici, nous voulons parler d'un autre concept, les attributs cachés des fichiers. Pourquoi sont-ils appelés attributs cachés ? Parce que vous ne pouvez rien voir de différent à propos de ce fichier via ls -l.

# ll .user.ini 
-rw-r--r-- 1 root root 51 Sep  5 18:48 .user.ini

Si vous voulez voir quelque chose d'étrange, vous devez utiliser lsattr pour vérifier

# lsattr .user.ini 
----i--------e-- .user.ini

Ici, nous devons nous souvenir de la signification de quelques caractères :

  • je veux dire que le système n'autorise aucune modification de ce fichier. Si le répertoire possède cet attribut, tout processus peut uniquement modifier les fichiers du répertoire et n'est pas autorisé à créer ou supprimer des fichiers.

  • a signifie que le système autorise uniquement l'ajout de données après ce fichier et n'autorise aucun processus à écraser ou tronquer ce fichier. Si un répertoire possède cet attribut, le système autorisera uniquement la création et la modification de fichiers dans ce répertoire, mais n'autorisera la suppression d'aucun fichier.

Donc, si nous voulons supprimer ce fichier, nous devons modifier son attribut caché. Cela peut être fait via Chattr.

# chattr -i .user.ini 
# rm -f .user.ini  <===删除成功了

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn