Linux dosya izinlerini kullanarak bir “isim” rezervasyon sistemi uygulamak mümkün müdür?


10

/ Etc / passwd içinde 100'den fazla kullanıcısı olan bir linux çoklu kullanıcı sunucum var

Kullanıcıların beğendikleri bir adı "ayırmalarına" / "ayırmalarına" izin vermek istiyorum (bu durumda bir alt alan adıdır, ancak bu ayrıntılar önemli değildir)

/reservationsChmod 777 adında bir dizin oluşturdum .

Kullanıcı johndoe yaparsa, touch /reservations/coolsiteo "sitenin" adı "" sahibi olmak "istediğini belirtir

"Mekanizma",

  • johndoe daha sonra fikrinizi değiştirebilir ve rm /reservations/coolsitebu adın rezervasyonunu kaldırabilir

  • başka bir kullanıcının girmesine izin verilmiyor touch /reservations/coolsite, çünkü johndoe önce istedi.

  • rmonun dosyası johndoe ise, başka bir kullanıcı onu ayırmak için izin verilir.

  • kullanıcılar rm / rename / mv / etcdiğer kullanıcı dosyalarını kullanamaz

  • kullanıcı johndoe yaparak birden fazla rezervasyon olabilir touch /reservations/coolsite && touch /reservations/coolsite2

Bu bir çeşit standart linux izin mekanizması kullanılarak mümkün müdür?

Bunun için perl'e başvurmaktan nefret ederim, yakut dalgalı sarı saçlarıyla birlikte geldiği günden beri perl becerilerim paslandı ...


Burada sıra dışı bir şey görmüyorum. "700" olarak oluşturulmuş "coolsite" (grup ve diğerleri için izin yok) ve yalnızca kendi kullanıcı + yöneticisi bir şeyler yapabilir. Diğerlerinin izni reddedildi.
Rinzwind

Yani elle kullanıcılar talimat sonra 700 chmodlamayı hatırlamak touch?
amerikan-ninja-savaşçı

1
Bunu zorlayabileceğini düşünüyorum? (ile umask). Oh good one @perlduck
Rinzwind

Neden ruby ​​ile programlayamadın?
boru

Yanıtlar:


31

Dizin için sorduğunuz /reservationsstandart /tmpdizinin tam olarak nasıl davrandığıdır:

Her kullanıcı orada dosya oluşturabilir ve yalnızca dosyaları silebilir veya değiştirebilir. Bu izinlerde tbit (aka yapışkan bit ) ile elde edilir . Hiçbir kullanıcının özel izinlere veya umask'lere ihtiyacı yoktur.

Böylece:

chown root /reservations
chmod 1777 /reservations

tüm ihtiyacın olan. chown rootBu dizine ile ilgilenmek diğer (normal) kullanıcıların önlemek için kullanılmalıdır. Gerçekten gerekli değil . Yapışkan bit hakkında daha fazla bilgiyi buradan edinebilirsiniz:

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.