4-sayı chmod argümanındaki ilk sayı nedir (örneğin, chmod 4555).


20

Bir program yüklediğimde yapmamı tavsiye ediyor chmod 4555. Tamam, sadece üç sayı kullanırsam değerleri biliyorum. Örneğin

chmod 555 test-file

verecek

-r-xr-xr-x

Yazma için 4, okuma için 2 ve yürütme için 1. Ancak, bunu yaptığımda:

chmod 4555 test-file

bana verir

-r-sr-xr-x

Böylece, xdeğişti s. Bu ne demek?


1
ayrıca burada açıklanmıştır: askubuntu.com/a/550947/72216 ("s-flag hakkında")
Jacob Vlijm

@JocobVlijm ayrıca aşağıdaki "özel" bitlerle daha ayrıntılı olarak açıkladı
Thomas Ward

Yanıtlar:


29

Aslında üzerinde çalışabileceğiniz 4 özellik kümesi var chmod.

Special, User/Owner, GroupVe Othersbu ilk numara ayarlanabilir özel bit olmak üzere, dört basamaklı chmodlarını ile çalışan bu sırayla bölgesi.

chmod 4555 aşağıdakine eşittir:

  • Set UID bit - Hangi kullanıcının çalıştığından bağımsız olarak dosyayı sahibi olarak çalıştır
  • Kullanıcı / Sahibi: Read, Execute
  • Grup: Read, Execute
  • Diğerleri: Read, Execute

sİzinler için 'insan okunabilir' dizede belirten SetUIDbit (aşağıda açıklanmıştır) ayarlanır.


Etkili bir şekilde, dört sayılık chmodizinler argümanını aşağıdaki gibi belirli tanımlayıcılara ayırabiliriz 4ve ilk bölümde ne olacağını, bir 5sonraki bölümde nasıl olacağını belirlemek için matematiği yapabiliriz .

Unutmayın ####olduğunu Special User/Owner Groupve Othersbu sırayla.

İçin Specialnitelikler (dört sayı ilk rakam chmodargüman):

  • Set UID- Dosyayı, kullanıcının çalıştığından bağımsız olarak, sahibi olarak çalıştır ( bölümün sinsan tarafından okunabilen izinler dizesinde olduğu gibi gösterilir User) = +4 ( --saltında User/Owner)
  • Set GID- Dosyayı, çalıştıran kullanıcı / gruba bakmaksızın grup olarak çalıştırın ( bölüm siçin insan tarafından okunabilen izinler dizesinde olduğu gibi gösterilir Group) = +2 ( --saltında Group)
  • Sticky Bit- YALNIZCA YÖNETMENLER ÜZERİNE ETKİLİ - Ayarlanırsa, yalnızca yöneticinin sahibinin kullanıcısı ve rootdizini silebilir ve yalnızca dosya sahibini veya rootiçindeki dosyaları silebilir. ( bölüm tiçin okunabilir izinler dizesinde olduğu gibi gösterilir Others) = +1 ( --taltında Others)

İçin User/Owner, Groupve Othersnitelikleri (dört sayı son üç sayı chmodargümanı):

  • Read= +4 ( r--)
  • Write= +2 ( -w-)
  • Execute(dosyalar için) veya 'Giriş / Listeye Öğeleri Girin' (dizinler için) = +1 ( --x)

7

Buna SETUIDbit denir . eğer chmod 4555 test-file(sizin durumunuzda) tarafından ayarlanmışsa test-file, kullanıcı dosya sahibimiş gibi herhangi bir kullanıcı tarafından çalıştırılabilir.

Ne zaman SETUIDbiraz sonra Etkili Kullanıcı Kimliği (ayarlanır EUID(normal izinlerin, örneğin tarafından aksi dosyayı yürütmek için izni yok kullanıcının) 0744), dosya sahibinin EUID alır ve dosyayı çalıştırabilirsiniz.

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.