Que signifie la chaîne d'autorisation lrwxrwxrwx?

8

quand je fais un cd /et saisis la commande:

ls -ls

Pour certains fichiers / dossiers, il donne une sortie comme

0 lrwxrwxrwx.   1 root   root         7 Jan 30  2018 bin -> usr/bin

Alors qu'est-ce que c'est vraiment lrwxrwxrwx?

idaljeetsingh
la source
3
@Kulfy Je pense que le fait que OP fourni ls -ldans leur question suggère qu'ils savent déjà comment afficher les autorisations. Ils sont plus intéressés par la signification de la sortie dans ce cas particulier des liens symboliques. Je ne pense donc pas que ce soit un doublon approprié
Sergiy Kolodyazhnyy
La réponse de @Serg g_p contient les informations que OP recherche, mais je suis d'accord que ce n'est pas une question en double.
wjandrea
@Serg Le Q&A dup est orienté de manière générique sur la signification des permissions. Si une question de lwrxwrxwrx(voir /vmlinuz) comme celle-ci est unique, une question de dwrxwrxwrx(voir /tmp/) serait-elle également unique? Si chaque combinaison d'autorisations est une question unique, nous pouvons avoir un nombre incalculable de ce qui pourrait être considéré comme des pseudo-dups. Par exemple, que signifient les autorisations de dr-xr-xr-xpour le /procrépertoire? .
WinEunuuchs2Unix
2
@ WinEunuuchs2Unix Bien que je convienne que le dup est général et devrait couvrir un large éventail, y compris celui-ci, cette question arrive à parler de type de fichier spécifique et l'ensemble des autorisations lrwxrwxrwxest typique de tous les liens symboliques, ce que la réponse de Zanna a très bien couvert en détail. Si vous pensez que cela devrait être couvert dans le dup lié, n'hésitez pas à publier une réponse ou à y modifier les réponses existantes.
Sergiy Kolodyazhnyy
1
@ WinEunuuchs2Unix C'est une erreur de pente glissante. Le but des doublons est de fournir des informations appropriées, de ne pas couvrir tout, et ils ne sont pas destinés à empêcher les gens de poser des questions similaires. J'ai déjà exprimé mon opinion - le post de Zanna ici fait mieux que ce qui est couvert dans le lien, et les questions diffèrent quelque peu. Le reste peut être décidé par la communauté
Sergiy Kolodyazhnyy

Réponses:

14

Le début lindique que ce fichier est un lien symbolique , contrairement à -ce qui indique un fichier normal, dqui indique un répertoire et d' autres préfixes moins courants .

Un lien symbolique est un type de fichier qui ne contient qu'un lien vers un autre fichier. La lecture d'un lien symbolique lit le vrai fichier. L'écriture dans un lien symbolique écrit dans le fichier réel. cdEn utilisant un lien symbolique vers un répertoire, le comportement est presque identique à ce qui se passerait si vous étiez cdentré dans le répertoire réel.

Les bits d'autorisation sont affichés sous la forme rwxrwxrwx. Tous les liens symboliques montrent ces bits, mais ce sont des "autorisations fictives". Les autorisations réelles (ou effectives) d'un lien symbolique sont les autorisations du fichier réel auquel il est lié. Vous pouvez obtenir les autorisations réelles (et le type de fichier) en exécutant statle lien symbolique, par exemple:

$ stat -Lc '%a %A' /initrd.img
644 -rw-r--r--
  • stat lire les métadonnées du fichier
  • -L déréférencer (suivre) les liens symboliques
  • -c sélectionner la sortie selon la chaîne spécifiée
  • %a autorisations octales
  • %A Autorisations "lisibles par l'homme"
Zanna
la source
1
Pas besoin d'utiliser readlink, utilisez simplement l'option -Lpour déréférencer les liens symboliques. Vous pouvez faire stat -Lou ls -L.
wjandrea
2
lsa également la -Lpossibilité de suivre le lien.
Barmar
@Barmar bon point :)
Zanna
The actual permissions of a symlink are the permissions of the real file it links to. Pas tout à fait. Cela doit être reformulé. Les liens symboliques sont des liens symboliques - vous avez déjà mentionné qu'ils montrent des autorisations factices que tous les liens symboliques montrent, et le fichier réel est différent de symlink. Néanmoins, bonne et détaillée réponse. + 1'ed déjà
Sergiy Kolodyazhnyy
0

La commande ls -sl

La commande Linux ls= Liste des fichiers dans le répertoire dans lequel vous vous trouvez

Le commutateur ajouté -sl= imprimer la liste courte

Le résultat de cet exemple fait partie de la sortie: lrwxrwxrwx

Dans mon explication la plus courte serait: La première lettre sera généralement soit: l, dou -:

l = Lien vers un autre fichier

d = un répertoire

- = fichier

r = autorisation de lecture - Lire le fichier

w = autorisation d'écriture - Écrire ou modifier le fichier

x = autorisation d'exécution Il peut exécuter le fichier

- = aucune autorisation

Number  Permission Type            `Symbol`
0         No Permission             `---`
1         Execute                   `--x`
2         Write                     `-w-`
3         Execute + Write           `-wx`
4         Read                      `r--`
5         Read + Execute            `r-x`
6         Read + Write              `rw-`
7         Read + Write + Execute    `rwx`

En résumé: le type de fichier et l'accès et les autorisations de la propriété et de l'utilisateur; des privilèges tels que Lecture et / ou Écriture pour chaque répertoire ou fichier répertorié dans la sortie.

a lpour un lien, dun répertoire ou -un fichier et ceux-ci sont définis par le système d'exploitation Linux. Vous ne pouvez pas modifier manuellement ces lettres (sauf si vous modifiez le type de fichier bien sûr). (c'est-à-dire ... lrwxrwxrwx 1 root root 1024 Feb 13 09:45 myfile3)

Veuillez vous référer à: http://earthen.tripod.com/linuxper.htm Autorisations (Configuration des modes)

~ Samuel F Campbell

Samuel F. Campbell
la source