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

Cevap