kasif wrote: > Merhaba, > > Yardımlarınız için saolun arkadaşlar, aslında tam olarak düşündüğüm bu > değildi ben yetkileri direk sistemden almayı ve kullanıcıyı tekrar > meşgul etmeden bu işi halletmeyi düşünüyordum. Sizlerin mesajlarını > birleştirerek şöyle bir şey yapmaya karar verdim. > > Önce getuid() ile kullanıcının yetkili olup olmadığını test ediyorum ve > eğer yetkili değilse ekrana "Bu program çalışması için yönetici > yetkilerine ihtiyaç duyar." gibi bir mesaj basıyorum. Sonrası zaten > kullanıcıya kalıyor ister "sudo program_adı" isterse sistemde "root" > oturumu açarak programı kullanabilir. > > Aslında setuid() isminde "uid" kullanıcı kimlik numarasını ayarlamaya > yarayan bir fonksiyon daha var ama ben denediğimde "Operation not > permitted" hata mesajını aldım. Sanırım bu fonksiyonu kullanabilmek > içinde yönetici yetkisi gerekiyor. Linux dünyasını çok yakından > bilmediğim için işin üstüne fazla gidemedim, yardımlar için tekrar > teşekkürler. > > > > 23-12-2009 11:12, "H.İbrahim YILMAZ" yazmış: > >> H.İbrahim YILMAZ wrote: >> >> >>> kasif wrote: >>> >>> >>> >>>> Kusura bakmayın bu kadar detay gerekeceğini düşünmemiştim. >>>> >>>> Programı C++ dili ile CodeBlocks geliştirme ortamını kullanarak konsol >>>> programı olarak geliştiriyorum. Program şu an tüm işlemleri konsol >>>> üzerinden yerine getiriyor ama dediğim gibi yönetici yetkisi gerektiği >>>> için işlemlerde sorun çıkıyor. Bu sorunuda aşabilirsem wxWidget >>>> kullanarak bir arayüz hazırlamak niyetindeyim. Yardımlarınız için >>>> şimdiden teşekkürler değerli arkadaşlar. >>>> >>>> 23-12-2009 09:31, Alper KANAT yazmış: >>>> >>>> >>>> >>>>> Merhaba, >>>>> >>>>> Belki de biraz da açık yazmalısınız bazı şeyleri.. Örneğin hangi >>>>> programlama dili ile hangi araçları kullanarak yazıyorsunuz? Bu bir >>>>> masaüstü yazılımı mı yoksa web sayfası vb. başka bir şekilde mi >>>>> çalışıyor? >>>>> >>>>> --- >>>>> Quis custodiet ipsos custodes? >>>>> >>>>> >>>>> 23 Aralık 2009 08:27 tarihinde kasif<[email protected] >>>>> <mailto:[email protected]>> yazdı: >>>>> >>>>> Konu hakkında cevap bulabilecegim ümidi ile sorumu >>>>> "linux-programlama" >>>>> grubuna yollamıştım. >>>>> >>>>> Yardımcı olacak veya yol gösterebilecek birileri var mı acaba? >>>>> >>>>> 22-12-2009 08:26, kasif yazmış: >>>>> > Merhaba, >>>>> > >>>>> > Debian üzerinde yazılım kaynaklarını yönetecek küçük bir uygulama >>>>> > geliştiriyorum. Aslında çoğu bitti sayılır. Ancak >>>>> "sources.list" dosyası >>>>> > üzerinde düzenleme yapmak için yönetici (root) yetkisi gerekiyor. >>>>> > >>>>> > Benim programım bir konsol programı, bu program içinden >>>>> "sources.list" >>>>> > dosyası düzenleneceği zaman sistemden yönetici (root) yetkisini >>>>> nasıl >>>>> > alırım. >>>>> > >>>>> > _______________________________________________ >>>>> > Linux-programlama mailing list >>>>> > [email protected] >>>>> <mailto:[email protected]> >>>>> > http://liste.linux.org.tr/mailman/listinfo/linux-programlama >>>>> > Liste kurallari: http://liste.linux.org.tr/kurallar.php >>>>> > >>>>> >>>>> >>>>> -- >>>>> kasif >>>>> http://code.google.com/p/dizgi >>>>> .uzak ülkenin yolcusu... >>>>> >>>>> >>>>> _______________________________________________ >>>>> Linux-programlama mailing list >>>>> [email protected] >>>>> <mailto:[email protected]> >>>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >>>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Linux-programlama mailing list >>>>> [email protected] >>>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >>>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php >>>>> >>>>> >>>>> >>>>> >>>> -- >>>> kasif >>>> http://code.google.com/p/dizgi >>>> ..uzak ülkenin yolcusu... >>>> ------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> Linux-programlama mailing list >>>> [email protected] >>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php >>>> >>>> >>>> >>>> >>> Merhaba, >>> Yanılmıyorsam getuid() fonksiyonu ile bu tarz işler halledilebiliyor >>> C++'da. Ancak size fikir vermesi açısından python örneği vereyim: >>> >>> import os >>> if os.getuid() == 0: >>> print("r00tness!") >>> else: >>> print("I cannot run as a mortal. Sorry.") >>> >>> Ayrıca bakınız: >>> http://www.unix.com/high-level-programming/64729-how-write-wrapper-c-code-return-uid-using-getuid-function.html >>> http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/rtgtui.htm >>> >>> C++ ve C üzerine bilgim yok denilecek kadar az ancak elimden geldiğince >>> yardımcı olmaya çalıştım. Bir hata yaptıysak affola. >>> Saygılar. >>> _______________________________________________ >>> Linux-programlama mailing list >>> [email protected] >>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >>> Liste kurallari: http://liste.linux.org.tr/kurallar.php >>> >>> >>> >> Farklı bir kullanımı için: >> >> //#ifdef LINUX >> if (getuid()!=0) { >> puts("pp: must be root to run pp (needs I/O access)"); >> exit(1); >> } >> >> #endif >> // >> >> >> Saygılar. >> _______________________________________________ >> Linux-programlama mailing list >> [email protected] >> http://liste.linux.org.tr/mailman/listinfo/linux-programlama >> Liste kurallari: http://liste.linux.org.tr/kurallar.php >> >> > > > Acaba system "(sudo komut)" şeklinde bir kullanımda sizden otomatik olarak root şifresini istemiyor mu? Syntax'a takılmıyorum zira bilmiyorum. Yani diyeceğim şu ki önce getuid ile kullanıcı kontrol edip eğer root ise zeten "system (komut)" şeklinde çalıştırması gerekir değilse "system (sudo komut)" şeklinde çalıştıracaktır. Bunların hepsi sadece birer öneridir dediğim gibi bu diller üzerine az ya da çok diyebileceğim bir bilgim yok bu dediklerimi yaptığınızda kaşınız dökülebilir, saçınıza saç kıran dahi gelebilir :D Saygılar.
-- H.İbrahim YILMAZ Sales and Technical Manager Marmara Bilişim http://www.bilisimmarmara.com.tr +90 226 813 3131 _______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
