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_IMMUTABLE
ham 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" dd
bu 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_RAWIO
Linux ç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=1
başarılı oldu.
Başka bir şeyi kaçırmama ihtimalinin olmadığını veya "ham G / Ç" olarak sayılmadığını, şimdi dd
gerektirmediğini bilmek CAP_SYS_RAWIO
istiyorum.
dd if=/dev/zero of=/dev/kmem seek=1740644 bs=1 count=1
ham belleğe erişim olduğu ima edildi.