Bu yama kaynak koddaki src/setup.py dosyasında libpython2.6.so.1 yerine libpython2.6.so.1.0 yapıyor. (aslında versiyonu sistemden alıyor)
Bu paket üzerinden kurulduğu zaman herhangi bir sorun olmadan pam_python'u kullanabiliyorsunuz.
Paketi oluşturduktan sonra yapılacak işlerden olan hata çözümleme modu yaratmakla başladım. Bunun için argv değişkeninin içerisinde debug var ise debugging değişkenini True yapmak en mantıklısı olacak diye düşünüp bu şekilde uyguladım.
Kod içerisinde de if(debugging) ile kontrol ederek eğer doğru ise hazırlamış olduğum log fonksiyonuna bir çıktı gönderiyor.
log fonksiyonu ise bu şekilde
def log(text):
sys.stdout.write(text)
sys.stdout.flush()
burda sys.stdout.write şeklinde yazmak en mantıklısı olacak çünkü eğer X açıkken yapılacak olursa bu işlemler print ya da başka fonksiyonlar işe yaramayabilir. Stdout ise her durumda işimize yarayacak bir şey. Tabi bu işlemler için de sys modülünü kullandığım için yukarıda import sys yapıyorum.
İçeride de loglama şu şekilde:
if(debugging):
log("Yazı")
kodda aşama aşama ilerlemeler bu şekilde yapılıyor.
Debugging işlemini hallettikten sonra da bir sonraki iş olarak os.system yerine subprocess.popen ile yapabileceklerimi belirleyip onları değiştirdim.
Bir de girilecek kullanıcı adı, ev dizini boyutu ve girebilecek en fazla kullanıcı sayısını tutmak için bir yapılandırma dosyası oluşturdum. Bunu da /etc/security/ nin içerisine koydum.
Dosya adı guestlogin.conf. Üzerinden değişkenleri almak için ConfigParser modülünü kullanıyorum. Kod ise aşağıdaki şekilde:
try:guestlogin.conf dosyası ise aşağıdaki gibi:
config = ConfigParser.ConfigParser()
config.read('/etc/security/guestlogin.conf')
guest_name = config.get('guest', 'guestname')
guest_limit = config.getint('guest', 'guestlimit')
guest_home_dir_size = config.getint('guest', 'homedirsize')
except:
return pamh.PAM_AUTHINFO_UNAVAIL
[guest]
guestname = guest
guestlimit = 50
homedirsize = 100
Bu şekilde biraz daha esneklik kazandırmış olduk.
Şimdilik aklıma gelenler bunlar fakat projeye eklemeler yapılacak.
Hiç yorum yok:
Yorum Gönder