From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:user-agent:x-accept-language:mime-version:to:subject:x-enigmail-version:content-type:content-transfer-encoding; b=RzM+3hPEbDkVWaxs0bYkuknPD2rmMfJhQNJ3CbNZl94JmDac46f6YWwMQTG0x22nYPnT8OuXMmAuBE+v4sjomMVdB5pzehX9tcYi9sONpVuUeOLwt/CopTl5dkciA5JGjZuwptvzs4ozSn7VNWOQhtmyDZTV9MHCRhvma5s3GVc= Message-ID: <42972C76.5010407@gmail.com> Date: Fri, 27 May 2005 18:19:34 +0400 From: Vitaly Smirnov User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050516) X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: ALT Linux Sisyphus discussion list Subject: Re: [sisyphus] unreal ircd X-Enigmail-Version: 0.91.0.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: device@altlinux.org, ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2005 14:19:35 -0000 Archived-At: List-Archive: Ну хотя вообще-то не всё так страшно там ;) Есть кусок кода, за это отвечающий: >#if defined(IRC_UID) && defined(IRC_GID) > if ((int)getuid() == 0) { > if ((IRC_UID == 0) || (IRC_GID == 0)) { > (void)fprintf(stderr, > "ERROR: SETUID and SETGID have not been set properly" > "\nPlease read your documentation\n(HINT:SETUID or SETGID can not be 0)\n"); > exit(-1); > } else { > /* > * run as a specified user > */ > > (void)fprintf(stderr, > "WARNING: ircd invoked as root\n"); > (void)fprintf(stderr, " changing to uid %d\n", > IRC_UID); > (void)fprintf(stderr, " changing to gid %d\n", > IRC_GID); > (void)setgid(IRC_GID); // Вот тут и надо получить gid из "uircd" > (void)setuid(IRC_UID); // тут uid ;) > } > } >#endif В качестве решения можно просто в хидерном файле вместо gid/uid прописать "uircd" а в коде доставать gid/uid по имени. Вот только вопрос, какой функцией достать gid/uid ? -- С уважением, Виталий Смирнов.