'Ls -al' sonucunda “+ 3” ne anlama geliyor?


9

Takılı bir birime taşınırken ve yazarken yanlışlıkla ll(takma ad 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/

Bu ilginç kısmı var: drwxr-x---+ 3

Parçayı anlıyorum drwxr-x---, ama diğer kısım ne + 3anlama geliyor?

Ps: Ubuntu kullanıyorum 16.04 x86


1
Yani izin dizesi ve sahip adı arasındaki sayıyı merak ediyor musunuz?
Bayt Komutanı

4
Bölümleri için ls -lçıkış, bkz açıkladı askubuntu.com/q/710905 , askubuntu.com/q/517229 veya unix.stackexchange.com/q/103114 lütfen.
Bayt Komutanı

Yanıtlar:


14

+Normal izni bit sonra özel bir izin dosya / dizin için geçerli olan göstermektedir. Özel izin POSIX ACL'dir (Erişim Kontrol Listesi).

Kullanarak setfaclönceden ayarlanmış kuralları kullanarak bir ACL kuralı ayarlayabilirsiniz getfacl.

Misal:

% 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

Kontrol man getfaclve man setfacldaha fikir edinmek için.

Bir yan not olarak, bir görürseniz .ait INPLACE +SELINUX bağlam için var.


Ve 3sonra +dosya vardır sert bağlantıların sayısını gösterir. Sabit bağlantı, dosya için bir addır (tam olarak dosyanın inode), bu nedenle sabit bağlantı sayısı dosyanın sahip olduğu ad sayısını gösterir.

Sizin durumunuzda giriş:

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

Mevcut dizindeki (üst dizinine içindir /media/username/DATA, bu yüzden) ..noktalarına /media/usernamedizindeki.

Şimdi, Linux'ta her dizinin en az iki sabit bağlantısı vardır, biri için .(geçerli dizin, kendisine bağlantı), diğeri ise üst dizine (ad-inode eşlemesi) girdi, bu Unix'ten miras alındı.

İçin 3 olarak sabit bağlantı sayınız vardır /media/username, yani /media/usernamebir alt dizini vardır (alt dizinin ..girişi için varsayılan 2 artı bir ). 2 alt dizin olsaydı, her iki alt dizin ..de üst öğeye eşlendiğinden, sabit bağlantı sayısı 4 olur .


man lsAyrıca kontrol edin .


1
Bu bir dizin, bu nedenle bağlantı sayısı alt dizin sayısı artı iki.
Kevin

@Kevin Ayrıntılı açıklama eklendi.
heemayl

7

+izin dizesinin sonunda bir ACL ( Erişim Kontrol Listesi ) iznini belirtir . Tam olarak hangi izinlere ve hangi kullanıcılara izin verdiğini görebilirsiniz.

getfacl ../

daha doğrusu

getfacl /media/$USER

Benim durumumda:

$ 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::---

Bu, sahibi ve grubu ve daha sonra adlandırılmamış "kullanıcı" (sahip) grubu ve dünya (diğerleri) izinlerini zanna kullanıcısı için ek bir girişle gösterir. "Maske" grup ve adlandırılmış kullanıcılar için geçerli hakları sınırlar.

ACL'ler, tek bir kullanıcı veya grup için izinlerin ayarlanmasına izin vererek daha iyi denetime izin veren geleneksel Linux izin sisteminin bir uzantısıdır. Kök Bu bağlama noktası sahibi olan güvenlik nedenleriyle ve ACL izinleri kullanımı hakkında daha fazla bilgi bulabilirsiniz /mediaiçinde bu yazı

3İlgisi yoktur +. dosyaya yapılan sabit bağlantıların sayısını gösterir .


2
Bu sadece +geleneksel izin ayarlarına ek olarak ACL'lerin bu giriş için aktif olduğunu gösteren sinyali açıklar . Ancak, bu açıklamaz 3.
Bayt Komutanı

2
@ByteCommander hah bu bana 3 hakkında sordular bana meydana olmadı, teşekkürler!
Zanna
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.