Che cosa significa "+ 3" in conseguenza di 'ls -al'?


9

Accidentalmente, quando ci si sposta su un volume montato e si digita ll(alias per ls -laF)

:/media/username/DATA$ ll
total 153
drwxrwxrwx  1 username username  8192 Sep  1 20:32 ./
drwxr-x---+ 3 root     root      4096 Sep  3 08:14 ../
drwxrwxrwx  1 username username 12288 Jul 26 22:29 documents/
drwxrwxrwx  1 username username 16384 Sep  2 02:01 downloads/

Ho questa parte interessante: drwxr-x---+ 3

Capisco la parte drwxr-x---, ma cosa + 3significa l'altra parte ?

Ps: sto usando Ubuntu 16.04 x86


1
Vuoi dire che sei curioso di sapere il numero tra la stringa di autorizzazioni e il nome del proprietario?
Byte Commander

4
Per le parti ls -ldell'output spiegato, vedere askubuntu.com/q/710905 , askubuntu.com/q/517229 o unix.stackexchange.com/q/103114 per favore.
Byte Commander

Risposte:


14

I seguenti +bit di autorizzazione normali indicano che è in vigore un'autorizzazione speciale per il file / directory. L'autorizzazione speciale è POSIX ACL (Access Control List).

È possibile impostare una regola ACL utilizzando setfacle visualizzare le regole già impostate per getfacl.

Esempio:

% ls -l foo.sh
-rwxrwxr-x 1 foobar foobar 206 Aug 28 02:08 foo.sh

% setfacl -m u:spamegg:x foo.sh

% ls -l foo.sh                
-rwxrwxr-x+ 1 foobar foobar 206 Aug 28 02:08 foo.sh

% getfacl foo.sh
# file: foo.sh
# owner: foobar
# group: foobar
user::rwx
user:spamegg:--x
group::rwx
mask::rwx
other::r-x

Controlla man getfacle man setfaclper avere più idee.

Come nota a .margine , se vedi un posto interno +, è per il contesto SELINUX.


E il 3dopo +indica il numero di hard link presenti nel file. Un hardlink è un nome per il file (precisamente l'inode del file), quindi il numero di hard link indica il numero di nomi che il file ha.

Nel tuo caso la voce è:

drwxr-x---+ 3 root     root      4096 Sep  3 08:14 ../

È per la directory principale della directory corrente ( /media/username/DATA), quindi ..punta alla /media/usernamedirectory.

Ora, in Linux, ogni directory ha almeno due hard link, uno è per .(directory corrente, collegamento a se stesso) e l'altro è la voce nella directory padre (mapping nome-inode), questo è stato ereditato da Unix.

Hai un conteggio di link hard come 3 per /media/username, il che significa che /media/usernameha una sottodirectory (impostazione predefinita 2 più una per l' ..inserimento della sottodirectory). Se fossero presenti 2 sottodirectory, il conteggio dei collegamenti reali sarebbe 4 a causa del mapping di entrambe le sottodirectory ..al padre.


Controlla man lsanche


1
Questa è una directory, quindi il conteggio dei collegamenti è il numero di sottodirectory più due.
Kevin,

@Kevin Aggiunta spiegazione dettagliata.
heemayl,

7

+alla fine della stringa di autorizzazioni indica un'autorizzazione ACL ( Access Control List ). Puoi vedere esattamente quali autorizzazioni consente e con quali utenti

getfacl ../

o piuttosto

getfacl /media/$USER

Nel mio caso:

$ getfacl /media/zanna
getfacl: Removing leading '/' from absolute path names
# file: media/zanna
# owner: root
# group: root
user::rwx
user:zanna:r-x
group::---
mask::r-x
other::---

Questo mostra il proprietario e il gruppo e quindi il gruppo "user" (proprietario) senza nome e le autorizzazioni del mondo (altri) con una voce aggiuntiva per l'utente zanna. La "maschera" limita i diritti effettivi per utenti di gruppo e nominati.

Gli ACL sono un'estensione del tradizionale sistema di autorizzazioni Linux che consente di impostare le autorizzazioni per un singolo utente o gruppo, consentendo un controllo più preciso. Puoi leggere ulteriori informazioni sui motivi di sicurezza per avere il root su questo mount point e l'uso delle autorizzazioni ACL /mediain questo post

Il 3non è correlato al +. indica il numero di collegamenti fisici al file.


2
Questo spiega solo il +però, che segnala che gli ACL sono attivi per questa voce oltre alle tradizionali impostazioni di autorizzazione. Tuttavia, questo non spiega il 3.
Byte Commander

2
@ByteCommander hah non mi è venuto in mente che stavano chiedendo del 3, grazie!
Zanna,
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.