Neden yapışkan bit kullanıyorsunuz?


18

"Yapışkan bit yalnızca dizinler için geçerlidir ve genellikle genel olarak yazılabilir dizinlerde kullanılır. Yapışkan bitin uygulandığı bir dizinde kullanıcıların kişisel olarak sahip olmadıkları dosyaları silmeleri veya yeniden adlandırmaları engellenir."

Aşağıdakileri çalıştırırsam bu anlama gelir mi?

// only allow other users to read files in /directory
sudo chmod o-w -R /directory
sudo chmod o-x -R /directory
sudo chmod o+r -R /directory

kullanıcılar kendilerine ait olmayan herhangi bir dosyayı silebilir veya yeniden adlandırabilir mi?

Yanıtlar:


22

Yapışkan bit gibi yazılabilir dizinlerde yararlıdır /tmp. Bu dizinlerde, herkes bir dosya oluşturabilir, bu nedenle dizinin dünya çapında yazılabilir olması gerekir. Ancak bu, bir dosyanın silinmesi dizindeki yazma izniyle kontrol edildiğinden, herkesin dosyaya ait olmasa bile bir dosyayı silebileceği anlamına gelir. Bir dizinde yapışkan bit varsa, yalnızca dosyanın sahibi dosyayı silme iznine sahiptir.

İzinleri olan bir dizinde rwx------veyarwxr-xr-x yalnızca dizinin sahibi bir dosya oluşturabilir veya silebilir. Farklı bir kullanıcıya ait herhangi bir dosya varsa (oraya kök tarafından taşındı veya dizinde daha fazla açık izin olduğunda oluşturuldu), dosyanın sahibi değil, onları silme izinleri olan dizinin sahibidir.

İzinleri rwxrwx---olan bir dizinde , grubun tüm üyeleri dosya oluşturabilir ve silebilir. Grubun herhangi bir üyesi, farklı bir kullanıcıya ait olsa bile herhangi bir dosyayı silebilir. İzinler ise rwxrwx--Tyerine (sermaye Tgibidir t, ama tdemek olduğunu xbiraz ayarlanır ve To vasıta xbiraz açıktır), ardından grubun herhangi bir üyesi bir dosya oluşturabilir ve grubun üyeleri dosyaları ama sadece kendi dosyalarını silebilir .

Hangi dizinlerin sisteminizde yapışkan biti olduğunu görmek için aşağıdaki komutu kullanabilirsiniz:

find / /run /run/lock /run/shm -xdev -path /usr -prune -o -perm -o+t -ls 2>/dev/null

/tmpHerkese açık olan bazı dizinler /var/spool/cron/crontabsve kendi grubu ( setgid ) olarak çalışan bir sistem programı için ayrılmış gibi bazı dizinler bulacaksınız , burada yapışkan bit programın yalnızca dosya adına dosyaları silmesini sağlar onlara sahip olan kullanıcı (programın yalnızca onlara sahip olan kullanıcı adına dosya oluşturabilmesini sağlayan şey, programın root olarak değil, o kullanıcı olarak çalıştığıdır, bu nedenle diğer kullanıcılara ait dosyalar oluşturamaz).

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.