c dili ile yönetici kontrolu ve id değiştirelim.

icehead

Uzman üye
19 Şub 2022
1,137
833
C dili ile işletim sistemleri dersin de en çok gelen sorular arasında bulunur. "C ile kullanıcı grup idsini alın yönetici ise değiştirin"klasik lisans sorusu!

hadi başlayalım.

öncelikle ben linux distrosu kullanıyorum gcc derleyicisini yüklemek lazım

Bash:
sudo apt update && suda apt upgrade && sudo apt install gcc


ardından terminale bir c dosyası oluşturalım.

Bash:
nano chil.c


kodları yazmaya başlayabiliriz.

C:
#include<stdio.h>
#include<unistd.h>

int main()
{
int id_degeri;
printf("grup id si %d",getgid());
id_degeri=setgid(2000);
if(id_degeri==-1)
{
printf("yönetici değilsiniz! lütfen root hesabına geçiniz...");

}
else
{
printf("root hesabındasınız!");

}

}


q6rgj0m.jpg


şimdi ctrl+s ile kayıt edip derleme işlemine geçelim ve ardından çalıştırma izni verip çalıştıralım.

Bash:
chmod +x ./test  && ./test


70pmo8u.jpg


gördüğünüz gibi yönetici olmadığımız için hata aldık.

eğer programı sudo veya root hesabında başlatırsanız grup id değişecektir.
 

icehead

Uzman üye
19 Şub 2022
1,137
833
Teşekkür ederim.
lisans okumuyorum fakat lisans ve lisans üstü soruları çözüyordum gördüm ki bu soru istanbul teknikte ve ortadaoğ teknikte sorulmuş çözdüm hemen dedim bunu forumada atayım.
bu arada kalkülüs da çözüyorum forumda matematik bölümü varsa orayada konu açarım yakında.
 

C-137

Katılımcı Üye
6 May 2022
286
70
C dili ile işletim sistemleri dersin de en çok gelen sorular arasında bulunur. "C ile kullanıcı grup idsini alın yönetici ise değiştirin"klasik lisans sorusu!

hadi başlayalım.

öncelikle ben linux distrosu kullanıyorum gcc derleyicisini yüklemek lazım

Bash:
sudo apt update && suda apt upgrade && sudo apt install gcc


ardından terminale bir c dosyası oluşturalım.

Bash:
nano chil.c


kodları yazmaya başlayabiliriz.

C:
#include<stdio.h>
#include<unistd.h>

int main()
{
int id_degeri;
printf("grup id si %d",getgid());
id_degeri=setgid(2000);
if(id_degeri==-1)
{
printf("yönetici değilsiniz! lütfen root hesabına geçiniz...");

}
else
{
printf("root hesabındasınız!");

}

}


q6rgj0m.jpg


şimdi ctrl+s ile kayıt edip derleme işlemine geçelim ve ardından çalıştırma izni verip çalıştıralım.

Bash:
chmod +x ./test  && ./test


70pmo8u.jpg


gördüğünüz gibi yönetici olmadığımız için hata aldık.

eğer programı sudo veya root hesabında başlatırsanız grup id değişecektir.
hocam gene döktürmüşsünüz fakat id değiştirmek nasıl bi işe yarar?
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.