Ben kullanılan sudoeditbir dosya oluşturmak için:
$ sudoedit /etc/systemd/system/apache2.service
ancak dosyayı kaydetmeye gittiğimde, dosyayı geçici bir dizine (/ var / temp / blahblah) yazdı. Ne oluyor? Neden sistem dizinine kaydetmiyor?
Ben kullanılan sudoeditbir dosya oluşturmak için:
$ sudoedit /etc/systemd/system/apache2.service
ancak dosyayı kaydetmeye gittiğimde, dosyayı geçici bir dizine (/ var / temp / blahblah) yazdı. Ne oluyor? Neden sistem dizinine kaydetmiyor?
Yanıtlar:
Noktası sudoeditayrıcalığı olmayan bir editör çalışırken, aksi takdirde izin verilmez düzenleme dosyalarına kullanıcıları sağlamaktır. Bunu yapmak sudoeditiçin, düzenlenecek dosyayı geçici bir konuma kopyalar, istekte bulunan kullanıcı tarafından yazılabilir hale getirir ve yapılandırılmış düzenleyicide açar. Bu nedenle editör geçici bir dizinde alakasız bir dosya adı gösterir. Editörden çıkıldığında, sudoeditgerçekten herhangi bir değişiklik yapılıp yapılmadığını kontrol eder ve gerekirse geçici dosyayı orijinal konumuna geri kopyalar.
visudofor ile /etc/sudoers.
visudoiçin sudoedit. Kesinlikle visudoyaptığını biliyordum . Temizlediğiniz için teşekkürler!
Bu güzel açıklanmıştır manpage . Açıklaması ( eşdeğerdir) diyor ki:sudo-esudoedit
-e
-e(Düzenle) seçeneği yerine bir komut çalıştırılmaz ve kullanıcı düzenlemek bir veya daha fazla dosya istediğinde, gösterir. Bir komut yerine, "sudoedit" dizesi güvenlik ilkesine başvururken kullanılır. Kullanıcı ilke tarafından yetkilendirilmişse, aşağıdaki adımlar uygulanır:
- Geçici kopyalar, arayan kullanıcı tarafından ayarlanan sahibi ile düzenlenecek dosyalardan yapılır.
- İlke tarafından belirtilen düzenleyici geçici dosyaları düzenlemek için çalıştırılır.
sudoersPolitika kullanırSUDO_EDITOR,VISUALveEDITOR(bu sırayla) ortam değişkenleri. Hiçbiri değilseSUDO_EDITOR,VISUALyaEDITORayarlanır, editör listelenen ilk programsudoers(5)seçeneği kullanılır.- Değiştirilmişlerse, geçici dosyalar orijinal konumlarına geri kopyalanır ve geçici sürümler kaldırılır.
Belirtilen dosya yoksa oluşturulur. Çoğu komutun aksine
sudo, düzenleyicinin, çağıran kullanıcının ortamı değiştirilmeden çalıştırıldığını unutmayın. Herhangi bir nedenle,sudobir dosyayı düzenlenmiş sürümüyle güncelleyemezse, kullanıcı bir uyarı alır ve düzenlenen kopya geçici bir dosyada kalır.
Özellikle, üçüncü adıma dikkat edin: yalnızca düzenleme sonunda dosya değiştirildiyse orijinal değiştirilir. Bu nedenle, bir dosyayı izleyen bir programınız varsa, bu (a) ara yazmaların alınmasını ve (b) sonunda herhangi bir değişiklik yapmaya karar vermeniz durumunda gereksiz işlemleri önlemeye yardımcı olabilir.