[Gelistirici] sudo/su
Ozan Çağlayan
ozancag at gmail.com
6 Tem 2008 Paz 00:48:52 EEST
Selamlar.
Şimdi bu sudo ve su ile ilgili 2007-2008 arasındaki davranış
değişikliklerinden anlayabildiğimi özetleyip bir çözüm bulmamız
gerekiyor mu yoksa artık davranış böyledir mi diyoruz, bunu tartışmaya
açıyorum.
Mevcut sudo ile env değişkenlerinde durum şöyle:
Misal kwrite çalışmadı:
ozan at cyclope ~ $ sudo kwrite
kwrite: cannot connect to X server
Çünkü:
ozan at cyclope ~ $ sudo su
cyclope ozan # echo $DISPLAY
cyclope ozan # echo $PATH
/bin:/usr/bin
2007de bu 2 değişken de korunuyordu. Yeni sudo+yamalar ile bu
davranıştan vazgeçilmiş. Böyle mi kalmalı yoksa eskisi gibi mi olmalı?
Bir de şöyle bakalım :
ozan at cyclope ~ $ sudo su -
cyclope ~ # echo $DISPLAY
cyclope ~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/opt/sun-jre/bin:/opt/sun-jdk/bin:/usr/qt/3/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin
--
SU'da da şunlar oluyor:
ozan at cyclope ~ $ su
cyclope ozan # echo $DISPLAY
:0
cyclope ozan # echo $PATH
/bin:/usr/bin
şimdi su ile root kullanıcısına geçtiğimiz de DISPLAY niye korundu?
ozan at cyclope ~ $ su -
cyclope ~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/opt/sun-jre/bin:/opt/sun-jdk/bin:/usr/qt/3/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin
cyclope ~ # echo $DISPLAY
:0
- parametresi giriş kabuğu haline dönüştürüyor ve bash'e dair bir şeyi
source ettiği için PATH genişliyor anladığım kadarıyla.
Neyse deneyle böyle, benim kafamı acayip karıştırdı bu iş. Ama mesela
sudo kullanarak DISPLAY ve PATH'i kaybetmemizin her şey bir yana şöyle
çok enteresan ve manidar bir yan etkisi var. Configure scriptlerinde Qt
kütüphanesinin varlığı denetlenirken PATH'e bakıldığı oluyor. Bu
sebepten "sudo pisi bi pspec.xml" ile paket derlemeye çalışırken
configure aşamasında "Ah qt yok bu bilgisayarda" diyip build patlıyor.
Görüşmek üzere.
--
Ozan Çağlayan
http://cekirdek.pardus.org.tr/~ozan
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi