4 basamaklı sekizli Unix dosya izni notasyonu için ilk hane nedir?


40

3 haneli:

644
ugo (user group other)

4 haneli:

0644
?ugo (??? user group other)

4 basamaklı sekizli Unix dosya izin belgesindeki ilk sekizlik basamak nedir?

Yanıtlar:


48

Kimden man chmod:

Sayısal bir mod, 4, 2 ve 1 değerlerine sahip bitlerin eklenmesiyle elde edilen bir ila dört sekizli basamaktır (0-7). İlk hane, ayarlanan kullanıcı kimliğini (4) ve ayarlanan grup kimliğini (2) ve yapışkan (1) niteliklerini seçer.

Siz "set kullanıcı kimliği", "set grup kimliği" ve "yapışkan" nedir?

setuid / setgid :

setuid ve setgid (sırasıyla "yürütme sırasında kullanıcı kimliğini ayarla" ve "yürütme sırasında grup kimliğini ayarla" için kısa), kullanıcıların çalıştırılabilir dosya sahibinin veya grubunun izinleriyle bir çalıştırılabilir çalıştırmasına izin veren Unix erişim hakları bayraklarıdır. Genellikle bilgisayar sistemindeki kullanıcıların belirli bir görevi gerçekleştirmek için geçici olarak ayrıcalıklı programları çalıştırmalarına izin vermek için kullanılır. Verilen kullanıcı kimliği veya grup kimliği ayrıcalıkları her zaman yükseltilmezken, en azından belirlidir.

Ayrıca, bir dizine uygulandığında, setuid / setgid, dizinde oluşturulan yeni dosyaların, üst dizinin sırasıyla kullanıcı kimliğini veya dizini devralmasına neden olur. Bu davranış unix'in lezzetine göre değişir. Örneğin, linux setgid'i ödüllendiriyor, ancak dizinlerdeki setuid'i görmezden geliyor.

Ve yapışkan :

Yapışkan bitin günümüzde en yaygın kullanımı dizinler üzerindedir. Yapışkan bit ayarlandığında, yalnızca öğenin sahibi, yöneticinin sahibi veya süper kullanıcı dosyaları yeniden adlandırabilir veya silebilir. Yapışkan bit kümesi olmadan, dizine ilişkin yazma ve yürütme izinlerine sahip herhangi bir kullanıcı, sahibinden bağımsız olarak içerdiği dosyaları yeniden adlandırabilir veya silebilir. Normalde bu, sıradan kullanıcıların diğer kullanıcıların dosyalarını silmesini veya taşımasını önlemek için / tmp dizininde ayarlanır.


12

Setgid, günlük olarak güvendiğim ancak Handyman5'in alıntılarına dahil olmayan çok önemli bir işleve sahip (alıntı yukarıda belirtilen sayfadan geliyor):

Bir dizinde ayarlandığında setuid ve setgid bayrakları tamamen farklı bir anlama gelir.

Bir dizinde setgid izninin (chmod g + s) ayarlanması, dosyayı oluşturan kullanıcının birincil grup kimliği yerine grup kimliğini devralması için yeni dosya ve alt dizinlerin kalmasına neden olur (sahip kimliği asla etkilenmez, yalnızca Grup kimliği). Yeni oluşturulan alt dizinler setgid bitini devralır.

Bu, grup üyelerinin yeni dosyalar veya dizinler oluşturmadan önce mevcut gruplarını açıkça değiştirmelerini gerektirme sıkıntısı çekmeyen bir grup için paylaşılan bir çalışma alanı sağlar. Bir dizindeki setgid izninin ayarlanmasının, yalnızca setgid biti ayarlandıktan sonra oluşturulan yeni dosyaların ve alt dizinlerin grup kimliğini etkilediğini ve mevcut varlıklara uygulanmadığını unutmayın. Mevcut alt dizinlerde setgid bitinin ayarlanması aşağıdaki gibi bir komutla manuel olarak yapılmalıdır:

[root@foo]# find /path/to/directory -type d -exec chmod g+s {} \;

chmod g+sSekiz değerinin önüne 775 izni ( drwxrwxr-x) olan 2775 ( drwxrwsr-x) dizini oluşturan 2 değerinin eklenmesi anlamına gelir .


2
FYI: MacOS X, SGID biti her zaman bir dizinde durmuş gibi davranır.
Jonathan Leffler

4

Diğer cevaplara ek olarak, baştaki 0, bir sayının sekizlik olduğunu söylemek için kullanılan bir kongredir. Dosya izinleri her zaman sekizlik olarak ifade edildiğinden burada gerekli değildir, ancak bu yine de mevcut olmasının başka bir nedeni olabilir.


2

Bir dosya veya dizinin izinlerini bulmanıza yardımcı olmak için Limux / Unix izinleri hesap makinesini kullanmak kolaydır .


Sadece bağlantılar gönderme frowns üzerine. İlgili içeriği yayınlamanız ve sonra kaynağınızdan alıntı yapmanız gerekir.
MDMarra

Gelecekteki yayınların doğru biçimde biçimlendirileceğini belirtti
vegasbrianc
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.