Hoşgeldin Misafir

IRCServices TXT'den ServicesRoot Yetkisi Vermek

Enyalios

21 Eki 2020
873 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Merhaba,--

Bu işlem istenilen nick(ler)e txt üzerinden ServicesRoot erişimi vermektir. Ve servislere restart atma gereği duyulmamasıdır. Bu editi başka bir forumda istek üzerine vermiştim, burada da paylaşıyorum.--

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:
ircservices*/modules/operserv/main.c
-dosyasını açıp,----

Kod:
static int8 no_supass = 1;
--satırını bulun ve altına,------

Kod:
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:
if (u->flags & UF_SERVROOT)
		return 1;
----satırlarını bulup hemen altına,--

--------
Kod:
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:
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.--


----İyi forumlar.--
--------