/etc/sudoers dosyasında
username ALL=(ALL) ALL=NOPASSWD: /path/app
bu şekilde bir tanımlama ile exec("sudo /path/app") şeklinde olur.
2009/12/24 "H.İbrahim YILMAZ" <[email protected]>
> 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
>
--
/**
* @author Atıf CEYLAN
* Software Developer
* http://www.atifceylan.com
*/
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php