Cosa significa la stringa di autorizzazione lrwxrwxrwx?


8

quando faccio cd /e inserisco il comando:

ls -ls

Per alcuni file / cartelle dà output come

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

Allora, che cos'è veramente lrwxrwxrwx?


3
@Kulfy Penso che il fatto che OP abbia fornito la ls -lloro domanda suggerisca che sanno già come visualizzare le autorizzazioni. Sono più interessati al significato dell'output in questo caso particolare di symlink. Quindi non penso che sia un duplicato appropriato
— Sergiy Kolodyazhnyy il

La risposta di @Serg g_p ha le informazioni che OP sta cercando, ma sono d'accordo che non è una domanda duplicata.
— wjandrea,

@Serg Le domande e risposte duplex sono genericamente orientate sul significato delle autorizzazioni. Se una domanda di lwrxwrxwrx(vedi /vmlinuz) come questa è unica, anche una domanda di dwrxwrxwrx(vedi /tmp/) sarebbe unica? Se ogni combinazione di autorizzazioni è una domanda unica, possiamo avere un numero indicibile di ciò che potrebbe essere considerato psuedo-dups. Ad esempio "Cosa significano le autorizzazioni di dr-xr-xr-xper /procdirectory"? .
— WinEunuuchs2Unix

2
@ WinEunuuchs2Unix Mentre sono d'accordo sul fatto che il dup è generale e dovrebbe coprire un'ampia gamma, incluso questo, questa domanda parla di un tipo di file specifico e l'insieme di autorizzazioni lrwxrwxrwxè tipico di tutti i collegamenti simbolici, che la risposta di Zanna ha trattato molto bene in dettaglio. Se ritieni che questo dovrebbe essere coperto nel duplicato collegato, sentiti libero di pubblicare una risposta o modificare quelli esistenti lì.
— Sergiy Kolodyazhnyy,

1
@ WinEunuuchs2Unix È un errore di pendenza scivoloso. Lo scopo dei duplicati è quello di fornire informazioni appropriate, non coprire tutto, né hanno lo scopo di impedire alle persone di porre domande simili. Ho già espresso la mia opinione: il post di Zanna qui fa un lavoro migliore di quello che è trattato nel link e le domande differiscono in qualche modo. Il resto può decidere la comunità
— Sergiy Kolodyazhnyy il

Risposte:


14

Il primo lindica che questo file è un collegamento simbolico , al contrario del -quale indica un file normale, dche indica una directory e altri prefissi meno comuni .

Un collegamento simbolico è un tipo di file che contiene solo un collegamento a un altro file. La lettura di un collegamento simbolico legge il file reale. La scrittura su un collegamento simbolico scrive nel file reale. cding a un collegamento simbolico che è a una directory comporta un comportamento quasi identico a quello che accadrebbe se ci si cdimbatte nella directory reale.

I bit di autorizzazione vengono visualizzati come rwxrwxrwx. Tutti i collegamenti simbolici mostrano questi bit, ma sono "permessi fittizi". Le autorizzazioni effettive (o effettive) di un collegamento simbolico sono le autorizzazioni del file reale a cui si collega. Puoi ottenere i permessi reali (e il tipo di file) eseguendo statil collegamento simbolico, ad esempio:

$ stat -Lc '%a %A' /initrd.img
644 -rw-r--r--
  • stat leggere i metadati del file
  • -L dereference (segui) symlink
  • -c seleziona l'output in base alla stringa specificata
  • %a permessi ottali
  • %A permessi "leggibili dall'uomo"

1
Non c'è bisogno di usare readlink, basta usare l'opzione -Lper riconoscere i link simbolici. Puoi fare stat -Lo ls -L.
— wjandrea,

2
lsha anche -Lun'opzione per seguire il link.
— Barmar,

@Barmar buon punto :)
— Zanna

The actual permissions of a symlink are the permissions of the real file it links to. Ehm, non proprio. Questo deve essere riformulato. I collegamenti simbolici sono collegamenti simbolici: hai già menzionato che mostrano autorizzazioni fittizie mostrate da tutti i collegamenti simbolici e il file effettivo è diverso dal collegamento simbolico. Tuttavia, risposta buona e dettagliata. + 1 già
— Sergiy Kolodyazhnyy

0

Il comando ls -sl

Il comando Linux ls= Elenco dei file nella directory in cui ci si trova

L'opzione aggiunta -sl= stampa un breve elenco

Il risultato di questo esempio parte dell'output: lrwxrwxrwx

Nella mia spiegazione più breve sarebbe: La prima lettera di solito è uno: l, do -:

l = Collegamento a un altro file

d = una directory

- = file

r = permesso di lettura - Leggi il file

w = permesso di scrittura - Scrivi o modifica il file

x = permesso di esecuzione Può eseguire il file

- = nessuna autorizzazione

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`

In sintesi: il tipo di file e l'accesso e le autorizzazioni di proprietà e utente; privilegi come Leggi e / o Scrivi per ogni directory o file elencato nell'output.

a lper un collegamento, dper una directory o -per un file e questi sono impostati dal sistema operativo Linux. Non è possibile modificare manualmente queste lettere (a meno che non si cambi il tipo di file ovviamente). (cioè ... lrwxrwxrwx 1 root root 1024 Feb 13 09:45 myfile3)

Fare riferimento a: http://earthen.tripod.com/linuxper.htm Autorizzazioni (impostazione delle modalità)

~ Samuel F Campbell

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.