From owner-freebsd-bugs@FreeBSD.ORG Mon Aug 25 18:20:11 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 13EB816A4C0 for ; Mon, 25 Aug 2003 18:20:11 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 193B043FE0 for ; Mon, 25 Aug 2003 18:20:10 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h7Q1K9Up083409 for ; Mon, 25 Aug 2003 18:20:09 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h7Q1K9B9083408; Mon, 25 Aug 2003 18:20:09 -0700 (PDT) Resent-Date: Mon, 25 Aug 2003 18:20:09 -0700 (PDT) Resent-Message-Id: <200308260120.h7Q1K9B9083408@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Chris S.J.Peron" Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7843C16A4BF for ; Mon, 25 Aug 2003 18:16:21 -0700 (PDT) Received: from staff.seccuris.com (staff.seccuris.com [204.112.0.40]) by mx1.FreeBSD.org (Postfix) with SMTP id 93E9243FE3 for ; Mon, 25 Aug 2003 18:16:20 -0700 (PDT) (envelope-from cperon@staff.seccuris.com) Received: (qmail 58204 invoked by uid 1006); 26 Aug 2003 01:16:19 -0000 Message-Id: <20030826011619.58203.qmail@staff.seccuris.com> Date: 26 Aug 2003 01:16:19 -0000 From: "Chris S.J.Peron" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: bin/55980: [patch] rmuser does not remove IPC mechanisms owned by the user X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: "Chris S.J.Peron" List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Aug 2003 01:20:11 -0000 >Number: 55980 >Category: bin >Synopsis: [patch] rmuser does not remove IPC mechanisms owned by the user >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Aug 25 18:20:09 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Chris S.J. Peron >Release: FreeBSD 5.1-CURRENT i386 >Organization: >Environment: System: FreeBSD movl 5.1-CURRENT FreeBSD 5.1-CURRENT #14: Mon Aug 25 17:22:40 CDT 2003 modulus@movl:/usr/src/sys/i386/compile/RAID0 i386 >Description: rmuser cleans up processes and files owned by users, but does not touch any IPC mechanisms owned by the user. >How-To-Repeat: N/A >Fix: --- /usr/sbin/rmuser Tue Jun 24 22:51:27 2003 +++ /usr/sbin/rmuser2 Thu Aug 14 16:50:08 2003 @@ -145,6 +145,22 @@ verbose && echo '.' } +# rm_ipc +# Removes shared memory segments, semaphores and message queues +# owned by user $_user +# +rm_ipc() { + ipcs -s | awk -v u=$1 '/^s/ { if (u == $5) { print $2 } }' | \ + xargs -J % -n 1 ipcrm -s % + + ipcs -m | awk -v u=$1 '/^m/ { if (u == $5) { print $2 } }' | \ + xargs -J % -n 1 ipcrm -m % + + ipcs -q | awk -v u=$1 '/^q/ { if (u == $5) { print $2 } }' | \ + xargs -J % -n 1 ipcrm -q % + ! verbose && echo -n " ipc" +} + # rm_user login # Remove user $login from the system. This subroutine makes use # of the pw(8) command to remove a user from the system. The pw(8) @@ -338,6 +354,7 @@ ! verbose && echo -n "Removing user ($_user):" rm_crontab $_user rm_at_jobs $_user + rm_ipc $_user kill_procs $_user rm_files $_user rm_mail $_user >Release-Note: >Audit-Trail: >Unformatted: