ircservices/lib/ dizinine
rootlar.txt diye bir metin belgesi atıp içine yetkili olacak nickleri alt alta ekleyin. En son satırdan sonra 2-3 kez daha boş enter'layın. Her eklemenizde en son satırdan sonra 2-3 boş satır olsun (Nicklerin arasında boşluk olmasın sadece en alt satırda 2-3 boş satır olması yeterlidir).
Tek dosyada işlem yapacağız;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
ircservices*/modules/operserv/main.c
dosyasını açıp,
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static int8 no_supass = 1;
satırını bulun ve altına,
Kod: Kodu kopyalamak için üzerine çift tıklayın!
static char rootnickler[512][512];
static int rootsayisi = 0;
static void rootkontrol();
static void rootkontrol()
{
char nickler[512];
char *e;
FILE *txt = fopen("rootlar.txt","r");
memset(&rootnickler, 0, sizeof(rootnickler));
if (txt == NULL) return;
do {
e = fgets(nickler, sizeof(nickler), txt);
if (e != NULL)
strscpy(rootnickler[rootsayisi], nickler, strlen(nickler));
rootsayisi++;
}
while (e != NULL);
fclose(txt);
}
satırlarını ekleyin.
Sonra yine aynı dosyada;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (u->flags & UF_SERVROOT)
return 1;
satırlarını bulup hemen altına,
Kod: Kodu kopyalamak için üzerine çift tıklayın!
int e = 0;
for (e=0; e < rootsayisi; e++)
if (stricmp(u->nick, rootnickler[e]) == 0 && is_oper(u) && user_identified(u))
return 1;
Yine aynı dosyada;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
remove_callback(NULL, "save data complete", do_update_complete);
satırının üstüne
Kod: Kodu kopyalamak için üzerine çift tıklayın!
rootkontrol();
satırlarını ekleyip, servisinize
make ve
make install komutlarını uyguladıktan sonra
restart edin.
Restart'tan sonra sunucu üzerinde
/os update yapın rootlar.txt'deki ekli olan nicklere
ServicesRoot erişimi gelecektir.
Her yeni nick eklemenizden sonra
/os update komutunu kullanın.
İstediğiniz herhangi bir komutun yetki seviyesini de ServicesRoot'lar kullanabilir şeklinde ayarlarsınız talebiniz gerçekleşmiş olur.
İyi forumlar.