Come si visualizzano le autorizzazioni per i file?


80

Voglio sapere come vedere le autorizzazioni di un determinato file. Quale comando devo digitare nel terminale? Tuttavia, non voglio cambiarlo.


Se questo non è un duplicato, contrassegnalo come Protetto. Questa è una domanda importante.
evilMinion

Risposte:


112

Se vuoi vedere l'autorizzazione di un file puoi usare il ls -l /path/to/filecomando.

Per esempio

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


Cosa significa questo ?

In primo luogo -rappresenta un file normale. Ti dà un suggerimento sul tipo di oggetto che è. Può avere i seguenti valori.

  • d (directory)
  • c (dispositivo personaggio)
  • l (link simbolico)
  • p (chiamato pipe)
  • s (presa)
  • b (dispositivo a blocchi)
  • D (porta)
  • - (file normale)


rrappresenta il permesso di lettura.
wrappresenta il permesso di scrittura e
xrappresenta il permesso eseguibile.

La prima combinazione di rwxrappresenta l'autorizzazione per il proprietario .
La seconda combinazione di rwxrappresenta l'autorizzazione per il gruppo .
La terza combinazione di rwxrappresenta l'autorizzazione per l' altro del file.


Notazione ottale

L'autorizzazione del file può anche essere rappresentata in notazione ottale.
In notazione ottale

Leggi o rè rappresentato da 4,
Scrivi o wè rappresentato da 2
Execute xè rappresentato da 1.

La somma di questi tre viene utilizzata per rappresentare l'autorizzazione.

stat Il comando può essere utilizzato per visualizzare l'autorizzazione del file in notazione ottale

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

Per esempio

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

Qui puoi vedere

Per il proprietario è 4 + 2 + 1 = 7 (111 in binario)
Per gruppo è 4 + 0 + 1 = 5 (101 in binario) e
Per altri è 4 + 0 + 1 = 5 (101 in binario).


19

Puoi usare una lista lunga:

ls -l [filename]

O stat:

stat [filename]

Stat è più completo; mostra i tempi di accesso, modifica e modifica, nonché informazioni su Inodo e dimensioni, che potrebbero essere utili o meno.


Nota: "dipende", quel comando mostrerà permessi standard, tuttavia, il tuo accesso può essere limitato con altri mezzi, acl, apparmor e selinux possono limitare l'accesso al di fuori di ciò che viene mostrato da ls -l.
Pantera,

7

Indipendentemente dal fatto che tu stia effettivamente utilizzando le autorizzazioni ACL, se hai installato il aclpacchetto, puoi utilizzare getfacl <path>per ottenere una ripartizione abbastanza decente delle autorizzazioni su quel file.

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

Se fai usare autorizzazioni ACL, sarà parlarvi di autorizzazioni che lse statproprio non può.

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
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.