Cevapları zor anlamak (kendime) ve bunu anlamak biraz düşünmemi gerektirdi ( bu yorum beni anlamamı sağladı), umarım daha iyi bir açıklama yapacağım.
1. Sahte olarak neler olur?
Kendi kullanıcılarına olanlardan daha fazlası değil Kesinlikle daha fazla bir şey yok. Siz fakeroot(ki dendiğinde size yeni bir kabuk verir sudo) izin için ihtiyacınız olan şeyleri yapıyormuş gibi yapar ve çıkmazsanız kesinlikle hiçbir şey olmaz.
Eğer düşünürseniz, bu tamamen zaman kaybıdır. Neden gerçekleşmeyecek şeyler yapıyorsun? Bu delilik. Bunların hiçbirini yapmamış olabilirdiniz ve hiçbir iz kalmayacağından hiçbir fark olmazdı.
Bir dakika bekle...
2. Sahte kök izi
Kalan bir iz olabilirfakeroot . MortenSickel'in cevabındaki komutlara bir bakalım ki bu oldukça hoş ve bir artığı hak ediyor:
$ fakeroot
# echo "Wow I have root access" > root.tst
# ls -l root.tst
-rw-rw-r-- 1 root root 23 Oct 25 12:13 root.tst
# ls -l /root
ls: cannot open directory /root: Permission denied
# exit
$ ls -l root.tst
-rw-rw-r-- 1 ubuntu ubuntu 23 Oct 25 12:13 root.tst
İlk bakışta, kullanılmış olması fakeroottam bir zaman kaybı gibi görünüyor . Sonunda, eğer kullanmasaydın fakeroot, aynı şeyi elde ederdin.
Buradaki ince şey şudur:
$ cat root.tst
Wow I have root access
Bu, dosyanın içeriğinin hala bir kök olduğunu hatırlıyor demektir. Kullanmamanın fakerootaynı sonuçları vereceğini söyleyebilirsiniz . Haklısın, bu örnek çok basit.
Başka bir örnek alalım:
$ fakeroot
# touch x
# touch y
# chown myuser:myuser x
# ls -l > listing
# exit
$ ls -l
total 4
-rw-rw-r-- 1 myuser myuser 152 Jan 7 21:39 listing
-rw-rw-r-- 1 myuser myuser 0 Jan 7 21:39 x
-rw-rw-r-- 1 myuser myuser 0 Jan 7 21:39 y
$ cat listing
total 0
-rw-rw-r-- 1 root root 0 Jan 7 21:39 listing
-rw-rw-r-- 1 myuser myuser 0 Jan 7 21:39 x
-rw-rw-r-- 1 root root 0 Jan 7 21:39 y
Ne olduğunu görelim. Ben gibi davrandı roottamamen etkisiz olan ve oluşturulan xve y. Ben davrandı xait olduğu myuserve yait olduğu root. Aslında ikisi de myuser(sonunda görebildiğimiz gibi), ama ben böyle davrandım .
Sonra bir liste oluşturdum ve hayal gücümü bir dosyaya kaydettim. Daha sonra dosyaya geri baktığımda, dosyaların kime ait olduğunu hayal ettiğimi görebiliyorum. Yine, aslında hayal ettiklerime ait değiller, sadece hayal ettim.
3. Peki ... Neden bunu tekrar istiyorsun?
Bu listeyi oluşturmak için root olmama gerekmediğini söyleyebilirsin. Girişi basitçe oluşturabilir, hayal gücümü yansıtacak şekilde düzenleyebilirdim. Haklısın, buna ihtiyacın yoktu fakeroot. Aslında, fakerootbunun aslında hiçbir şey yapmadığını bilmek, daha önce sahip olamadığınız bir yeteneğe sahip olamazsınız.
Ancak , ve fakerootbununla ilgili olan şey, girişi düzenlemek önemsiz olabilir. Sisteminize kurulabilen bir pakette olduğu gibi , dosyalarınızı bir arada tutan ve izinlerini ve sahiplerini hatırlayan bir tared, gziped, xzed, bzip2ed veya başka bir formatınız vardır. Sıkıştırılmış dosyayı kolayca değiştirebilir ve bir dosyanın sahipliğini düzenleyebilir misiniz? Seni bilmiyorum ama bir yol düşünemiyorum.
Her şey sıkıştırıldığında sıkıştırılmış dosyayı değiştiren ve sahiplik ve izinleri programlı olarak düzenleyen bir araç olabilir mi? Evet olabilirdi. Böylece, ya mülkiyeti sıkıştırmadan önce taklit edebilir ya da sonradan değiştirebilirsiniz. Debian halkı eskilerin daha kolay olduğuna karar verdi.
4. Neden sadece kullanmıyorsunuz sudo?
Her şeyden önce, yazılım oluşturmak için kök ayrıcalıklarına ve bunları sıkıştırmak için kök ayrıcalıklarına ihtiyacınız yoktur. Bu yüzden, ihtiyacınız yoksa, bu izni almayı düşünmek için bile gerçekten bir Windows kullanıcısı olmanız gerekir. Ama alaycı bir yana, root şifreniz bile olmayabilir.
Ayrıca diyelim ki kök izinleriniz var. Ve diyelim ki bir dosyanın sadece root'a okuma erişimi olması gerektiği gibi davranmak istediğinizi varsayalım. Böylece sudo, aslında dosya sahibini ve izinlerini değiştiriyor root, kök kabuğundan çıkıp her şeyi paketlemeye çalışıyorsunuz. Başarısızsınız çünkü artık root erişiminiz olmadığı için dosyayı artık okuyamıyorsunuz. Bu yüzden sudopaketi kök olarak sıkıştırmanız ve sıkıştırmanız gerekir . Etkili, her şeyi kök olarak yapmanız gerekiyor.
Bu Kötü TM .
Paketleyici olarak kök izinlerine ihtiyacınız yoktur ve alamazsınız. Bir paketi kurduğunuzda, Aroot ( ) olarak bir dosya ( ) kurmanız gerekebilir ve o zaman root izinlerine ihtiyacınız olacaktır. Bunların hepsi fakerootbunu mümkün kılmaktır. Paketleyici listesinin A, arşivleyici için kök tarafından sahip olduğu şekilde olmasını sağlar, böylece paket kullanıcı tarafından açıldığında, arşivleyici kök izni ister ve root'un Asahip olduğu şekilde oluşturur .
sudoveyasumakineniz olduğu için , normal kullanıcı olarak yapılabilecek her şeyi root olarak yapmaktan kaçınmak iyi bir fikirdir .fakerootiki kullanımı vardır 1) programları, sizin gerçekten kötüye kullandığınıza inanmanızı sağlar, bazı kötü yazılmış mülk yazılımlara ihtiyaç duyulmasa bile (genellikle Windows geliştiricisi Linux yaptı) ve 2) ihtiyaç duyacağınız dosya modunu ve mülkiyet değişikliklerini taklit etmeyi gerektirebilir. t Aksi haldetar, örneğin yazılımı paketlerken yararlı olan doğru izinlere ve sahipliğe sahip bir dosya oluşturmak için yapabileceklerdir .