Dd CAP_SYS_RAWIO gerektiriyor mu?


1

Bir süre önce, ben öğrendim bu yarı kalıcı değişmez değiştirmek sonuna & okunur bayraklar (hatta kök yeteneğini devre dışı için bir yol olacaksa kullanılan lcap CAP_LINUX_IMMUTABLEham okuma / yazma işlemleri) ya da gerçekleştirmek ( lcap CAP_SYS_RAWIO). Bunu denemek istedim, ancak sistem genelinde yetenek sınırlama kümesi kaldırıldığından beri, Linux çekirdeğini her iki yeteneği de gerektiren komutların her zaman reddedileceği şekilde yamalıyorum. Bu nedenle, bunun "ham diske veya ham belleğe yazmaya izin vermediğinden" ddbu kısıtlamaları atlamanın ve devre dışı bırakmanın bir yolu olarak yararsız olacağını varsaydım lcap CAP_SYS_RAWIO.

Değişikliklerimin başarılı olup olmadığını görmek için koştum sudo dd if=/dev/sda of=mbr.img bs=512 count=1. İşlem başarılı oldu, bu yüzden sadece okuma işlemi olduğu için buna izin verildiğini varsaydım. Böylece koştum sudo dd if=/dev/null of=/dev/sda bs=512 count=1, ama dehşetime göre bu da başarılı oldu. CAP_SYS_RAWIOLinux çekirdeğinde herhangi bir kod sınamasını kaçırıp kaçırmadığımı kontrol ettim , bulduğumu, gerektiği şekilde değiştirdiğimi, yeniden yaptığımı, yeniden yükleyip tekrar denediğimi öğrendim. Bir kez daha sudo dd if=/dev/null of=/dev/sda bs=512 count=1başarılı oldu.

Başka bir şeyi kaçırmama ihtimalinin olmadığını veya "ham G / Ç" olarak sayılmadığını, şimdi ddgerektirmediğini bilmek CAP_SYS_RAWIOistiyorum.

Yanıtlar:


1

man 7 capabilitiesKontrol edenleri listeler CAP_SYS_RAWIOve blok aygıt dosyalarını okumak ve yazmak bunlardan biri değildir. ddnormal readve writesistem çağrılarını kullanarak işini yapar ; giriş ve çıkış arabelleklerinin boyutunu seçmek ve kopyalarken verileri dönüştürmek için fantezi özelliklere sahiptir, ancak gerçekten G / Ç'nin kendisi için özel bir şey yapmaz.


Verdiğim web sayfasında, dd if=/dev/zero of=/dev/kmem seek=1740644 bs=1 count=1ham belleğe erişim olduğu ima edildi.
Melab

1
Çünkü /dev/kmemham belleği temsil ediyor ve CAP_SYS_RAWIObu dosyayı açmanız gerekiyor . Kullanımı ddönemsizdir; herhangi bir programın yazmaya (ya da okumaya) /dev/kmemihtiyacı var CAP_SYS_RAWIO.
Wyzard
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.