Kiedy ja ls -la
, drukuje wiele atrybutów. Coś takiego:
-rwSrwSr-- 1 www-data www-data 45 2012-01-04 05:17 README
Ze wstydem muszę wyznać, że nie znam dokładnego znaczenia poszczególnych atrybutów. Na przykład, co oznacza duże S
w ciągu -rwSrwSr--
? Co następuje 1
? Z grubsza znam innych.
permissions
ls
Eonil
źródło
źródło
Odpowiedzi:
Dokumentacja
ls
polecenia odpowiada na te pytania. W większości wariantów uniksowych wyszukajls
stronę podręcznika (man ls
lub online). W systemie Linux wyszukaj dokumentację informacyjną (info ls
) lub online .Litera
s
oznacza, że ustawiony jest bit setuid (lub setgid, w zależności od kolumny). Gdy plik wykonywalny jest setuid, działa jako użytkownik będący właścicielem pliku wykonywalnego zamiast użytkownik, który wywołał program. Lists
zastępuje literęx
. Plik może być setuid, ale nie może być wykonywalny; jest to oznaczone przezS
, gdy kapitałS
ostrzega, że to ustawienie jest prawdopodobnie nieprawidłowe, ponieważ bit setuid jest (prawie zawsze) bezużyteczny, jeśli plik nie jest wykonywalny.Gdy katalog ma uprawnienia setuid (lub setgid), wszelkie pliki utworzone w tym katalogu będą własnością użytkownika (lub grupy) pasującego do właściciela (lub grupy) katalogu.
Liczba po uprawnieniach to liczba twardych linków . Twardy link to ścieżka do pliku (innymi słowy nazwa). Większość plików ma jedną ścieżkę, ale możesz zrobić więcej za pomocą
ln
polecenia. (Różni się to od dowiązań symbolicznych: dowiązanie symboliczne mówi „och, w rzeczywistości ten plik jest gdzie indziej, przejdź do <lokalizacja>”). Katalogi mają N + 2 twardych dowiązań, gdzie N jest liczbą podkatalogów, ponieważ można do nich uzyskać dostęp od swojego rodzica, od siebie (przez.
pozycję) i z każdego podkatalogu (przez..
pozycję).źródło
$ ls /Users
zwracadrws--S---+ 12 jdoe staff 408 Jul 9 2013 jdoe
x
).Zgodnie z
info coreutils ls
(co może nie być dokładnie tym, co masz):Liczba po części dotyczącej zezwolenia to liczba twardych linków.
źródło
chmod g-x,g+s dir
Oznacza to (miejmy nadzieję, że jest prostszy). Katalog jest ustawiony jako setgid. Wszelkie utworzone tam pliki będą własnością tej grupy właściciela tego folderu.
Jednak folder nie jest wykonywalny przez grupę, więc jest pokazany dużą literą S. Zwykle dzieje się tak, gdy katalog jest tworzony i katalog kończy się jako setgid.
Hm .. Nie jestem pewien, czy to rzeczywiście brzmiało jak zwykły angielski powyżej ...
źródło
To dlatego, że brakuje pliku wykonywalnego
s -> „x” jest włączone S -> „x” jest wyłączone.
patrz przykład poniżej
źródło