Ls -la'daki “s” ve “S” arasındaki fark nedir?


67

Ben ls -la, birçok özellik yazdırıyor. Bunun gibi bir şey:

-rwSrwSr-- 1 www-data www-data   45 2012-01-04 05:17 README

Utanç verici, itiraf etmeliyim ki her bir özelliğin tam anlamını bilmiyorum. Örneğin, büyük anlamı nedir Sdizede -rwSrwSr--? Aşağıdaki 1nedir? Diğerlerini kabaca biliyorum.


19
Eonil: Bir soru sorma ihtiyacı hakkında utanılacak bir şey yok, sonuçta bu sitenin konusu bu. Ve RTFM diyenlere gelince, birçoğumuz BU ŞEY YAPIYOR ve okunması zor programcı-yazılı belgelerin sayfalarında gezindikten sonra hala en basit cevabı bulamıyoruz (ve ben bir programcıyım). Bazı durumlarda, man sayfalarının yüklenmediği sistemlerdeyiz. Bütün bu sebeplerden ve daha pek çoğu için, bunun gibi siteler bir nimettir. Ben de aynı soruyu sorduğun için teşekkürler.
Alan

1
Büyük soru - somut bir örnek ile birlikte çok spesifik.
Ole,

Yanıtlar:


49

lsKomutun dokümantasyonu bu soruları cevaplar. Çoğu unix türevinde, lsman sayfasına ( man lsveya çevrimiçi) bakın. Linux'ta, Bilgi belgelerine ( info ls) veya çevrimiçi olarak bakın .

Harf setuid (veya sütuna bağlı olarak setgid) bitinin ayarlandığını sbelirtir . Bir yürütülebilir dosya ayarlandığında, programı başlatan kullanıcı yerine yürütülebilir dosyanın sahibi olan kullanıcı olarak çalışır. Mektup , mektubu değiştirir . Bir dosyanın ayarlanması ancak çalıştırılamaması mümkündür; bu, büyük harf sizi bu ayarın muhtemelen yanlış olduğu konusunda uyardığı için belirtilir, çünkü dosya çalıştırılabilir değilse, setuid bit (neredeyse her zaman) işe yaramazdır.sxSS

Bir dizinin setuid (veya setgid) izinleri olduğunda, bu dizinde oluşturulan tüm dosyalar dizinin sahibiyle (veya grubuyla) eşleşen kullanıcıya (veya gruba) ait olur.

İzinlerden sonraki sayı, sabit bağlantı sayısıdır. Sabit bağlantı, bir dosyanın yoludur (başka bir deyişle bir ad). Çoğu dosyanın tek bir yolu vardır, ancak lnkomutla daha fazlasını yapabilirsiniz . (Bu sembolik bağlantılardan farklıdır: sembolik bir bağlantı “ah, aslında, bu dosya başka bir yerde, <location> 'a gidin” der.) ebeveynlerinden, kendilerinden ( .giriş) ve her alt dizinden ( ..giriş).


5
OS X'te bir dizine uygulandığında ne anlama geliyor? Örneğin, $ ls /Usersdöndürürdrws--S---+ 12 jdoe staff 408 Jul 9 2013 jdoe

4
@jww Bu dizinde oluşturulan dosyaların dizinin sahibi olan gruba ait olacağı anlamına gelir, ancak yine de OSX'te varsayılandır. Bkz en.wikipedia.org/wiki/Setuid#setuid_and_setgid_on_directories ve unix.stackexchange.com/questions/12842/...
Gilles

@Gilles, Bir dosyanın "çalıştırılabilir" olmadığını söylerken? Yürütülebilir ayrıcalığa sahip olmadığı veya yürütülebilecek bir dosya türü olmadığı anlamına mı geliyor?
fidye

@ransh Ben execute ( x) izni anlamına gelir .
Gilles,

Aşağıda @
Jag'ın

16

Göre info coreutils ls(tam olarak ne var olmayabilir olan):

`s '
setuid veya setgid biti ve karşılık gelen çalıştırılabilir biti ayarlanmışsa.

`S '
setuid veya setgid biti ayarlanmış ise ancak karşılık gelen çalıştırılabilir biti ayarlanmamış.

İzin bölümünden sonraki sayı, sabit bağlantıların sayısıdır.


2
Temelde bu ne olsunchmod g-x,g+s dir
Sanmai

6

(Umarım daha basit) terimlerle, bu demektir. Dizin ayarlanmış. Orada oluşturulan tüm dosyalar bu klasörün sahibinin o grubuna aittir.

Ancak, klasör grup tarafından çalıştırılamaz, bu yüzden S harfi ile gösterilir.

Hm .. Bu aslında yukarıda düz İngilizce gibi geliyordu emin değilim ..


1
Bu cevap mevcut cevaplardan daha fazla veya farklı bilgi vermez.
jayhendren

1
@ jayhendren Evet öyle. Dizinler hakkında konuşuyor. Başka bir cevap yok. (Gilles, muhtemelen yorumunu cevabına dahil etmelidir.)
Sparhawk,

0

Nedeniyle Çalıştırılabilir eksik

s -> 'x' etkin S -> 'x' devre dışı.

aşağıdaki örneğe bakın

$ ls -l

total 0

-rwsrw-r--. 1 bpkmails bpkmails 0 Jun 25 20:18 ca

$ chmod u-x ca

$ ls -l

total 0

-rwSrw-r--. 1 bpkmails bpkmails 0 Jun 25 20:18 ca

$

Bunun mevcut cevaplara ne kattığını açıklayabilir misiniz?
Stephen Kitt
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.