Setcap değişiklikleri kalıcı mı?


11

Bir dosya için setcap kullanırken, bu değişiklik kalıcı mı yoksa önyükleme sırasında setcap'ı çağırmam gerekir mi?

setcap cap_sys_nice fooexecutable

Yanıtlar:


15

Setcap dosyada depolar yetenekleri çağrısı ile genişletilmiş bir özelliğinde setxattr . Bu genişletilmiş öznitelik, dosya sistemindeki diğer öznitelikler (sahiplik, haklar ...) gibi depolanır.

Çekirdek 2.6.24'ten bu yana, çekirdek setcap (8) kullanarak yetenek kümelerini yürütülebilir bir dosya ile ilişkilendirmeyi destekler. Dosya yeteneği kümeleri, security.capability adlı genişletilmiş bir öznitelikte (bkz. Setxattr (2)) depolanır.

Bu nedenle, her yeniden başlatma sırasında kapağınızı sıfırlamanız gerekmez.


dosya değiştirilirse ne olur?
ryanwinchester

1
@ryanwinchester yalnızca dosyanın içeriği değiştirilirse, sorun olmaz, ancak dosya kaldırılır / yeniden oluşturulursa, setcap kapasitesi de kaldırılır.
Cédric Julien

:( ah, bu yüzden benim sorunum. Bir dizini yeniden inşa eden ve daha sonra 80 numaralı bağlantı noktasını dinleyen bir sunucu başlatan bir komut setcap
dosyam

"yalnızca dosyanın içeriği değiştirilirse sorun olmaz" doğru değildir. Bir dosyanın içeriğini değiştirmek, yeteneklerinin kaldırılmasına neden olur. Bkz. Unix.stackexchange.com/a/283408/2526
Richard Fearn

0

Değişiklikler kalıcıdır ancak birlikte kullanıldığında sorunlar yaşadım nodejs.

authbindKullanıcı tarafından izin vermek için kullanabilirsiniz

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
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.