Kök olmadan, kök dizinine sahip bir dosyayı root olmadan silmek neden mümkün oldu? | m24sniperweaponsystem.com
Bu yüzden, daha önce sunucumda bir miktar bakım yapıyordum ve ev dizinimde root'a ait bir dosyayı sildiğimi fark ettim.
Bir örnek ürettim:
Sorum şu: root tarafından sahip olunan ve izinlere sahip olan bir dosyayı nasıl silebilirdim? -rw-r--r--ben root olmasa da?
Yapabilirsin dosyayı işaret eden dizindeki girişi kaldırın. çünkü dizine yazma erişiminiz var. Dosyayı mutlaka silemezsiniz; Dosya başka bir yerde başka bir sabit bağlantı olabilir. - immibis
Komik eklenti: ayrıca dosyayı yeniden adlandırabilir ya da sabit bağlantıları yapabilirsiniz. - peterh
Lütfen kabul edilen cevap için seçiminizi tekrar gözden geçirin, çünkü mevcut olanı yanıltıcıdır: değil izinli Yönetmenin izinlerine göre içeriğin içine herhangi bir şey yapmak. - Cthulhu
@ Cthulhu Bitti! Bu soru ve cevapların tüm yorumları için herkese teşekkürler, kesinlikle burada çok yararlı bilgiler! - Carl Bennett
İzinler, içerik ve tüm özellikler inode'un bir parçasıdır. İsim dizin girişinde. İzinler, yinelemeli olarak devralınmaz.
Bir dosyayı sildiğinizde, dahili olarak sadece sabit bağlantıyı dizin girişinden inode'a çıkarırsınız. Tüm sabit bağlantılar kaldırıldığında ve inode kullanılmadığında, dosya sistemi alanı yeniden kazanacaktır. Dosyada hangi izinler ayarlanırsa yapılsın (yalnızca değişmez ek izin hariç) sadece klasörde yazma iznine ihtiyacınız var. Boş bir klasör için aynı.
Boş olmayan bir klasörü sildiğinizde, sildiğiniz klasörde ve ebeveyninde yazma iznine ihtiyacınız vardır.
Bu nedenle izinler inode'da veya izinler bağlantıda inode'a ve ben sadece bu linki kaldıracağım (ve böylece tek link kaldırılır, böylece inode ortadan kalkar). - Carl Bennett
İzinler inode'da. Bu, bir dosyaya sabit bir bağlantı oluşturarak, buradaki izinleri değiştirerek ve sonra da orijinaldeki izinleri denetleyerek kolayca doğrulanır. - Wouter Verhelst
fakat diyelim ki, hem root'a ait bir dizin hem de bir dosya var, dizinin kullanıcı tarafından sahip olunan bir dizinde var. Onları kaldıramazsın, değil mi? - njzk2
Ext2, ext3 ve ext4'e özgü bir özelliktir. Örnek: sudo touch test_file;sudo chattr +i test_file;rm -f test_file Görmek: man chattr - Mircea Vutcovici
Ölümsüz öznitelik, kökten bile olsa değişiklik için bir dosyayı korur. - Mircea Vutcovici
Dizinin sahibi olduğunuzda, ona ve onun içindeki içeriğe yönetmenin izinlerine bağlı olarak herhangi bir şey yapmanıza izin verilir. Bu nedenle, dosyanın sahibi olmamasına rağmen, dosyanın bulunduğu dizine okuma / yazma izni aldığınız için onu silebildiniz.
Tam olarak değil. Örneğin, OP bu root'a ait dosyayı değiştiremez. Sorun şu ki, bir dosyayı silmek değil dosyada bir işlem olarak değil, dizinde (bir dosyaya işaretçiyi kaldırılıyor) düşünüldü ve bu nedenle dizindeki izinler önemliydi. - Cthulhu
@Cthulhu bir kök dosya silebilir ve sonra aynı adı ile yeni bir değiştirilmiş birini oluşturabilirsiniz? - KDEx
@Morgoroth evet yapabilirdiniz, ancak bu artık aynı dosya olmaz. Başka bir (belki daha açık olan) bir örnek için, kök dizinine aitse ve yalnızca sahibinin okuyabileceği bir dosyayı dizinde okuyamazsınız. - Cthulhu
@inetknght Bu açıklığa kavuşturulmalıdır. Dosyaları kendileri gibi manipüle etmeye çalıştığınızı anlıyorum, ama bu net değil. Örneğin, içeriğini değiştiremezsiniz. Ve dizin izinlerini kolayabilecek niteliklerden bahsetmiyorsunuz. - Mike S
@captcha Çünkü vi dosyayı önce geçici kopyaya kaydeder, daha sonra orijinal dosyayı siler ve kopyayı orijinaline (veya benzeri bir şeye) yeniden adlandırır. - Cthulhu
Sabit Sürücüler Neden Başarısız? Bir sunucunun HTTPS için SNI kullanıp kullanmadığını nasıl anlayabilirim? mysqldump: 'INFORMATION_SCHEMA.SESSION_VARIABLES' özelliği devre dışı bırakıldı Hangi CentOS Sürümünü Kullanmalıyım? Satıcı teknik incelemesinde: 5Mpps prob yok. Zaten 120 kpps'ta bir duvara çarpıyorum. Darboğaz nerede? Canonical Landscape için açık kaynak alternatifi? [kapalı] Apache Dosya Sistemi'nde klasör bulmuyor; Dosya Yollarının sonuna "\ xe2 \ x80 \ x9d" ekleme