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.