web-dev-qa-db-fra.com

Comment voyez-vous les autorisations de fichiers?

Je veux savoir comment voir les autorisations d'un fichier particulier. Quelle commande dois-je taper dans le terminal? Cependant, je ne veux pas le changer.

70
CENTAUR

Si vous voulez voir la permission d'un fichier, vous pouvez utiliser la commande ls -l /path/to/file.

Par exemple

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread


Qu'est-ce que cela signifie?

Le premier - représente un fichier normal. Cela vous donne une idée du type d'objet dont il s'agit. Il peut avoir les valeurs suivantes.

  • d (directory)
  • c (character device)
  • l (symlink)
  • p (named pipe)
  • s (socket)
  • b (block device)
  • D (door)
  • - (fichier régulier)


r représente une permission de lecture.
w représente la permission d'écriture et
x représente l’autorisation exécutable.

La première combinaison de rwx représente l’autorisation du propriétaire .
La deuxième combinaison de rwx représente une autorisation pour le groupe .
La troisième combinaison de rwx représente l’autorisation pour le autre du fichier.


Notation octale

L'autorisation de fichier peut également être représentée en notation octale.
En notation octale

Lire ou r est représenté par 4,
Écrire ou w est représenté par 2
Exécuter x est représenté par 1.

La somme de ces trois est utilisée pour représenter l'autorisation.

_ LA COMMANDE stat peut être utilisée pour afficher les autorisations de fichiers en notation octale

  stat -c "%a %n" /path/of/file

Par exemple

   stat -c "%a %n" acroread 
   755 acroread

Içi vous pouvez voir

Pour propriétaire , il s'agit de 4 + 2 + 1 = 7 (111 en binaire)
Pour le groupe , il est 4 + 0 + 1 = 5 (101 en binaire) et
Pour autre , il est de 4 + 0 + 1 = 5 (101 en binaire).

100
g_p

Vous pouvez utiliser soit une longue liste:

ls -l [filename]

Ou stat:

stat [filename]

Stat est plus complet. il vous indique les accès, les modifications et les changements d'heure, ainsi que les informations relatives à l'inode et à la taille, qui peuvent vous être utiles ou non.

17
Viv Diwakar

Indépendamment du fait que vous utilisiez réellement les autorisations ACL, si le package acl est installé, vous pouvez utiliser getfacl <path> pour obtenir une répartition assez correcte des autorisations sur ce fichier.

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---

Si vous faites utilisez les autorisations de la liste de contrôle d'accès, cela vous indiquera les autorisations que ls et stat ne peuvent tout simplement pas.

$ Sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
6
Oli