From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 7 Mar 2003 16:19:47 +0300 From: "Artem K. Jouravsky" To: sisyphus@altlinux.ru Message-ID: <20030307131947.GA3233@ifirst.ru> Mail-Followup-To: sisyphus@altlinux.ru References: <20030303122026.GD16534@basalt.office.altlinux.org> <200303071459.55089.serpiph@entek.ru> <20030307122330.GA30210@ifirst.ru> <200303071558.52459.serpiph@entek.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="4Ckj6UjgE2iN1+kY" Content-Disposition: inline In-Reply-To: <200303071558.52459.serpiph@entek.ru> User-Agent: Mutt/1.4i Organization: iFirst Ltd. Subject: [sisyphus] Re: mailman =?koi8-r?B?08zPzcHM09E=?= Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: --4Ckj6UjgE2iN1+kY Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Fri, Mar 07, 2003 at 03:58:52PM +0300, Епифанов Сергей wrote: > В сообщении от 7 Март 2003 15:23 Artem K. Jouravsky написал: > > On Fri, Mar 07, 2003 at 02:59:54PM +0300, Епифанов Сергей wrote: > > > В сообщении от 6 Март 2003 17:13 Artem K. Jouravsky написал: > > > > Думаю, ответ надо искать там же, где ответ на вопрос, почему не > > > > работает SGID > > > > > > Думаю, ответ здесь: у каждого файла есть UID и EUID, а также GID и EGID. > > > UID и GID определяют пользователя, который запустил программу, а EUID и > > > EGID - права, которые даны программе на время исполнения. Так вот, судя > > > по всему, mailman смотрит не на EGID (который устанавливается через > > > SGID-бит), а на GID, который определяется через то, как пользователь > > > зашел в систему. > > > > BTS? > > Это только мои предположения, что по настоящему - надо смотреть в исходниках. > > Посмотрите в src строки, где есть getgid, getuid, geteuid, getegid. Может, это > подскажет, где искать. mailman-2.1.1/src/common.c: GID_T mygid = getgid(); /* Is the parent process allowed to call us? */ void check_caller(const char* ident, const char* parentgroup) { GID_T mygid = getgid(); struct group *mygroup = getgrgid(mygid); /* skipped */ if (!mygroup) .... if (strcmp(parentgroup, mygroup->gr_name)) fatal(ident, GROUP_MISMATCH, "Group mismatch error. Mailman expected the %s\n" Да, это оно. То есть, простого исправления getgid на getegid будет достаточно? -- Best wishes, | ICQ 103399444 Artem K. Jouravsky, | JID ujo@jabber.ru iFirst Ltd, System Administrator. ----------------------- Normal times may possibly be over forever. --4Ckj6UjgE2iN1+kY Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE+aJxzLavnn6ncACURAtLGAKCyN4s7oaZQS9+DBwoLXtJRcEq1QgCaAyv/ c4hr1OQgSH0xVWX3Xpz/Wtg= =DWsD -----END PGP SIGNATURE----- --4Ckj6UjgE2iN1+kY--