Re: Bits from the release team: the plans for etch

2005-11-07 Thread Gabor Gombas
On Fri, Nov 04, 2005 at 11:01:20AM -0800, Philippe Troin wrote:

 Although I agree with the above on principle, how do you manage
 membership to the floppy, audio, video, etc groups?

pam_group for example. If you want to let some users access the devices
even if they are not logged in at the console, then it is better to use
sudo  some helper scripts (so syslog will contain who did what).

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-11-07 Thread Philippe Troin
Gabor Gombas [EMAIL PROTECTED] writes:

 On Fri, Nov 04, 2005 at 11:01:20AM -0800, Philippe Troin wrote:
 
  Although I agree with the above on principle, how do you manage
  membership to the floppy, audio, video, etc groups?
 
 pam_group for example. 

pam_group would work for floppy, audio and video.  But it's insecure.
And it does not solve the problem for group membership like
Debian-exim.

 If you want to let some users access the devices
 even if they are not logged in at the console, then it is better to use
 sudo  some helper scripts (so syslog will contain who did what).

Yes, it can be done.  But it's also impractical.

Phil.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-11-04 Thread Philippe Troin
Gabor Gombas [EMAIL PROTECTED] writes:

 On Sat, Oct 29, 2005 at 10:21:13PM -0700, Philippe Troin wrote:
 
  An other issue that always annoyed me is that assuming a NIS server
  and a NIS client which both install say exim.  I want to give some
  users membership in the group Debian-exim.  I can't easily.
  
  The UID picked by Debian-exim is not going to be the same for the NIS
  server and all the NIS clients, so I cannot get it propagated by NIS.
  And I don't want to have to maintain the group membership on all the
  clients.
 
 That is a local administration decision. You should have a clear policy
 wether you'll be allowing system groups in NIS _before_ creating the NIS
 domain. If you do, you should have a plan _before_ creating the NIS
 domain about how you will deal with the inevitable conflicts.
 
 When I last administered a complex distributed environment (we used
 first NIS+ then LDAP, but that's not important), we had a policy that
 local software should never use user/group IDs coming from NIS+/LDAP,
 and software installed on shared filesystems should never use user/group
 IDs _not_ coming from NIS+/LDAP. Mixing local and remote IDs in group
 membership was forbidden as well. That worked quite well.

Although I agree with the above on principle, how do you manage
membership to the floppy, audio, video, etc groups?

Phil.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-11-03 Thread Gabor Gombas
On Sat, Oct 29, 2005 at 12:46:47AM +0200, Rolf Kutz wrote:

 The admin should know whether he messed with the
 account and if he did just remove the package
 instead of purging it. It's not like packages get
 purged by themself.

Messing with the _account_ is not the same as messing with config files.
Give me a dpkg option that removes all config files but still leaves the
account alone, and I'll be happy.

You can at least see _some_ of the config files that will be removed
using dpkg -L but there is no way to get a list of users/groups that
will be removed by --purge.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-11-03 Thread Gabor Gombas
On Sat, Oct 29, 2005 at 10:21:13PM -0700, Philippe Troin wrote:

 An other issue that always annoyed me is that assuming a NIS server
 and a NIS client which both install say exim.  I want to give some
 users membership in the group Debian-exim.  I can't easily.
 
 The UID picked by Debian-exim is not going to be the same for the NIS
 server and all the NIS clients, so I cannot get it propagated by NIS.
 And I don't want to have to maintain the group membership on all the
 clients.

That is a local administration decision. You should have a clear policy
wether you'll be allowing system groups in NIS _before_ creating the NIS
domain. If you do, you should have a plan _before_ creating the NIS
domain about how you will deal with the inevitable conflicts.

When I last administered a complex distributed environment (we used
first NIS+ then LDAP, but that's not important), we had a policy that
local software should never use user/group IDs coming from NIS+/LDAP,
and software installed on shared filesystems should never use user/group
IDs _not_ coming from NIS+/LDAP. Mixing local and remote IDs in group
membership was forbidden as well. That worked quite well.

 Yet some packages do not deal very well with that solution:  some are
 confused by some user or group that they cannot modify with usermod or
 groupmod.  Others are confused when removing the user or group
 (userdel and groupdel failing to remove a NIS entry).

Well, administering a distributed environment is more complicated than
administering a single machine and you should be prepared for this kind
of problems.

As for Debian, it would be useful to submit bugs for such packages when
you encounter them. Package maintainers often do not use NIS/LDAP etc. so
they have no experience in this area. Being nice to distributed NSS is
seldom hard if you understand the common problems.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-11-02 Thread Michelle Konzack
Am 2005-10-26 14:51:00, schrieb Humberto Massa:

 It seems that you still did not get my point.
 My point is, in a SoHo workstation, this is exactly the most common 
 scenario nowadays (example: hmm. let me try this new dvd-player... I 
 open synaptic, install it, ... nah, it does not work as I expected [but 
 it installed gstreamer, jackd, etc in the process] let me try the next 
 one in the list...)

???  -  I know only $USER of a propietary OS which do
install all the time because they are never satisfait.

My Office Workstation is Woody since r0 and in the
last 2 years I have installed only 48 new packages.

My Dual-Opteron 240 (Devel-Station) requires nearly
every day installations of Packages but never I have
had so much System-Users laying around...

Greetings
Michelle

-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack   Apt. 917  ICQ #328449886
   50, rue de Soultz MSM LinuxMichi
0033/3/8845235667100 Strasbourg/France   IRC #Debian (irc.icq.com)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-11-02 Thread Michelle Konzack
Am 2005-10-26 14:51:00, schrieb Humberto Massa:

 It seems that you still did not get my point.
 My point is, in a SoHo workstation, this is exactly the most common 
 scenario nowadays (example: hmm. let me try this new dvd-player... I 
 open synaptic, install it, ... nah, it does not work as I expected [but 
 it installed gstreamer, jackd, etc in the process] let me try the next 
 one in the list...)

???  -  I know only $USER of a propietary OS which do
install all the time because they are never satisfait.

My Office Workstation is Woody since r0 and in the
last 2 years I have installed only 48 new packages.

My Dual-Opteron 240 (Devel-Station) requires nearly
every day installations of Packages but never I have
had so much System-Users laying around...

Greetings
Michelle

-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack   Apt. 917  ICQ #328449886
   50, rue de Soultz MSM LinuxMichi
0033/3/8845235667100 Strasbourg/France   IRC #Debian (irc.icq.com)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-11-02 Thread Michelle Konzack
Hello Humberto,

Am 2005-10-26 14:30:32, schrieb Humberto Massa:

 Problem being, if daemons don't remove their (supposedly exclusive-use)
 accounts, you can end in two years with 100 unnecessary accounts in a
 workstation.

Realy interesting...
I have counted the System-Users on my 146 Machines

The biggest machine has 72 and the smallest 48.

Q:  What do you do with your machine(s)?

Greetings
Michelle

-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/
Michelle Konzack   Apt. 917  ICQ #328449886
   50, rue de Soultz MSM LinuxMichi
0033/3/8845235667100 Strasbourg/France   IRC #Debian (irc.icq.com)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-31 Thread Nathanael Nerode
Florian Weimer wrote:

 * Steve Langasek:
 
 Frank Lichtenheld has already posted an announcement[4] detailing the
 release team's plans for the question of non-DFSG documentation in main.
 
 Just to clarify, is technical documentation that is only available in
 non-editable formats (e.g. Postscript files)

Be wary of saying is only available in non-editable formats, since anyone
with a hex editor will note that there is no such thing; and you've already
been nitpicked for using Postscript files as an example.

What you actually mean to say is is not available in the preferred form for
modification (e.g. Postscript files generated from unpublished source
files).  Boy, we spent a long time on debian-legal hashing that sort of
wording detail out.

Anyway, with that clarification, no, such material is not DFSG-free.

 or can only be rebuilt
 with non-free tools or resources (such as certain fonts[1])
If the document can only be rebuilt with non-free tools, but the
document itself (both source and binary) has a free license, and the source
is properly available, then it's considered DFSG-free, but must go in
contrib so that main can remain self-contained.  If it goes in 'main' it's
not a freeness violation, however; it's simply a violation of the rule that
main must be self-contained.

Detail: If the binary embeds part of, for instance, a non-free font, then
the font license must be checked to make sure that the font is free for
that purpose, as nearly all of them are; this is the most ordinary use of a
font, so if it isn't explicitly restricted, we may be able assume that
permission is granted (an assumption we normally can't make).  This is just
the same as the rule that the license for a non-free compiler must grant
appropriate freedoms for the library code it embeds into binaries, in order
for the resulting binaries to be DFSG-free.

This is really not different from programs.  At all.

 considered 
 DFSG-free at this stage, provided that their license permits
 modification, redistribution etc.?
Answered above.

-- 
ksig --random|


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-30 Thread Marc Haber
On Sun, 30 Oct 2005 10:58:23 +1100, Brian May [EMAIL PROTECTED] wrote:
That is my point - adduser will print a warning if the user already
exists.

So you need to check to make sure the user doesn't exist first, before
attempting to add it. Or you get a stupid warning appearing when
upgrading packages.

If you feel disturbed by the warning, redirect addusers output to
/dev/null. It is specially tailored to not kill the package install if
the user already exists.

or in a practical sense either:

[EMAIL PROTECTED]:~# adduser aaa
adduser: The user `aaa' already exists.
[EMAIL PROTECTED]:~# adduser --quiet aaa
adduser: The user `aaa' already exists.

(this is sarge/stable - maybe it has changed in unstable?)

Probably not. Maybe one should add an option to suppress these
messages on request. An appropriate patch would be appreciated.

[1] What is a progress message?

Probably inappropriate wording for adduser. An appropriate patch would
be appreciated.

Greetings
Marc

-- 
-- !! No courtesy copies, please !! -
Marc Haber |Questions are the | Mailadresse im Header
Mannheim, Germany  | Beginning of Wisdom  | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG Rightful Heir | Fon: *49 621 72739834



Re: Bits from the release team: the plans for etch

2005-10-30 Thread Lars Wirzenius
su, 2005-10-30 kello 10:37 +0100, Marc Haber kirjoitti:
 On Sun, 30 Oct 2005 10:58:23 +1100, Brian May [EMAIL PROTECTED] wrote:
 That is my point - adduser will print a warning if the user already
 exists.
 
 So you need to check to make sure the user doesn't exist first, before
 attempting to add it. Or you get a stupid warning appearing when
 upgrading packages.
 
 If you feel disturbed by the warning, redirect addusers output to
 /dev/null. It is specially tailored to not kill the package install if
 the user already exists.

This means that all other error messages will go to /dev/null as well.
adduser can fail for other reasons and it is not acceptable to make it
harder to debug for the sysadmin. I've stumbled upon several packages
doing that, and filed bugs on them, when testing things with piuparts,
which happened to create a chroot that was valid, but caused chage, and
therefore adduser, to fail. Packages that hid adduser's error messages
were much more annoying to deal with than those that let chage's error
message be visible.

I don't know perl, so I can't create a patch, sorry, but at a guess
changing the dief call around 693 to something that doesn't print out an
error message if --quiet has been given would seem to do the trick.

-- 
I sometimes mistake arrogance for intelligence.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-29 Thread Brian May
 Marc == Marc Haber [EMAIL PROTECTED] writes:

Marc On Thu, 27 Oct 2005 08:54:18 +1000, Brian May
Marc [EMAIL PROTECTED] wrote:

 If the code just calls adduser, this would seem to be a bug,
 as adduser will exit with a warning if the user already exists
 (see #264570). (If I am mistaken here with the precise details
 it is because the man page has mislead me).

Marc You are mistaken. adduser will print a warning that the user
Marc already exists and then exit with a zero exit code, if the
Marc already existing account conforms to the account attributes
Marc requested in the adduser call.

That is my point - adduser will print a warning if the user already
exists.

So you need to check to make sure the user doesn't exist first, before
attempting to add it. Or you get a stupid warning appearing when
upgrading packages.

 So either you have to redirect stderr to /dev/null (this could
 mask serious errors too), or just to make sure the user doesn't
 exist first (preferred IMHO).

Marc You can also use adduser --quiet and get rid of the
Marc warnings.

Not according to the man page[1]:

   --quiet
  Suppress progress messages.

or in a practical sense either:

[EMAIL PROTECTED]:~# adduser aaa
adduser: The user `aaa' already exists.
[EMAIL PROTECTED]:~# adduser --quiet aaa
adduser: The user `aaa' already exists.

(this is sarge/stable - maybe it has changed in unstable?)

 However, this has to be done carefully, or you end up doing the
 wrong thing. e.g. deluser -r $USER, in the past, has been pure
 evil if the home directory has been changed to /!

Marc Deluser has a configuratble regexp and refuses to delete
Marc files matching that regexp.

Good.

Note:
[1] What is a progress message?
-- 
Brian May [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-29 Thread Philippe Troin
Steve Langasek [EMAIL PROTECTED] writes:

 On Thu, Oct 27, 2005 at 07:24:28AM -0500, Steve Greenland wrote:
  On 27-Oct-05, 04:39 (CDT), Jonas Meurer [EMAIL PROTECTED] wrote: 
 
   it produces at least a bloated passwd/group/shadow file.
 
  Bloat? The /etc/passwd on my development machine, which has seen all
  kinds of random server installs and removes, has grown to a whole 2K.
  So it could double before expanding into a second disk block. Untidy,
  I'll grant you, but bloat seems excessive.
 
 Nah, the biggest hit isn't disk space, it's NSS lookup times from having to
 do a linear search through a flat-file /etc/passwd and /etc/shadow.  Well,
 thank God no one uses pam_pwdb anymore, at least...

An other issue that always annoyed me is that assuming a NIS server
and a NIS client which both install say exim.  I want to give some
users membership in the group Debian-exim.  I can't easily.

The UID picked by Debian-exim is not going to be the same for the NIS
server and all the NIS clients, so I cannot get it propagated by NIS.
And I don't want to have to maintain the group membership on all the
clients.

Currently, the only decent solution is to force the same UID and GID
on all the NIS machines.  And propagate the membership through NIS.

Yet some packages do not deal very well with that solution:  some are
confused by some user or group that they cannot modify with usermod or
groupmod.  Others are confused when removing the user or group
(userdel and groupdel failing to remove a NIS entry).

Phil.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-28 Thread Florian Weimer
* Miles Bader:

 Florian Weimer [EMAIL PROTECTED] writes:
 There are people in this world who can read and program PostScript. 

 Sure, and it's the preferred form of modifcation for removing
 ink-wasting background images from Powerpoint presentations, but: This
 is not the kind of modifcation I'm talking about.  Imagine you have to
 update the documentation to include an additional paragraph.

 You don't quite seem to be grokking the concept of Postscript as a
 source language.

I don't care about the cases where Postscript is used as a source
language.  I've seen in some cases, sure, but it was artwork, and not
documentation extending over several pages.

I care about dvips output where we do not have the original source
file (a LaTeX document).  Or PDF files which come from Word documents
which aren't publicly available.  Is this so hard to understand?

Discussing the what is source code? aspect is certainly a nice way
to sidestep the pretty much relevant question whether such issues
should be RC bugs for etch.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



PostScript can be the preferred form of modification (was: Bits from the release team: the plans for etch)

2005-10-28 Thread Frank Küster
Florian Weimer [EMAIL PROTECTED] wrote:

 * Frank Küster:

 It is for sure not a bug to contain a PostScript file where PostScript
 is the preferred form of modification.  If you have tetex-base
 installed, /usr/share/texmf/dvips/misc/resolution400.ps is a short
 example, /usr/share/texmf/dvips/misc/crops.pro is a bit longer.  

 There are people in this world who can read and program PostScript. 

 Sure, and it's the preferred form of modifcation for removing
 ink-wasting background images from Powerpoint presentations, but: This
 is not the kind of modifcation I'm talking about.

I know, but you missed the point.  PostScript can be the source, the
preferred form of modification, in some cases, because PostScript is a
programming language. 

This subthread started when you asked whether non-editable documentation
was allowed in Debian, and you gave PostScript as an example format.
Bernhard R. Link pointed out that PostScript is editable and can be the
Preferred Form of Modification.  I have given examples where this is the
case (see the citation above).

This means that whenever we write something down about removing non-free
stuff we should be carefull to phrase it right, and not do it as you did
in your mail: We should not write anything that might imply that all
PostScript documents without any form of source must be removed from
Debian.

Regards, Frank

-- 
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer



Re: Bits from the release team: the plans for etch

2005-10-28 Thread Frank Küster
Florian Weimer [EMAIL PROTECTED] wrote:

 * Miles Bader:

 Florian Weimer [EMAIL PROTECTED] writes:
 There are people in this world who can read and program PostScript. 

 Sure, and it's the preferred form of modifcation for removing
 ink-wasting background images from Powerpoint presentations, but: This
 is not the kind of modifcation I'm talking about.  Imagine you have to
 update the documentation to include an additional paragraph.

 You don't quite seem to be grokking the concept of Postscript as a
 source language.

 I don't care about the cases where Postscript is used as a source
 language.  I've seen in some cases, sure, but it was artwork, and not
 documentation extending over several pages.

Please have a look at the files I cited in an other mail in this thread.

 I care about dvips output where we do not have the original source
 file (a LaTeX document).  Or PDF files which come from Word documents
 which aren't publicly available.  Is this so hard to understand?

We care about that too.  But in addition, we care about proper phrasing.

It is, of course, okay to say Documents where the preferred form for
modification is not available cannot be included in Debian.  It is not
okay to say Documents that are only available in non-editable formats
(e.g. PostScript) cannot be included in Debian, because PostScript is
an editable format, and in some cases ist *is* the preferred form for
modification.

 Discussing the what is source code? aspect is certainly a nice way
 to sidestep the pretty much relevant question whether such issues
 should be RC bugs for etch.

The existing, real issues should be RC.  Bugs that only show that people
haven't understood what source code is should be closed.

Regards, Frank
-- 
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer



Re: Bits from the release team: the plans for etch

2005-10-28 Thread Rolf Kutz
* Quoting Gabor Gombas ([EMAIL PROTECTED]):

 
 So, how can the administrator tell dpkg do _not_ remove this account
 even if some package's postrm tries to purge it? If there would be a
 method to mark some accounts out-of-reach for automatic removal, that
 would settle this issue I think.

The admin should know whether he messed with the
account and if he did just remove the package
instead of purging it. It's not like packages get
purged by themself.

- Rolf


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Marc Haber
On Thu, 27 Oct 2005 08:54:18 +1000, Brian May [EMAIL PROTECTED] wrote:
If the code just calls adduser, this would seem to be a bug, as
adduser will exit with a warning if the user already exists (see
#264570). (If I am mistaken here with the precise details it is
because the man page has mislead me).

You are mistaken. adduser will print a warning that the user already
exists and then exit with a zero exit code, if the already existing
account conforms to the account attributes requested in the adduser
call.

So either you have to redirect stderr to /dev/null (this could mask
serious errors too), or just to make sure the user doesn't exist first
(preferred IMHO).

You can also use adduser --quiet and get rid of the warnings.

However, this has to be done carefully, or you end up doing the wrong
thing. e.g. deluser -r $USER, in the past, has been pure evil if the
home directory has been changed to /!

Deluser has a configuratble regexp and refuses to delete files
matching that regexp.

Greetings
Marc

-- 
-- !! No courtesy copies, please !! -
Marc Haber |Questions are the | Mailadresse im Header
Mannheim, Germany  | Beginning of Wisdom  | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG Rightful Heir | Fon: *49 621 72739834



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Marc Haber
On Wed, 26 Oct 2005 14:15:41 +0200, Gabor Gombas [EMAIL PROTECTED]
wrote:
If you want to allow automatic user/group removal, then adduser should
be extended to remember every UID/GID that was ever used by a system
user, and never reuse them again even if they have since been removed
from /etc/passwd and/or /etc/group.

Feel free to submit a patch to bug 248500.

Greetings
Marc

-- 
-- !! No courtesy copies, please !! -
Marc Haber |Questions are the | Mailadresse im Header
Mannheim, Germany  | Beginning of Wisdom  | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG Rightful Heir | Fon: *49 621 72739834



Re: Removing system users on purge [Re: Bits from the release team: the plans for etch]

2005-10-27 Thread Frank Küster
Stephen Frost [EMAIL PROTECTED] wrote:

 * Don Armstrong ([EMAIL PROTECTED]) wrote:
 On Wed, 26 Oct 2005, Javier Fernández-Sanguino Peña wrote:
  On Wed, Oct 26, 2005 at 05:24:28PM +0200, Frank Küster wrote:
   What about log files with sensitive content?
  
  Non-issue, as I said in the end of my post, those should be removed
  on purge.
 
 The log files that are created by the default package configuration
 should be removed, but custom modifications to the configuration can
 cause logfiles to be created elsewhere that are owned by the user in
 question.

 Have we actually got a specific case of this happening and there being a
 real security threat from it?

When I ran a samba server years ago, I changed the default log file names
and, IIRC, location.

Regards, Frank
-- 
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Marc Haber
On Wed, 26 Oct 2005 22:38:44 +0100, Stephen Gran [EMAIL PROTECTED]
wrote:
add user

chown a bunch of stuff to the new user

start the daemon

Correct me if I'm wrong, but I'm imagining this dh_ fragment being added
by the DEBHELPER blob at the end, and so anything needed to be done
in between adding the user and starting the daemon (the other common
and useful debhelper fragment in this sort of case) kind of blows up.
Unless I'm missing the way you were going to implement this.

Right. Now I remember that this was actually the cause for me dropping
my idea of dh_user and instead working on adduser to have it useable
painlessly.

Greetings
Marc

-- 
-- !! No courtesy copies, please !! -
Marc Haber |Questions are the | Mailadresse im Header
Mannheim, Germany  | Beginning of Wisdom  | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG Rightful Heir | Fon: *49 621 72739834



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Jonas Meurer
On 26/10/2005 Thomas Bushnell BSG wrote:
 Humberto Massa [EMAIL PROTECTED] writes:
 
  Problem being, if daemons don't remove their (supposedly exclusive-use)
  accounts, you can end in two years with 100 unnecessary accounts in a
  workstation.
 
 And what bad results does this produce?

it produces at least a bloated passwd/group/shadow file. This is reason
enough to consider possible solutions.
i agree with Javier Fernandez-Sanguino Pena that accounts should be
removed by the packages which created them. As a backdoor, the adduser
package could ask once via debconf whether you want to keep accounts
after package purge, for sysadmins who don't want system accounts to
be removed at package purges.

i quite understand that some sysadmins don't like the idea of system
accounts being removed at package purge, but others don't like the idea
of a bloated /etc/passwd, so the best would be to provide both
possibilities. that could be realized by a appropriate debconf question.

...
 jonas


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Jonas Meurer
On 26/10/2005 Andreas Barth wrote:
 * Humberto Massa ([EMAIL PROTECTED]) [051026 18:34]:
  in my workstation I try out a new package (for scientfic computing, a 
  game for Lucas, a new development package) at least once each two days, 
  and a lot of times they come with their libs and their daemons -- and 
  their users. So I see them, and think oh, no, this is not what I 
  thought it would be, and --purge them. And the daemons' users pile up 
  in /etc/passwd.
 
 well, perhaps take it as administrators job to clean up /etc/passwd from
 time to time if you install that many packages (because you as
 administrator know which users were co-used with someone else, and which
 not). But this is definitly not the most common scenario.

this may be valid for servers with real sysadmins who have an overview
over packages, users, etc. installed on the system.
for desktop systems where no system 'administrator' exists, for example
because nobody has the knowledge to understand /etc/passwd, it is not
true.
the argument could be used for everything, and we would not need quality
checks as piuparts at all, as everything that packages leave on the
system, could be defined as 'administrators job'.

but we try to make packages better for our users, and one issue in doing
so is dealing with system accounts.
if a package creates a system user who is intended to be used by the
package only, the package should remove the user at purge time. if the
administrator uses the system user for other tasks, it's his/her
decision, and dealing with the situation is 'administrators job'.

the current thread shows, that both opinions exist and that both
situations need to be supported. therefore i suggest to add a debconf
question to adduser, to ask the local sysadmin for his/her preference.

...
 jonas


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Florian Weimer
* Bernhard R. Link:

 * Florian Weimer [EMAIL PROTECTED] [051025 13:51]:
 * Steve Langasek:
 
  Frank Lichtenheld has already posted an announcement[4] detailing the
  release team's plans for the question of non-DFSG documentation in main.
 
 Just to clarify, is technical documentation that is only available in
 non-editable formats (e.g. Postscript files)

 Little nitpick and petition: Please write generated Postscript files
 in such examples, as postscript files can be perfectly editable and
 only the existance of easier languages causes the vast majority of
 postscript files being generated non-editable forms. (As is assembler
 files currently, or as C source code would be if almost everyone switched
 to some other language with a compiler generating C code as intermediate
 format.)

On systems without digital restrictions managemet without mandatory
enforcement [1], it goes without saying that you can change bytes as
you like, but it is hardly the preferred way of implementing
modifications.

Is it really controversial that these problems are bugs?  I assumed
that only the RC status could be subject to debate.

1. Both the kernel and GCC include DRM, but without mandatory
   enforcement.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Frank Küster
Florian Weimer [EMAIL PROTECTED] wrote:

 * Bernhard R. Link:

 * Florian Weimer [EMAIL PROTECTED] [051025 13:51]:
 * Steve Langasek:
 
  Frank Lichtenheld has already posted an announcement[4] detailing the
  release team's plans for the question of non-DFSG documentation in main.
 
 Just to clarify, is technical documentation that is only available in
 non-editable formats (e.g. Postscript files)

 Little nitpick and petition: Please write generated Postscript files
 in such examples, as postscript files can be perfectly editable and
 only the existance of easier languages causes the vast majority of
 postscript files being generated non-editable forms. (As is assembler
 files currently, or as C source code would be if almost everyone switched
 to some other language with a compiler generating C code as intermediate
 format.)

 On systems without digital restrictions managemet without mandatory
 enforcement [1], it goes without saying that you can change bytes as
 you like, but it is hardly the preferred way of implementing
 modifications.

 Is it really controversial that these problems are bugs?  I assumed
 that only the RC status could be subject to debate.

It is for sure not a bug to contain a PostScript file where PostScript
is the preferred form of modification.  If you have tetex-base
installed, /usr/share/texmf/dvips/misc/resolution400.ps is a short
example, /usr/share/texmf/dvips/misc/crops.pro is a bit longer.  

There are people in this world who can read and program PostScript. 

Regards, Frank
-- 
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer



Re: Bits from the release team: the plans for etch

2005-10-27 Thread cobaco (aka Bart Cornelis)
On Wednesday 26 October 2005 23:38, Stephen Gran wrote:
 While I appreciate the effort at a standard shell script fragment for
 'install a user', and think that it would be useful as reference and for
 reuse, I tend to think making it a dh_ fragment doesn't work in the
 normal use cases I can think of.  Ordinarily, when a package installs a
 user, the logic of the maintainer script goes something like:

 add user

 chown a bunch of stuff to the new user

 start the daemon

If chowning a bunch of stuff is the only thing most package installs do 
couldn't you just add a file with a list of things to chown for the dh_user 
command to use?
-- 
Cheers, cobaco (aka Bart Cornelis)
  
1. Encrypted mail preferred (GPG KeyID: 0x86624ABB)
2. Plain-text mail recommended since I move html and double
format mails to a low priority folder (they're mainly spam)


pgp1hhjWhD3EC.pgp
Description: PGP signature


Re: Bits from the release team: the plans for etch

2005-10-27 Thread Steve Greenland
On 27-Oct-05, 04:39 (CDT), Jonas Meurer [EMAIL PROTECTED] wrote: 
 
 it produces at least a bloated passwd/group/shadow file.

Bloat? The /etc/passwd on my development machine, which has seen all
kinds of random server installs and removes, has grown to a whole 2K.
So it could double before expanding into a second disk block. Untidy,
I'll grant you, but bloat seems excessive.

Steve

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Steve Langasek
On Thu, Oct 27, 2005 at 07:24:28AM -0500, Steve Greenland wrote:
 On 27-Oct-05, 04:39 (CDT), Jonas Meurer [EMAIL PROTECTED] wrote: 

  it produces at least a bloated passwd/group/shadow file.

 Bloat? The /etc/passwd on my development machine, which has seen all
 kinds of random server installs and removes, has grown to a whole 2K.
 So it could double before expanding into a second disk block. Untidy,
 I'll grant you, but bloat seems excessive.

Nah, the biggest hit isn't disk space, it's NSS lookup times from having to
do a linear search through a flat-file /etc/passwd and /etc/shadow.  Well,
thank God no one uses pam_pwdb anymore, at least...

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Re: Removing system users on purge [Re: Bits from the release team: the plans for etch]

2005-10-27 Thread Stephen Frost
* Frank K?ster ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] wrote:
  Have we actually got a specific case of this happening and there being a
  real security threat from it?
 
 When I ran a samba server years ago, I changed the default log file names
 and, IIRC, location.

Were they owned by the samba uid?  Were they terribly sensitive?  Did
you ever actually uninstall samba?  Was the samba uid reused?  Was there 
an actual compramise of the files by another daemon?

I'm looking for actual cases of this 'security hole' being exploited, or
even getting to the point where files ended up actually owned by the
wrong uid.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Removing system users on purge [Re: Bits from the release team: the plans for etch]

2005-10-27 Thread Frank Küster
Stephen Frost [EMAIL PROTECTED] wrote:

 * Frank K?ster ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] wrote:
  Have we actually got a specific case of this happening and there being a
  real security threat from it?
 
 When I ran a samba server years ago, I changed the default log file names
 and, IIRC, location.

 Were they owned by the samba uid?

I don't know for sure, but I think yes.

 Were they terribly sensitive?

In some cases knowledge of filenames that one user uses would have been
very interesting for some other users.

 Did
 you ever actually uninstall samba?  Was the samba uid reused?

Since I left that server to somebody else, I can only speculate:
Probably no, but I cannot exclude it (e.g. if there ever was a samba-ng
package or something like that, they might have tried it instead).

  Was there 
 an actual compramise of the files by another daemon?

I assume that in this case I'd know.  

 I'm looking for actual cases of this 'security hole' being exploited, 

Sorry, I can't help you.

Regards, Frank
-- 
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Gabor Gombas
On Wed, Oct 26, 2005 at 02:51:00PM -0300, Humberto Massa wrote:

 It seems that you still did not get my point.
 My point is, in a SoHo workstation, this is exactly the most common 
 scenario nowadays (example: hmm. let me try this new dvd-player... I 
 open synaptic, install it, ... nah, it does not work as I expected [but 
 it installed gstreamer, jackd, etc in the process] let me try the next 
 one in the list...)

Well, in this situation you are likely to try out several packages that
turn out to be broken in some regard and leave other cruft behind
besides unused accounts. So for example, why not extend cruft (or some
other similar tool) to report and possibly remove unused accounts, when
the admin feels like it's time to tidy up?

That way the admin can _see_ that the account is to be removed and can
stop if he thinks oh damn, I still use that.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Gabor Gombas
On Thu, Oct 27, 2005 at 11:54:10AM +0200, Jonas Meurer wrote:

 but we try to make packages better for our users, and one issue in doing
 so is dealing with system accounts.
 if a package creates a system user who is intended to be used by the
 package only, the package should remove the user at purge time. if the
 administrator uses the system user for other tasks, it's his/her
 decision, and dealing with the situation is 'administrators job'.

So, how can the administrator tell dpkg do _not_ remove this account
even if some package's postrm tries to purge it? If there would be a
method to mark some accounts out-of-reach for automatic removal, that
would settle this issue I think.

 the current thread shows, that both opinions exist and that both
 situations need to be supported. therefore i suggest to add a debconf
 question to adduser, to ask the local sysadmin for his/her preference.

But that question should be asked at package _removal_ time. I surely
would not remember what debconf questions have I answered two years ago
when I installed the package.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Gabor Gombas
On Thu, Oct 27, 2005 at 05:53:16AM -0700, Steve Langasek wrote:

 Nah, the biggest hit isn't disk space, it's NSS lookup times from having to
 do a linear search through a flat-file /etc/passwd and /etc/shadow.  Well,
 thank God no one uses pam_pwdb anymore, at least...

One can use nscd if he/she is really concerned for that. But I think the
cost of a hundred extra entries in /etc/{passwd,group} would stills be
lost in the noise compared to distributed NSS methods like NIS, NIS+ or
LDAP.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Florian Weimer
* Frank Küster:

 It is for sure not a bug to contain a PostScript file where PostScript
 is the preferred form of modification.  If you have tetex-base
 installed, /usr/share/texmf/dvips/misc/resolution400.ps is a short
 example, /usr/share/texmf/dvips/misc/crops.pro is a bit longer.  

 There are people in this world who can read and program PostScript. 

Sure, and it's the preferred form of modifcation for removing
ink-wasting background images from Powerpoint presentations, but: This
is not the kind of modifcation I'm talking about.  Imagine you have to
update the documentation to include an additional paragraph.  Do you
really think it's acceptable to perform major Postscript surgery on
the following pages, until you hit a page with sufficient free
vertical space?

(In some ways, this is harder than patching binary executables!)



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Thomas Bushnell BSG
Jonas Meurer [EMAIL PROTECTED] writes:

 it produces at least a bloated passwd/group/shadow file. This is reason
 enough to consider possible solutions.

You're worried about disk consumption?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Wouter Verhelst
On Wed, Oct 26, 2005 at 11:07:11AM -0700, Thomas Bushnell BSG wrote:
 Moreover, the consequences of getting the one wrong are that you
 delete the sysadmin's changes.

It can be worse.

If you create a directory for working files which you remove on package
removal (with rmdir), but which contains local backups the administrator
made, then removing the user could leave that directory owned by another
package.

Now while the package (and the user) is removed, another package with
system user could be installed.

If you now try to install the package again, you wouldn't be able to
write to your own directory anymore, because you don't own it. Hence,
the package might be totally broken.

-- 
The amount of time between slipping on the peel and landing on the
pavement is precisely one bananosecond


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Steve Greenland
On 27-Oct-05, 07:53 (CDT), Steve Langasek [EMAIL PROTECTED] wrote: 
 Nah, the biggest hit isn't disk space, it's NSS lookup times from having to
 do a linear search through a flat-file /etc/passwd and /etc/shadow.  Well,
 thank God no one uses pam_pwdb anymore, at least...

I'd be willing to bet that you can look through a few hundred system
accounts (which is way more than we're talking about removing) a lot
quicker than you can get a reply from a remote LDAP server. Maybe not
the first time, but once it's cached...and it will stay cached, if
you're doing enough lookups to care.

I'd also be willing to bet you can't reliably measure the difference
removing 15 inactive sytem accounts makes to lookups on a system made
in the last 10 years, at anything above the processor cycle level. (I
suppose I should restrict that any semi-normal general purpose system,
to keep someone from coming up with a 8080-based embedded system that
reads /etc/password from paper tape.)

Where people run into problems with the linear search is with 10K user
accounts, which is irrelevant to what we're discussing.

Steve
-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-27 Thread Miles Bader
Florian Weimer [EMAIL PROTECTED] writes:
 There are people in this world who can read and program PostScript. 

 Sure, and it's the preferred form of modifcation for removing
 ink-wasting background images from Powerpoint presentations, but: This
 is not the kind of modifcation I'm talking about.  Imagine you have to
 update the documentation to include an additional paragraph.

You don't quite seem to be grokking the concept of Postscript as a
source language.  If the document was _written in Postscript_, then
changes such as you mention will in fact be at least as easy as it was
for the original author to write the document in the first place (and
with good postscript coding, it can be quite easy), and that's all
that's necessary to consider it as the preferred form of modification.

Postscript is not _usually_ the source language / preferred form of
modification, but sometimes it is.

-Miles
-- 
Most attacks seem to take place at night, during a rainstorm, uphill,
 where four map sheets join.   -- Anon. British Officer in WW I


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Marc Haber
On Tue, 25 Oct 2005 22:21:18 +0200, Javier Fernández-Sanguino Peña
[EMAIL PROTECTED] wrote:
? Have you looked at the code I added to the developer's reference _at_all_?

Yes. Have you read adduser docs _at_all_?

Creating system users needs to cope with the fact that users might have
greated them before hand.

adduser copes with that. If a system user to be created does already
exist with the required properties, adduser is a no-op and exists with
a zero exit code. If a system user to be created does already exist
with different attributes, it exists with non-zero exit code, as this
is an error.

Thus, in most cases, a single call to adduser is all that's needed to
create a system user in postinst.

Your code, otoh, will overwrite local configuration which is an RC
bug.

 There's some code that needs to be written to cope
with different packaging situations that adduser is unable to
contemplate by itself.

Which situations?

Not including the fact that the user created by a
package might need to be removed on postinst.

Removing system users on package purge is widely regarded a bug since
one cannot guarantee that the local admin hasn't used the account for
other things as well. Additionally, removing the system user on
package purge might leave orphaned files around. If the maintainer
decides to remove a user in postinst, that can be done with an
explicit deluser call.

Frankly, I do not see any advantage in your dh_user idea.

Greetings
Marc

-- 
-- !! No courtesy copies, please !! -
Marc Haber |Questions are the | Mailadresse im Header
Mannheim, Germany  | Beginning of Wisdom  | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG Rightful Heir | Fon: *49 621 72739834



Re: Bits from the release team: the plans for etch,L

2005-10-26 Thread Christian Perrier

 Frankly, I do not see any advantage in your dh_user idea.


I can see one...even if I follow this discussion quite loosely:

Currently, all packages needing to add a system user do it their own
way. Some do it very carefully with nice error checking and stuff, by
using adduser, etc.

Some others might do it less carefully...or slightly differently.

Thus, a debhelper script for this could at least bring some
consistency to these methods and, actually, offer lazy maintainers (we
are all lazy maintainers) a convenient method for adding users.

Just for this, I would probably appreciate a dh_user script.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Bernhard R. Link
* Florian Weimer [EMAIL PROTECTED] [051025 13:51]:
 * Steve Langasek:
 
  Frank Lichtenheld has already posted an announcement[4] detailing the
  release team's plans for the question of non-DFSG documentation in main.
 
 Just to clarify, is technical documentation that is only available in
 non-editable formats (e.g. Postscript files)

Little nitpick and petition: Please write generated Postscript files
in such examples, as postscript files can be perfectly editable and
only the existance of easier languages causes the vast majority of
postscript files being generated non-editable forms. (As is assembler
files currently, or as C source code would be if almost everyone switched
to some other language with a compiler generating C code as intermediate
format.)

Hochachtungsvoll,
  Bernhard R. Link

-- 
Sendmail is like emacs: A nice operating system, but missing
an editor and a MTA.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Javier Fernández-Sanguino Peña
On Wed, Oct 26, 2005 at 08:18:42AM +0200, Marc Haber wrote:
 On Tue, 25 Oct 2005 22:21:18 +0200, Javier Fernández-Sanguino Peña
 [EMAIL PROTECTED] wrote:
 Creating system users needs to cope with the fact that users might have
 greated them before hand.
 
 adduser copes with that. If a system user to be created does already
 exist with the required properties, adduser is a no-op and exists with
 a zero exit code. If a system user to be created does already exist
 with different attributes, it exists with non-zero exit code, as this
 is an error.

And that's something that packages maintainer scripts have to cope with since
they don't know beforehand if it's there and it certainly doe snot have the
same attirbutes (it might only share the name)

 Thus, in most cases, a single call to adduser is all that's needed to
 create a system user in postinst.
 
I have yet to see a package that just calls adduser. Some remove the user
(and fail to check if it was created by the postinst/preinst and not by the
alocal admin), some set additional groups, setup its home directory (uneless
defined with dpkg-statoverride already). I can provide you a script to show
you all the postinst/preinst/postrm of packages that create a user on
installation.  You can see for yourself.


 Your code, otoh, will overwrite local configuration which is an RC
 bug.

Please explain, the code only changes /etc/{passwd,shadow,group}. Where's the
RC bug?

  There's some code that needs to be written to cope
 with different packaging situations that adduser is unable to
 contemplate by itself.
 
 Which situations?

For example:

- Creating the user's homedir and assigning proper permissions if (and only
if) the admin has not overriden it with dpkg-statoverride
- Adding the user to additional groups if required

 
 Not including the fact that the user created by a
 package might need to be removed on postinst.
 
 Removing system users on package purge is widely regarded a bug since
 one cannot guarantee that the local admin hasn't used the account for
 other things as well. Additionally, removing the system user on
 package purge might leave orphaned files around. If the maintainer
 decides to remove a user in postinst, that can be done with an
 explicit deluser call.

That really depends on the daemon itself don't you think? There's a number of
daemons that don't create any file at all or, if they do, are created
only on a given directory which is removed on purge. In these cases, removing
the user on postrm's purge might make sense. As I said, that would be an
option. 

 Frankly, I do not see any advantage in your dh_user idea.

Quite frankly, I do.

Javier

[1] Those are just some of the ones doing this. Full list:
lynx -nolist -dump
$ 
http://lintian.debian.org/reports/Tmaintainer-script-needs-depends-on-adduser.html
 |perl -ne 'print $1.\n if /W: (.*?): /
$ grep-available -sPackage -FPre-Depends,Depends adduser | awk '{print $2}'



signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Marc Haber
On Wed, 26 Oct 2005 11:11:00 +0200, Javier Fernández-Sanguino Peña
[EMAIL PROTECTED] wrote:
On Wed, Oct 26, 2005 at 08:18:42AM +0200, Marc Haber wrote:
 Thus, in most cases, a single call to adduser is all that's needed to
 create a system user in postinst.
 
I have yet to see a package that just calls adduser.

Well, exim4, console-log, rageircd and ippl do. These are the ones
that I know for sure without thinking too long.

 Some remove the user
(and fail to check if it was created by the postinst/preinst and not by the
alocal admin),

Removing the user is a general bug, IMO. They cannot guess what the
local admin did with the account while the package was installed.

 Your code, otoh, will overwrite local configuration which is an RC
 bug.

Please explain, the code only changes /etc/{passwd,shadow,group}. Where's the
RC bug?

If I generate user foo and give it some attributes, and some packages
comes and overwrites these attributes, it has overwritten local
configguration, and I would be Not Amused. The only sensible thing
that a package can do in this situation is abort installation.

Some packages have tried to minimize the collision probability by
using a prefix such as Debian- for their account, but until Debian
has established Policy about that it's only a token measure.

  There's some code that needs to be written to cope
 with different packaging situations that adduser is unable to
 contemplate by itself.
 
 Which situations?

For example:

- Creating the user's homedir and assigning proper permissions if (and only
if) the admin has not overriden it with dpkg-statoverride

What are proper permissions other than user:usersgroup 755, as
configured for the entire systems?

- Adding the user to additional groups if required

adduser user group

 Removing system users on package purge is widely regarded a bug since
 one cannot guarantee that the local admin hasn't used the account for
 other things as well. Additionally, removing the system user on
 package purge might leave orphaned files around. If the maintainer
 decides to remove a user in postinst, that can be done with an
 explicit deluser call.

That really depends on the daemon itself don't you think?

No. You never know what the local admin uses an account for.

 Frankly, I do not see any advantage in your dh_user idea.

Quite frankly, I do.

Go ahead. Maybe it's still even useful. Just the fact that I ditched
the plans for writing something like that doesn't mean that it might
not be useful. I'd just prefer adduser to take that task without
external help because collaboration might be useful.

For example, having the possibility to add a new account to a list of
groups _in_ _adduser_ would close two wishlist bugs against adduser
and ease account creation for the installer. Having that feature
added externally doesn't help here and indeed decreases the chance
for these wishlist bugs to be addressed in any reasonable time frame.

Greetings
Marc

-- 
-- !! No courtesy copies, please !! -
Marc Haber |Questions are the | Mailadresse im Header
Mannheim, Germany  | Beginning of Wisdom  | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG Rightful Heir | Fon: *49 621 72739834



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Gabor Gombas
On Wed, Oct 26, 2005 at 11:11:00AM +0200, Javier Fernández-Sanguino Peńa wrote:

 That really depends on the daemon itself don't you think? There's a number of
 daemons that don't create any file at all or, if they do, are created
 only on a given directory which is removed on purge. In these cases, removing
 the user on postrm's purge might make sense. As I said, that would be an
 option. 

It is still possible that those daemons _read_ some files (e.g. config
files), and the admin did a chown/chgrp to the daemon's user. Removing
the user and reusing the UID/GID will suddenly make those files
accessible for a random new package which may not be intended at all.

IMHO you can safely remove an user/group _only_ if you have made sure
there are no files owned by that uid/group left on any filesystems (and
checking that may be tricky if the system uses ACLs, for example).

And there is also the problem of files restored from a backup being
suddenly owned by some random new user/group...

At the very least you should ask the admin if he wants to remove the
user/group on package purge (with the default being 'no').

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Olaf van der Spek
On 10/26/05, Gabor Gombas [EMAIL PROTECTED] wrote:
 On Wed, Oct 26, 2005 at 11:11:00AM +0200, Javier Fernández-Sanguino Peńa 
 wrote:

  That really depends on the daemon itself don't you think? There's a number 
  of
  daemons that don't create any file at all or, if they do, are created
  only on a given directory which is removed on purge. In these cases, 
  removing
  the user on postrm's purge might make sense. As I said, that would be an
  option.

 It is still possible that those daemons _read_ some files (e.g. config
 files), and the admin did a chown/chgrp to the daemon's user. Removing
 the user and reusing the UID/GID will suddenly make those files

Removing the user is 'fine', it's the reusing that's the issue. But
isn't that your own fault if you choose to reuse numbers?


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Gabor Gombas
On Wed, Oct 26, 2005 at 02:00:17PM +0200, Olaf van der Spek wrote:

 Removing the user is 'fine', it's the reusing that's the issue. But
 isn't that your own fault if you choose to reuse numbers?

If a package's postrm removes the user, and the next package's postinst
just calls adduser, then the admin have no control over the reusing.

If you want to allow automatic user/group removal, then adduser should
be extended to remember every UID/GID that was ever used by a system
user, and never reuse them again even if they have since been removed
from /etc/passwd and/or /etc/group.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread sean finney
On Wed, Oct 26, 2005 at 02:15:41PM +0200, Gabor Gombas wrote:
 If a package's postrm removes the user, and the next package's postinst
 just calls adduser, then the admin have no control over the reusing.
 
 If you want to allow automatic user/group removal, then adduser should
 be extended to remember every UID/GID that was ever used by a system
 user, and never reuse them again even if they have since been removed
 from /etc/passwd and/or /etc/group.

i don't think removing and reusing users is a good idea in practice.
what harm would there be in simply leaving the user account on the
system permenantly, with maybe locking the account and setting the
shell to /bin/false?


sean


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Steve Langasek
On Wed, Oct 26, 2005 at 08:20:02AM -0400, sean finney wrote:
 On Wed, Oct 26, 2005 at 02:15:41PM +0200, Gabor Gombas wrote:
  If a package's postrm removes the user, and the next package's postinst
  just calls adduser, then the admin have no control over the reusing.

  If you want to allow automatic user/group removal, then adduser should
  be extended to remember every UID/GID that was ever used by a system
  user, and never reuse them again even if they have since been removed
  from /etc/passwd and/or /etc/group.

 i don't think removing and reusing users is a good idea in practice.
 what harm would there be in simply leaving the user account on the
 system permenantly, with maybe locking the account and setting the
 shell to /bin/false?

In the general case, I can think of two reasons to remove users (but
leave the ids reserved): namespace pollution, and user lookup performance
when using flatfile /etc/passwd.  Neither of these is particularly relevant
for system accounts, but if adduser gained support for something like this I
don't see any reason for system accounts to *not* use it.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread sean finney
hey steve,

On Wed, Oct 26, 2005 at 05:29:46AM -0700, Steve Langasek wrote:
 In the general case, I can think of two reasons to remove users (but
 leave the ids reserved): namespace pollution, and user lookup performance
 when using flatfile /etc/passwd.  Neither of these is particularly relevant
 for system accounts, but if adduser gained support for something like this I
 don't see any reason for system accounts to *not* use it.

i was speaking specifically about system accounts, i guess i didn't make
that clear.  i can see all kinds of wierd problems hapenning when a
system-account is removed, but still owning files on the filesystem
(perhaps not even files managed by dpkg), and later more system
accounts are created.

i suppose this could be addressed by reserving uid/account pairs so
the subsequent additions of the user took the same uid and no other
accounts would take it, but that seems like a whole lot of work to do
and for no good reason in the first place.


sean

-- 


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Marc Haber ([EMAIL PROTECTED]) wrote:
 On Wed, 26 Oct 2005 11:11:00 +0200, Javier Fernández-Sanguino Peña
 [EMAIL PROTECTED] wrote:
  Some remove the user
 (and fail to check if it was created by the postinst/preinst and not by the
 alocal admin),
 
 Removing the user is a general bug, IMO. They cannot guess what the
 local admin did with the account while the package was installed.

I disagree with the idea that removing a user is a bug.  If the user was
added by the package, and the package is being purged, and there's a
reasonable expectation that it wasn't used outside of the package's use
of it then I think it's probably safe to remove it.  sshd is a good
example of this, imv.  I'm already unhappy about the clutter in my
passwd/shadow files, having packages never be allowed to remove users
(which they created originally, etc) would just make it that much worse
for me, as a user.

 Please explain, the code only changes /etc/{passwd,shadow,group}. Where's the
 RC bug?
 
 If I generate user foo and give it some attributes, and some packages
 comes and overwrites these attributes, it has overwritten local
 configguration, and I would be Not Amused. The only sensible thing
 that a package can do in this situation is abort installation.

I'm not entirely sure I agree that's the *only* sensible thing which
could be done.  Could it be posed as a question to the admin, use the
attributes as specified, or change them?  Depending on the capabilities
of the package, of course.

 Some packages have tried to minimize the collision probability by
 using a prefix such as Debian- for their account, but until Debian
 has established Policy about that it's only a token measure.

The whole Debian- bit is just dumb(tm).  Of course, so is hard-coding
usernames into packages (it's even better when there's a config option
to specify the username!).  Collisions need to be dealt with in some
sane way, just attempting to avoid them is foolishness.  What if the
admin *does* create a Debian-blah system account?  I don't think just
overriding what the admin did would be right in that case either,
'reserved' namespace or not.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Javier Fernández-Sanguino Peña
On Wed, Oct 26, 2005 at 12:16:43PM +0200, Marc Haber wrote:
 On Wed, 26 Oct 2005 11:11:00 +0200, Javier Fernández-Sanguino Peña
 [EMAIL PROTECTED] wrote:
 Please explain, the code only changes /etc/{passwd,shadow,group}. Where's the
 RC bug?
 
 If I generate user foo and give it some attributes, and some packages
 comes and overwrites these attributes, it has overwritten local
 configguration, and I would be Not Amused. The only sensible thing
 that a package can do in this situation is abort installation.

Hmm.. I guess you refer to the usermod use, which could be moved into the 'if
getent passwd' clause. Aborting installation when the user already
exists is something that could be avoided.

 Some packages have tried to minimize the collision probability by
 using a prefix such as Debian- for their account, but until Debian
 has established Policy about that it's only a token measure.

That's precisely why providing a best practices is needed. Currently there
are too many packages using their own implementation of the above, if there
is no consensus on how it should be implemented there can hardly be a policy
item for those.

 - Creating the user's homedir and assigning proper permissions if (and only
 if) the admin has not overriden it with dpkg-statoverride
 
 What are proper permissions other than user:usersgroup 755, as
 configured for the entire systems?

For security reasons, it might make sense for some daemon files/directories
to be 640 (750 for dirs) or, even 600 (700 for dirs). Some daemons handle
sensible information in their directories which should be not be available
for other users.

 - Adding the user to additional groups if required
 
 adduser user group

Which needs to be done:

a) once the user has been created
b) once the group has been created

So it's three calls to adduser in that case:

- create the user
- create the group
- add the user to the group

 That really depends on the daemon itself don't you think?
 
 No. You never know what the local admin uses an account for.

Packages should not try to cope with every possible thing an admin can do.
There should be flexibility to have the admin make an informed decission, but
there should be a sane default valid for most installations. That's why
removal might be an optional feature in a 'dh_user' implementation which
should be, even, handled by a debconf question. Again, more code that is the
same across packages and could be added into the maintainer scripts
automatically by dh_user.

 For example, having the possibility to add a new account to a list of
 groups _in_ _adduser_ would close two wishlist bugs against adduser
 and ease account creation for the installer. Having that feature
 added externally doesn't help here and indeed decreases the chance
 for these wishlist bugs to be addressed in any reasonable time frame.

The fact is, those features are already added externally, in inconsistent
ways, and without a clear policy stating how it should be implemente. So
maintainers can close bugs related to their decissions freely even if they
don't agree with the general consensus. So there is no difference if a
'dh_user' is written. With the added benefit that it would:

- make implementation uniforms and favor code reuse
- define a common practice that would later be able to turn into policy

IMHO of course.


Javier


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Javier Fernández-Sanguino Peña
On Wed, Oct 26, 2005 at 01:53:19PM +0200, Gabor Gombas wrote:
 On Wed, Oct 26, 2005 at 11:11:00AM +0200, Javier Fernández-Sanguino Pe?a 
 wrote:
 
  That really depends on the daemon itself don't you think? There's a number 
  of
  daemons that don't create any file at all or, if they do, are created
  only on a given directory which is removed on purge. In these cases, 
  removing
  the user on postrm's purge might make sense. As I said, that would be an
  option. 
 
 It is still possible that those daemons _read_ some files (e.g. config
 files), and the admin did a chown/chgrp to the daemon's user. Removing
 the user and reusing the UID/GID will suddenly make those files
 accessible for a random new package which may not be intended at all.

Wrong. That is only true in the chown() case. Which is not a sensible thing
to do. Daemons should be able to read their configuration files but they
usually *don't* need to *write* them, so they should *not* own them. The
reasoning for this is that if a security vulnerability is found that affects
the daemon, and it can write to its configuration file, then you are
introducing additional risks beyond the vulnerability itself. Think for
example:

- a chrooted() FTP server that can write to its configuration files or to the
  applications in the chroot
- a web server that can write in its web page space area.
- a SSH server that can write to sshd_config (and, consequently, can enable
  subsystems, authentication methods or remove limitations set by the admin)

If you find daemons which have their configuration files chown'ed to them
withouth there being a need to write to, please file a bug.

Now, baring the chown() case, you have two think of two type of configuration
files: those that hold sensitive information and those that do not. If they
don't hold sensitive information then you make those world readable, if they
do then you use a group, which can be shared by different packages or used by
only one package.

Here's an analysis of different situations for configuration files under
those premises:

[ File with sensitive information ]
- File is mode 640 and owned by root
- File belongs to the 'X' group, if the group is shared across packages then
  the group should not be removed (or created) by the daemon package.
- Daemon 'D' belongs to the 'X' group, so he can read the file

Removal consequence: none. ¿Why? if the file is *not* shared across packages,
both the user, the group and the file should be removed _at_the_same_ time on 
purge.
If the file is shared across packages (and is not a configuration file of the
daemon package), removal (or purge) of the daemon cannot lead to the removal
of the shared group. In either case, the file is not orphaned.

¿Can a new system daemon read the file?: no, unless he is added to the 'X'
group.

[ File without sensitive information ]
- File is mode 644 and owned by root, and belongs to 'root' group or
  any other generic group ('adm')
- Daemon 'D' can read the file (due to it being world-readable)

Removal consequence: none, the file does not belong to the daemon user or its
group in any way, so it being remove cannot orphan the file.

¿Can a new system daemon read the file? Of course, the file is mode 644


The only situation where removing a daemon user is an issue is when the files
have either:

a- been created by the daemon through its normal operation
b- been created by the root user when impersonating the daemon

If the files hold to a) and are _not_ configuration files, log files, or
state files (i.e. under /var/run/, /var/state/, etc.) which should be removed
on purge as defined per policy, then the daemon should *not* be removed on
purge. This is the case of, for example, an MTA, which will create queue
files and spool files in normal operation.

If all the files in a) are purged and only b) remains as a possibility then
have the admin make a decission (and default to 'yes, remove'  if appropiate)

Regards

Javier


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Frank Küster
Javier Fernández-Sanguino Peña [EMAIL PROTECTED] wrote:

 On Wed, Oct 26, 2005 at 01:53:19PM +0200, Gabor Gombas wrote:
 On Wed, Oct 26, 2005 at 11:11:00AM +0200, Javier Fernández-Sanguino Pe?a 
 wrote:
 
  That really depends on the daemon itself don't you think? There's a number 
  of
  daemons that don't create any file at all or, if they do, are created
  only on a given directory which is removed on purge. In these cases, 
  removing
  the user on postrm's purge might make sense. As I said, that would be an
  option. 
 
 It is still possible that those daemons _read_ some files (e.g. config
 files), and the admin did a chown/chgrp to the daemon's user. Removing
 the user and reusing the UID/GID will suddenly make those files
 accessible for a random new package which may not be intended at all.

 Wrong. That is only true in the chown() case. Which is not a sensible thing
 to do. Daemons should be able to read their configuration files but they
 usually *don't* need to *write* them, so they should *not* own them. 

What about log files with sensitive content?

Regards, Frank
-- 
Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Gabor Gombas
On Wed, Oct 26, 2005 at 03:50:36PM +0200, Javier Fernández-Sanguino Peńa wrote:

 Wrong. That is only true in the chown() case. Which is not a sensible thing
 to do. Daemons should be able to read their configuration files but they
 usually *don't* need to *write* them, so they should *not* own them.

That is true in general, but I've seen it enough times to say it is a
common administration mistake. Of course, you can say that if the admin
wants to shoot himself on the foot, let's give him a bigger gun...

 [ File with sensitive information ]
 - File is mode 640 and owned by root
 - File belongs to the 'X' group, if the group is shared across packages then
   the group should not be removed (or created) by the daemon package.
 - Daemon 'D' belongs to the 'X' group, so he can read the file
 
 Removal consequence: none. żWhy? if the file is *not* shared across packages,
 both the user, the group and the file should be removed _at_the_same_ time on 
 purge.

Here you assume that the packaging system knows about all such files, but
that is simply not true. Simple example: a daemon that is capable of
TLS. Now, the admin generates a certificate/key pair, and modifies the
config file to use them. At this point, the packaging system has _zero_
knowledge that the cert/key files exist, so it can not remove them (and
even parsing the config file to locate them would be wrong, since those
files were generated by the admin therefore should never be removed by
the package).

Now, the key is likely having permission 640, owned by root, group is
the daemon's group. This group is _not_ shared, so when the daemon is
removed, the group is removed as well, and the next package installed
that needs a system user/group will re-use the GID, thus it will have
access to the private key.

And this is a security problem, since having access to the private key
even after the daemon has been removed can allow an attacker to decrypt
network traffic recorded in the past.

Also, even if the file is shared by multiple packages, there is _no_
guarantee that it uses a shared group. ACLs are supported by Linux for
quite some time now. In fact it is quite reasonable to have a
sensitive file being owned by root:root, having default access mask
0600, but granting read permission to other selected users via
ACLs. This solution scales much better than creating a new group for
every possible sharing combination.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* sean finney ([EMAIL PROTECTED]) [051026 14:20]:
 On Wed, Oct 26, 2005 at 02:15:41PM +0200, Gabor Gombas wrote:
  If a package's postrm removes the user, and the next package's postinst
  just calls adduser, then the admin have no control over the reusing.
  
  If you want to allow automatic user/group removal, then adduser should
  be extended to remember every UID/GID that was ever used by a system
  user, and never reuse them again even if they have since been removed
  from /etc/passwd and/or /etc/group.
 
 i don't think removing and reusing users is a good idea in practice.
 what harm would there be in simply leaving the user account on the
 system permenantly, with maybe locking the account and setting the
 shell to /bin/false?

Yep, that's probably best practice.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Javier Fernández-Sanguino Peña [EMAIL PROTECTED] writes:

 Removing system users on package purge is widely regarded a bug since
 one cannot guarantee that the local admin hasn't used the account for
 other things as well. Additionally, removing the system user on
 package purge might leave orphaned files around. If the maintainer
 decides to remove a user in postinst, that can be done with an
 explicit deluser call.

 That really depends on the daemon itself don't you think? There's a number of
 daemons that don't create any file at all or, if they do, are created
 only on a given directory which is removed on purge. In these cases, removing
 the user on postrm's purge might make sense. As I said, that would be an
 option. 

One cannot guarantee that the local admin hasn't used the account for
other things as well.

Please read.

Thomas



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Gabor Gombas [EMAIL PROTECTED] writes:

 IMHO you can safely remove an user/group _only_ if you have made sure
 there are no files owned by that uid/group left on any filesystems (and
 checking that may be tricky if the system uses ACLs, for example).

Any filesystems here must include removable media not currently
attached as well as garden-variety unmounted filesystems too.  That's
a tough task to automate.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Javier Fernández-Sanguino Peña
On Wed, Oct 26, 2005 at 05:24:28PM +0200, Frank Küster wrote:
 Javier Fernández-Sanguino Peña [EMAIL PROTECTED] wrote:
 
  On Wed, Oct 26, 2005 at 01:53:19PM +0200, Gabor Gombas wrote:
  On Wed, Oct 26, 2005 at 11:11:00AM +0200, Javier Fernández-Sanguino Pe?a 
  wrote:
  
   That really depends on the daemon itself don't you think? There's a 
   number of
   daemons that don't create any file at all or, if they do, are created
   only on a given directory which is removed on purge. In these cases, 
   removing
   the user on postrm's purge might make sense. As I said, that would be an
   option. 
  
  It is still possible that those daemons _read_ some files (e.g. config
  files), and the admin did a chown/chgrp to the daemon's user. Removing
  the user and reusing the UID/GID will suddenly make those files
  accessible for a random new package which may not be intended at all.
 
  Wrong. That is only true in the chown() case. Which is not a sensible thing
  to do. Daemons should be able to read their configuration files but they
  usually *don't* need to *write* them, so they should *not* own them. 
 
 What about log files with sensitive content?

Non-issue, as I said in the end of my post, those should be removed on purge.
This is mandated by policy:
http://www.debian.org/doc/debian-policy/ch-files.html#s10.8
Thus, at the same time that the user is removed and would never be orphaned.

Case closed :-)

Javier


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 I disagree with the idea that removing a user is a bug.  If the user was
 added by the package, and the package is being purged, and there's a
 reasonable expectation that it wasn't used outside of the package's use
 of it then I think it's probably safe to remove it.  

How do you acquire that expectation? 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Javier Fernández-Sanguino Peña
On Wed, Oct 26, 2005 at 05:24:46PM +0200, Gabor Gombas wrote:
 On Wed, Oct 26, 2005 at 03:50:36PM +0200, Javier Fernández-Sanguino Pe?a 
 wrote:
 
  Wrong. That is only true in the chown() case. Which is not a sensible thing
  to do. Daemons should be able to read their configuration files but they
  usually *don't* need to *write* them, so they should *not* own them.
 
 That is true in general, but I've seen it enough times to say it is a
 common administration mistake. Of course, you can say that if the admin
 wants to shoot himself on the foot, let's give him a bigger gun...
 
  [ File with sensitive information ]
  - File is mode 640 and owned by root
  - File belongs to the 'X' group, if the group is shared across packages then
the group should not be removed (or created) by the daemon package.
  - Daemon 'D' belongs to the 'X' group, so he can read the file
  
  Removal consequence: none. ?Why? if the file is *not* shared across 
  packages,
  both the user, the group and the file should be removed _at_the_same_ time 
  on purge.
 
 Here you assume that the packaging system knows about all such files, but
 that is simply not true. Simple example: a daemon that is capable of
 TLS. Now, the admin generates a certificate/key pair, and modifies the
 config file to use them. At this point, the packaging system has _zero_
 knowledge that the cert/key files exist, so it can not remove them (and
 even parsing the config file to locate them would be wrong, since those
 files were generated by the admin therefore should never be removed by
 the package).

Correct, they should not be removed, but since configuration files should
reside in /etc, even better, in /etc/$daemon, it would just be a matter of
having a postrm test on purge that, once removed the conffiles from
the package, checks if there are files there and asks the admin on what
action to take (or warns him that they might get orphaned, or decides not to
remove the user even if the admin answered the debconf question saying yes,
remove this).

Notice that policy, again, mandates that backups of conffiles should be purged
(http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-removedetails)
so packages should already have some kind of test to check to look for stale 
files in
configuration directories (that's not true for all, but those who don't are
buggy, so follow my point here). AS the precise naming of backup files is
open (from the manual:  ~-files, #*# files, %-files, .dpkg-{old,new,tmp},
etc.)  so the easiest way to test for the policy requirement is to check if
the configuration directory the package uses and see if it's empty after
removing all conffiles.

A standard test should cover both cases: backup files created by the admin
and new configuration files created by the admin there. Again, something that
could be reused by packages and integated into debhelp to prevent eveyrone
from writing his own piece of (sometimes buggy) code in maintainer scripts.

Of course, if the admin created the files outside of /etc/ (or /etc/$daemon)
then he would be on his own here [1]. That's why, again, the system user removal
should not be forced on all users, so knowledgeable users can say no, don't
remove this user, I'm going to do stuff with it. But it should be a =
medium debconf question.

Regards

Javier

[1] Running 'find /' is not an option since that could could be equivalent to
a DoS in some systems (those connected to SANs through network drives, for
example)


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Gabor Gombas
On Wed, Oct 26, 2005 at 05:39:45PM +0200, Andreas Barth wrote:

  i don't think removing and reusing users is a good idea in practice.
  what harm would there be in simply leaving the user account on the
  system permenantly, with maybe locking the account and setting the
  shell to /bin/false?
 
 Yep, that's probably best practice.

Note that most system groups are already locked and have the shell set
to /bin/false by default, anything else is likely a change made by the
admin manually. Forcibly locking the account is thus overriding the
admin's decision, so it must be at least clearly documented somewhere.

Another thing would be to change the GECOS indicating that the account
is now stale, and have some small utility to list/remove all such
accounts. So whoever wants to automatically remove unused accounts can
configure apt to do so by calling this utility from DPkg::Post-Invoke.

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
 
  I disagree with the idea that removing a user is a bug.  If the user was
  added by the package, and the package is being purged, and there's a
  reasonable expectation that it wasn't used outside of the package's use
  of it then I think it's probably safe to remove it.  
 
 How do you acquire that expectation? 

By knowing what the package uses the user for.  This is somewhat akin to
the PostgreSQL package's question do you want your data files to be
purged upon package removal, or the fact that the default Postgres
installation uses ident and the 'postgres' user is the superuser for the
database (meaning you're going to be su'ing to postgres probably a fair
bit).

In this example, if the user said to remove the data files when the
package is removed I'd expect the user to be removed as well.  If the
user said to *not* remove the data files (the default, I believe), then
the postgres user should also remain.

Another good example is the 'sshd' user, who owns nothing and is nothing
more than a distinct unprivileged user for the purpose of communicating
with the network in privsep mode (iirc).

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Andreas Barth ([EMAIL PROTECTED]) wrote:
 * sean finney ([EMAIL PROTECTED]) [051026 14:20]:
  i don't think removing and reusing users is a good idea in practice.
  what harm would there be in simply leaving the user account on the
  system permenantly, with maybe locking the account and setting the
  shell to /bin/false?
 
 Yep, that's probably best practice.

In a 'best practice' setup, I'd think it's certainly be much better for
unused accounts to not exist than to have them exist but be locked out
through some means.  I'm not a huge fan of trusting 'lock-out'
mechanisms as they can be different for different authentication
systems.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Javier Fernández-Sanguino Peña
On Wed, Oct 26, 2005 at 08:44:12AM -0700, Thomas Bushnell BSG wrote:
 
 One cannot guarantee that the local admin hasn't used the account for
 other things as well.
 
 Please read.

We cannot guarantee that an admin fiddles with binaries in /usr/bin/ (as
opposed to /usr/local/bin) either. That doesn't mean that packages have to
cope with that situation. Again:

We can provide a sensible default for system users' removals that copes with
most situations and leave a door open (through debconf) to sysadmins that
want to fiddle with system users. 

Heck, it can even be a generic debconf question shared across packages, so
that the sysadmin has no need to answer it for every package. And, again, if
the sysadmin is _supposed_ to use the account for other things then there
should be no removal action and no question asked at all.

Regards

Javier



signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Gabor Gombas ([EMAIL PROTECTED]) [051026 18:03]:
 On Wed, Oct 26, 2005 at 05:39:45PM +0200, Andreas Barth wrote:
 
   i don't think removing and reusing users is a good idea in practice.
   what harm would there be in simply leaving the user account on the
   system permenantly, with maybe locking the account and setting the
   shell to /bin/false?
  
  Yep, that's probably best practice.
 
 Note that most system groups are already locked and have the shell set
 to /bin/false by default, anything else is likely a change made by the
 admin manually. Forcibly locking the account is thus overriding the
 admin's decision, so it must be at least clearly documented somewhere.

Well, locking of course only if the application needed something else
than /bin/false in the first place. :)


 Another thing would be to change the GECOS indicating that the account
 is now stale, and have some small utility to list/remove all such
 accounts. So whoever wants to automatically remove unused accounts can
 configure apt to do so by calling this utility from DPkg::Post-Invoke.

That might be possible, yes.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Javier Fernández-Sanguino Peña ([EMAIL PROTECTED]) [051026 18:09]:
 We can provide a sensible default for system users' removals that copes with
 most situations and leave a door open (through debconf) to sysadmins that
 want to fiddle with system users. 

I really want to warn to try to be too smart by half. Reserving the
name/uid-space by not removing the accounts works reasonable well, and
having at maximum 5-10 unnecessary accounts is also not the end of the
world either.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Humberto Massa

Andreas Barth wrote:

* Javier Fernández-Sanguino Peña ([EMAIL PROTECTED]) [051026 18:09]:

We can provide a sensible default for system users' removals that
copes with most situations and leave a door open (through debconf)
to sysadmins that want to fiddle with system users.


I really want to warn to try to be too smart by half. Reserving the 
name/uid-space by not removing the accounts works reasonable well,

and having at maximum 5-10 unnecessary accounts is also not the end
of the world either.


Problem being, if daemons don't remove their (supposedly exclusive-use)
accounts, you can end in two years with 100 unnecessary accounts in a
workstation.

--
HTH,
Massa



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Humberto Massa ([EMAIL PROTECTED]) [051026 18:28]:
 Andreas Barth wrote:
 * Javier Fernández-Sanguino Peña ([EMAIL PROTECTED]) [051026 18:09]:
 We can provide a sensible default for system users' removals that
 copes with most situations and leave a door open (through debconf)
 to sysadmins that want to fiddle with system users.
 
 I really want to warn to try to be too smart by half. Reserving the 
 name/uid-space by not removing the accounts works reasonable well,
 and having at maximum 5-10 unnecessary accounts is also not the end
 of the world either.
 
 Problem being, if daemons don't remove their (supposedly exclusive-use)
 accounts, you can end in two years with 100 unnecessary accounts in a
 workstation.

How many daemon packages do you install in two years? I even doubt that
we have 100 packages that add accounts at all in debian.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Humberto Massa

Andreas Barth wrote:

* Humberto Massa ([EMAIL PROTECTED]) [051026 18:28]:

Andreas Barth wrote:

* Javier Fernández-Sanguino Peña ([EMAIL PROTECTED]) [051026 18:09]:

We can provide a sensible default for system users' removals that
copes with most situations and leave a door open (through debconf)
to sysadmins that want to fiddle with system users.
I really want to warn to try to be too smart by half. Reserving the 
name/uid-space by not removing the accounts works reasonable well,

and having at maximum 5-10 unnecessary accounts is also not the end
of the world either.

Problem being, if daemons don't remove their (supposedly exclusive-use)
accounts, you can end in two years with 100 unnecessary accounts in a
workstation.


How many daemon packages do you install in two years? I even doubt that
we have 100 packages that add accounts at all in debian.


count them and you'll see. Remember sarge has 17000 packages, how many 
of those do you think can add a user?


in my workstation I try out a new package (for scientfic computing, a 
game for Lucas, a new development package) at least once each two days, 
and a lot of times they come with their libs and their daemons -- and 
their users. So I see them, and think oh, no, this is not what I 
thought it would be, and --purge them. And the daemons' users pile up 
in /etc/passwd.


--
HTH
Massa



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Humberto Massa ([EMAIL PROTECTED]) [051026 18:34]:
 in my workstation I try out a new package (for scientfic computing, a 
 game for Lucas, a new development package) at least once each two days, 
 and a lot of times they come with their libs and their daemons -- and 
 their users. So I see them, and think oh, no, this is not what I 
 thought it would be, and --purge them. And the daemons' users pile up 
 in /etc/passwd.

well, perhaps take it as administrators job to clean up /etc/passwd from
time to time if you install that many packages (because you as
administrator know which users were co-used with someone else, and which
not). But this is definitly not the most common scenario.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Humberto Massa

Andreas Barth wrote:

* Humberto Massa ([EMAIL PROTECTED]) [051026 18:34]:
in my workstation I try out a new package (for scientfic computing, a 
game for Lucas, a new development package) at least once each two days, 
and a lot of times they come with their libs and their daemons -- and 
their users. So I see them, and think oh, no, this is not what I 
thought it would be, and --purge them. And the daemons' users pile up 
in /etc/passwd.


well, perhaps take it as administrators job to clean up /etc/passwd from
time to time if you install that many packages (because you as
administrator know which users were co-used with someone else, and which
not). But this is definitly not the most common scenario.


It seems that you still did not get my point.
My point is, in a SoHo workstation, this is exactly the most common 
scenario nowadays (example: hmm. let me try this new dvd-player... I 
open synaptic, install it, ... nah, it does not work as I expected [but 
it installed gstreamer, jackd, etc in the process] let me try the next 
one in the list...)



--
HTH,
Massa


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Humberto Massa ([EMAIL PROTECTED]) [051026 18:48]:
 Andreas Barth wrote:
 * Humberto Massa ([EMAIL PROTECTED]) [051026 18:34]:
 in my workstation I try out a new package (for scientfic computing, a 
 game for Lucas, a new development package) at least once each two days, 
 and a lot of times they come with their libs and their daemons -- and 
 their users. So I see them, and think oh, no, this is not what I 
 thought it would be, and --purge them. And the daemons' users pile up 
 in /etc/passwd.
 
 well, perhaps take it as administrators job to clean up /etc/passwd from
 time to time if you install that many packages (because you as
 administrator know which users were co-used with someone else, and which
 not). But this is definitly not the most common scenario.
 
 It seems that you still did not get my point.
 My point is, in a SoHo workstation, this is exactly the most common 
 scenario nowadays (example: hmm. let me try this new dvd-player... I 
 open synaptic, install it, ... nah, it does not work as I expected [but 
 it installed gstreamer, jackd, etc in the process] let me try the next 
 one in the list...)

I fear, you still did not get my point.

We have two ways to choose from, both with advantages and disadvantages.

One has the disadvantage to be able to make systems magically fail and
expose security risks.

The other has the disadvantage to make /etc/passwd a bit too large in
some cases.

Isn't it obvious that we shouldn't go for the security risk?


I don't mind at all if we get some clever way like marking the user in
the gecos-field and have an debuserfoster. But I mind very much to try
to deal security with looks nicer.



Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Lars Wirzenius
ke, 2005-10-26 kello 14:30 -0300, Humberto Massa kirjoitti:
 Problem being, if daemons don't remove their (supposedly exclusive-use)
 accounts, you can end in two years with 100 unnecessary accounts in a
 workstation.

It would certainly be good if we had a system for marking accounts as
unused by a package, and then give the sysadmin a tool for removing
them. Like, say, the postrm script could call automatic-deluser, which
reads /ec/default/automatic-deluser, and if METHOD is set to
always-remove, removes the account, otherwise sets the shell to
to /bin/no-longer-in-use-by-package. The sysadmin can run
remove-autodeleted-accounts to remove accounts marked that way.

. /etc/default/automatic-deluser
if [ $METHOD = always-remove ]]
then
deluser $1
else
chsh -s /bin/no-longer-in-use-by-package $1
fi

(Anyone running the above code should be aware that it is untested and
will probably replace your kernel with MS-DOS 2.11.)

The default value for METHOD probably should not be always-remove. As
has been pointed out in this thread, there are risks involved with that.
The cost is that for most people, there might be a couple, or a few,
unused system accounts, which doesn't seem to be much of a cost. People
who want to take the risk can change the default.

I would prefer to have this put into a separate command that can be
called from a postrm script, rather than as a debhelper command. Not all
packages use debhelper, and, anyway, a separate tool can be more easily
fixed without having to rebuild lots of packages.

-- 
Without grand dreams, how can you save the world?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Authentication [Was: Bits from the release team: the plans for etch]

2005-10-26 Thread Ghe Rivero
Hello everyone,
following all the discussion about when to add or remove users/groups
and when to do this, i must that maybe some work is done (not using the
standard adduser commands but almost).

I package libuser (from RH). From the Description:

The libuser library implements a standardized interface for
manipulating and administering user and group accounts. The library uses
pluggable back-ends to interface to its data sources.

It already has backends for ldap, kerberos, standard Unix
password/shadow and sasldb. Modules for NIS are planned. Configuring
properly the backends one can add/remove users/groups from them. There
are also some examples programs that extends its functionality.

Apart of this, some time ago, i take a look to authconfig, the RH
(again) utility to configure (ncurses and gtk available) the
workstations to authenticate locally, via kerberos, ldap, heisod...
Almost all the code was vendor independent and the only changes
necessary were those related to the organization of pam configuration. I
filled a ITP some time ago and it's almost working. It somebody want to
sponsor it, we can upload it to experimental and start the party.

Ghe Rivero

-- 
CPD - Universidad Pontificia de Salamanca
Tlf. 923 277 136 - Ext. 7263


 .''`.  Pienso, Luego Incordio
: :' :
`. `'   Proudly running Debian GNU/Linux (Sid 2.6.9-smp Ext3)
  `-www.debian.orgwww.upsa.es

GPG Key: 26F020F7
GPG fingerprint: 4986 39DA D152 050B 4699  9A71 66DB 5A36 26F0 20F7


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Javier Fernández-Sanguino Peña [EMAIL PROTECTED] writes:

 On Wed, Oct 26, 2005 at 08:44:12AM -0700, Thomas Bushnell BSG wrote:
 
 One cannot guarantee that the local admin hasn't used the account for
 other things as well.
 
 Please read.

 We cannot guarantee that an admin fiddles with binaries in /usr/bin/ (as
 opposed to /usr/local/bin) either. That doesn't mean that packages have to
 cope with that situation. 

But chowning files to match a system account is not some weird thing
that we can't expect.



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Humberto Massa [EMAIL PROTECTED] writes:

 Problem being, if daemons don't remove their (supposedly exclusive-use)
 accounts, you can end in two years with 100 unnecessary accounts in a
 workstation.

And what bad results does this produce?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 * Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
 
  I disagree with the idea that removing a user is a bug.  If the user was
  added by the package, and the package is being purged, and there's a
  reasonable expectation that it wasn't used outside of the package's use
  of it then I think it's probably safe to remove it.  
 
 How do you acquire that expectation? 

 By knowing what the package uses the user for.  This is somewhat akin to
 the PostgreSQL package's question do you want your data files to be
 purged upon package removal, or the fact that the default Postgres
 installation uses ident and the 'postgres' user is the superuser for the
 database (meaning you're going to be su'ing to postgres probably a fair
 bit).

How do you know that the system administrator hasn't chowned a file to
that UID?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Humberto Massa [EMAIL PROTECTED] writes:
 
  Problem being, if daemons don't remove their (supposedly exclusive-use)
  accounts, you can end in two years with 100 unnecessary accounts in a
  workstation.
 
 And what bad results does this produce?

A dependency on 'lock-out' mechanisms that may or may not work as well
as one might hope.  I'm more inclined towards the idea of keeping a
system-user counter so as to avoid reuse of the same uids, though I'm
not convinced that's actually necessary.

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
  By knowing what the package uses the user for.  This is somewhat akin to
  the PostgreSQL package's question do you want your data files to be
  purged upon package removal, or the fact that the default Postgres
  installation uses ident and the 'postgres' user is the superuser for the
  database (meaning you're going to be su'ing to postgres probably a fair
  bit).
 
 How do you know that the system administrator hasn't chowned a file to
 that UID?

Same way you know that the system administrator hasn't modified a file
in /usr/bin.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 * Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
  By knowing what the package uses the user for.  This is somewhat akin to
  the PostgreSQL package's question do you want your data files to be
  purged upon package removal, or the fact that the default Postgres
  installation uses ident and the 'postgres' user is the superuser for the
  database (meaning you're going to be su'ing to postgres probably a fair
  bit).
 
 How do you know that the system administrator hasn't chowned a file to
 that UID?

 Same way you know that the system administrator hasn't modified a file
 in /usr/bin.

Um, I know that by comparing the contents against a known-true
version.  How do I detect whether the system administrator has used a
UID?

Moreover, the consequences of getting the one wrong are that you
delete the sysadmin's changes.  The consequences of the other are an
important and difficult-to-detect security hole.

Thomas


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
  Same way you know that the system administrator hasn't modified a file
  in /usr/bin.
 
 Um, I know that by comparing the contents against a known-true
 version.  How do I detect whether the system administrator has used a
 UID?

Except last I checked, we don't do such comparison.  If you really
wanted to know if the UID was used you could do a find /, etc.  Neither
is necessary though, which is the point.

 Moreover, the consequences of getting the one wrong are that you
 delete the sysadmin's changes.  The consequences of the other are an
 important and difficult-to-detect security hole.

This is just patently false, as has been pointed out elsewhere.  What
security hole, exactly, is created by orphaning a file?

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Stephen Frost ([EMAIL PROTECTED]) [051026 20:13]:
 * Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
  Stephen Frost [EMAIL PROTECTED] writes:
   Same way you know that the system administrator hasn't modified a file
   in /usr/bin.
  
  Um, I know that by comparing the contents against a known-true
  version.  How do I detect whether the system administrator has used a
  UID?
 
 Except last I checked, we don't do such comparison.  If you really
 wanted to know if the UID was used you could do a find /, etc.  Neither
 is necessary though, which is the point.
 
  Moreover, the consequences of getting the one wrong are that you
  delete the sysadmin's changes.  The consequences of the other are an
  important and difficult-to-detect security hole.
 
 This is just patently false, as has been pointed out elsewhere.  What
 security hole, exactly, is created by orphaning a file?

Well, if some process (maybe within the package) creates a private log
file that contains sensitive information, and this log file can later on
be read by a process with much less privileges, this is usually
considered as security relevant issue.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Andreas Barth ([EMAIL PROTECTED]) wrote:
 * Stephen Frost ([EMAIL PROTECTED]) [051026 20:13]:
  This is just patently false, as has been pointed out elsewhere.  What
  security hole, exactly, is created by orphaning a file?
 
 Well, if some process (maybe within the package) creates a private log
 file that contains sensitive information, and this log file can later on
 be read by a process with much less privileges, this is usually
 considered as security relevant issue.

Except log files are supposed to be removed and I don't know of any
actual case of this happening anyway.

Additionally, this is *not* a problem with the orphaning of the file,
it's a problem with the reuse of a previously-used uid.  I could see
adding a system to track previously-used uids and not reusing them.  I
don't believe using passwd for that (and keeping unused accounts in
passwd/shadow/group/gshadow/etc) is appropriate.  It would seem enough
to me, at least, to keep an ever-increasing counter where the current
value is the next available uid.  This could be reset if it reaches the
max, or an error presented to the user about it or some such.

I'm not convinced that's necessary but I could see it being something
reasonable to do.  Just leaving around unused accounts isn't reasonable.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Stephen Frost ([EMAIL PROTECTED]) [051026 20:46]:
 Additionally, this is *not* a problem with the orphaning of the file,
 it's a problem with the reuse of a previously-used uid.  I could see
 adding a system to track previously-used uids and not reusing them.  I
 don't believe using passwd for that (and keeping unused accounts in
 passwd/shadow/group/gshadow/etc) is appropriate.  It would seem enough
 to me, at least, to keep an ever-increasing counter where the current
 value is the next available uid.  This could be reset if it reaches the
 max, or an error presented to the user about it or some such.


Well, I could see us to build such a system. But this system isn't there
- and IMHO the next working way to prevent uids of being reused is to
keep the account in question (perhaps locked etc, as suggested
elsewhere).

Anything else is IMHO plainly broken.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Andreas Barth ([EMAIL PROTECTED]) wrote:
 * Stephen Frost ([EMAIL PROTECTED]) [051026 20:46]:
  Additionally, this is *not* a problem with the orphaning of the file,
  it's a problem with the reuse of a previously-used uid.  I could see
  adding a system to track previously-used uids and not reusing them.  I
  don't believe using passwd for that (and keeping unused accounts in
  passwd/shadow/group/gshadow/etc) is appropriate.  It would seem enough
  to me, at least, to keep an ever-increasing counter where the current
  value is the next available uid.  This could be reset if it reaches the
  max, or an error presented to the user about it or some such.
 
 Well, I could see us to build such a system. But this system isn't there
 - and IMHO the next working way to prevent uids of being reused is to
 keep the account in question (perhaps locked etc, as suggested
 elsewhere).
 
 Anything else is IMHO plainly broken.

Leaving around unused accounts is plainly wrong too, and also a
potential security risk.  If we're going to try to push for a broad
change in how this is handled then let's do it the *right* way by
creating such a system as I described above, not by breaking the system
to leave unused accounts around.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread sean finney
On Wed, Oct 26, 2005 at 02:58:15PM -0400, Stephen Frost wrote:
 Leaving around unused accounts is plainly wrong too, and also a

iyho.

 potential security risk.  If we're going to try to push for a broad
 change in how this is handled then let's do it the *right* way by

or, how about we not push for a broad change at all?


sean


signature.asc
Description: Digital signature


Removing system users on purge [Re: Bits from the release team: the plans for etch]

2005-10-26 Thread Don Armstrong
On Wed, 26 Oct 2005, Javier Fernández-Sanguino Peña wrote:
 On Wed, Oct 26, 2005 at 05:24:28PM +0200, Frank Küster wrote:
  What about log files with sensitive content?
 
 Non-issue, as I said in the end of my post, those should be removed
 on purge.

The log files that are created by the default package configuration
should be removed, but custom modifications to the configuration can
cause logfiles to be created elsewhere that are owned by the user in
question.

Case reopened.


Don Armstrong

-- 
UF: What's your favourite coffee blend?
PD: Dark Crude with heavy water. You are understandink? If geiger
counter does not click, the coffee, she is just not thick.

http://www.donarmstrong.com  http://rzlab.ucr.edu



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* sean finney ([EMAIL PROTECTED]) wrote:
 On Wed, Oct 26, 2005 at 02:58:15PM -0400, Stephen Frost wrote:
  Leaving around unused accounts is plainly wrong too, and also a
 
 iyho.

Duh?  I ain't humble tho. :)

  potential security risk.  If we're going to try to push for a broad
  change in how this is handled then let's do it the *right* way by
 
 or, how about we not push for a broad change at all?

Wasn't my idea. :)  I expect there will be additional claims that the
current situation creates 'security holes' though.  I don't buy it,
personally, but that's the claim.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Removing system users on purge [Re: Bits from the release team: the plans for etch]

2005-10-26 Thread Stephen Frost
* Don Armstrong ([EMAIL PROTECTED]) wrote:
 On Wed, 26 Oct 2005, Javier Fernández-Sanguino Peña wrote:
  On Wed, Oct 26, 2005 at 05:24:28PM +0200, Frank Küster wrote:
   What about log files with sensitive content?
  
  Non-issue, as I said in the end of my post, those should be removed
  on purge.
 
 The log files that are created by the default package configuration
 should be removed, but custom modifications to the configuration can
 cause logfiles to be created elsewhere that are owned by the user in
 question.

Have we actually got a specific case of this happening and there being a
real security threat from it?  Seems like an aweful lot of hand-waving
and concern for a possible scenario that doesn't seem to have actually
happened much (if it all, so far all I've seen has been pure
speculation).  An admin can set root's password to 'password' and allow
remote root login too, and that probably happens with greater frequency
than the scenario being put forth here.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Humberto Massa

Stephen Frost wrote:

* Andreas Barth ([EMAIL PROTECTED]) wrote:

* Stephen Frost ([EMAIL PROTECTED]) [051026 20:13]:

This is just patently false, as has been pointed out elsewhere.

What

security hole, exactly, is created by orphaning a file?

Well, if some process (maybe within the package) creates a private log
file that contains sensitive information, and this log file can later

on

be read by a process with much less privileges, this is usually
considered as security relevant issue.


Except log files are supposed to be removed and I don't know of any
actual case of this happening anyway.

Additionally, this is *not* a problem with the orphaning of the file,
it's a problem with the reuse of a previously-used uid.  I could see
adding a system to track previously-used uids and not reusing them.  I
don't believe using passwd for that (and keeping unused accounts in
passwd/shadow/group/gshadow/etc) is appropriate.  It would seem enough
to me, at least, to keep an ever-increasing counter where the current
value is the next available uid.  This could be reset if it reaches the
max, or an error presented to the user about it or some such.

I'm not convinced that's necessary but I could see it being something
reasonable to do.  Just leaving around unused accounts isn't reasonable.


one (more interesting, maybe) approach could be using some automated 
method to see what are _every_ _single_ user-id created by our packages 
(not very difficult) and collecting them in a single package, with 
UNIQUE uids (so www-data will be , no matter what): this way we 
can purge users at --purge time.


--
HTH,
Massa


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Andreas Barth
* Stephen Frost ([EMAIL PROTECTED]) [051026 20:58]:
 Leaving around unused accounts is plainly wrong too, and also a
 potential security risk. 
I'm certain you can proof this.

 If we're going to try to push for a broad
 change in how this is handled then let's do it the *right* way by
 creating such a system as I described above,

Feel free to implement such a system.


Cheers,
Andi


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 * Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
  Same way you know that the system administrator hasn't modified a file
  in /usr/bin.
 
 Um, I know that by comparing the contents against a known-true
 version.  How do I detect whether the system administrator has used a
 UID?

 Except last I checked, we don't do such comparison.  If you really
 wanted to know if the UID was used you could do a find /, etc.  Neither
 is necessary though, which is the point.

So what?  My point is that it is not *possible* to determine that a
uid hasn't been used for some unexpected purpose.  You said we should
reuse the uid if it hasn't been so used.  Are you now saying that we
should reuse it and not try to figure out at all?

Find on / of course doesn't work.  Well, it works if you never make
backups or use removable media.  Uh huh.

 Moreover, the consequences of getting the one wrong are that you
 delete the sysadmin's changes.  The consequences of the other are an
 important and difficult-to-detect security hole.

 This is just patently false, as has been pointed out elsewhere.  What
 security hole, exactly, is created by orphaning a file?

The UID gets reused, and the new possessor of the UID suddenly owns
the old files.

Thomas


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 * Andreas Barth ([EMAIL PROTECTED]) wrote:
 * Stephen Frost ([EMAIL PROTECTED]) [051026 20:13]:
  This is just patently false, as has been pointed out elsewhere.  What
  security hole, exactly, is created by orphaning a file?
 
 Well, if some process (maybe within the package) creates a private log
 file that contains sensitive information, and this log file can later on
 be read by a process with much less privileges, this is usually
 considered as security relevant issue.

 Except log files are supposed to be removed and I don't know of any
 actual case of this happening anyway.

We aren't talking about log files created by the package, but by the
sysadmin.

What if the sysadmin has taken the sensitive log and squirreled it
away, saving it for future reference?  Is that no longer a supported
thing? 

 Additionally, this is *not* a problem with the orphaning of the file,
 it's a problem with the reuse of a previously-used uid.  I could see
 adding a system to track previously-used uids and not reusing them.  I
 don't believe using passwd for that (and keeping unused accounts in
 passwd/shadow/group/gshadow/etc) is appropriate.  

Why?  What purpose is served by segregating the information?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 Leaving around unused accounts is plainly wrong too, and also a
 potential security risk.  

Can you outline the risk please?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing system users on purge [Re: Bits from the release team: the plans for etch]

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 Have we actually got a specific case of this happening and there being a
 real security threat from it?  Seems like an aweful lot of hand-waving
 and concern for a possible scenario that doesn't seem to have actually
 happened much (if it all, so far all I've seen has been pure
 speculation).  

There isn't any particular reason I can see for wanting to remove the
old id's from /etc/passwd.  Nothing concrete has been proposed.  


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
 
  Leaving around unused accounts is plainly wrong too, and also a
  potential security risk.  
 
 Can you outline the risk please?

Sure.  Locking accounts isn't necessairly perfect.  Checking that an
account is locked requires going through more of the authentication
system than just checking if the account exists.  What happens if an
admin gives a password to a system account and then forgets about the
account after purging the software it's associated with?  Not everything
which does authentication using /etc/passwd checks /etc/shells.  Some
authentication systems don't use passwords too (Kerberos).  Not
everything on the system uses PAM and may not follow the same
account-locking rules as PAM.  Even sudo scripts left around might cause
problems if the account still exists, where if the account just didn't
exist the sudo script would fail from the get-go.

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Frost
* Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 We aren't talking about log files created by the package, but by the
 sysadmin.
 
 What if the sysadmin has taken the sensitive log and squirreled it
 away, saving it for future reference?  Is that no longer a supported
 thing? 

One would hope he'd chown it too.  Indeed, *most* log files are owned by
root/adm anyway.  I'd actually be happier if that could be enforced,
thus this concern about log files actually goes away, not that I think
it's really a legitimate concern anyway.

  Additionally, this is *not* a problem with the orphaning of the file,
  it's a problem with the reuse of a previously-used uid.  I could see
  adding a system to track previously-used uids and not reusing them.  I
  don't believe using passwd for that (and keeping unused accounts in
  passwd/shadow/group/gshadow/etc) is appropriate.  
 
 Why?  What purpose is served by segregating the information?

Not keeping around unused accounts, that may have been set up as capable
of being authenticated to in the past by the admin for whatever reason.
Not to mention that it's leaving a hell of alot more around than is
necessary.  If you don't want to reuse ids, then have a nice simple
system that prevents reusing them, don't leave cruft around to get in
the way to try and prevent it.

What happens when the piece of software that created the userid
initially is reinstalled?  What if the attributes for the user changed,
possibly to deal with some security flaw in the original configuration?
What if there were files still on the system that the new installation
*shouldn't* have access to?

Even better, what if that crazy admin created orphaned files to *begin*
with, and didn't put a user in /etc/passwd, whoops!  We create a new
user with that userid, oh no, big security hole...

Thanks,

Stephen


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Javier Fernández-Sanguino Peña
On Wed, Oct 26, 2005 at 06:29:57PM +0200, Andreas Barth wrote:
  Problem being, if daemons don't remove their (supposedly exclusive-use)
  accounts, you can end in two years with 100 unnecessary accounts in a
  workstation.
 
 How many daemon packages do you install in two years? I even doubt that
 we have 100 packages that add accounts at all in debian.

Sorry, you'll have to clear up your facts first. How about doing this:

{
lynx -dump -nolist \
   
http://lintian.debian.org/reports/Tmaintainer-script-needs-depends-on-adduser.html
 | \
   perl -ne 'print $1.\n if /W: (.*?): /'
grep-available -sPackage -FPre-Depends,Depends adduser | awk '{print $2}'
} | wc -l

( I already posted this recipe in the thread, BTW )

That's 187 packages by my count, and might not cover all cases. Now, we have
a limit of 400 system uids in our current setting (499-100+1, see
adduser.conf) and, from what I'm seeing as part of my security audit work,
*many* *more* packages should be creating system users to run daemons as
low-priviledged users instead of running as root.

So, over 100 currently, and not an issue right now but might be in the future.

Javier


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Stephen Gran
This one time, at band camp, Javier Fernández-Sanguino Peña said:
 On Wed, Oct 26, 2005 at 08:18:42AM +0200, Marc Haber wrote:
  On Tue, 25 Oct 2005 22:21:18 +0200, Javier Fernández-Sanguino Peña
  [EMAIL PROTECTED] wrote:
  Creating system users needs to cope with the fact that users might
  have greated them before hand.
  
  adduser copes with that. If a system user to be created does already
  exist with the required properties, adduser is a no-op and exists
  with a zero exit code. If a system user to be created does already
  exist with different attributes, it exists with non-zero exit code,
  as this is an error.
 
 And that's something that packages maintainer scripts have to cope
 with since they don't know beforehand if it's there and it certainly
 doe snot have the same attirbutes (it might only share the name)

While I appreciate the effort at a standard shell script fragment for
'install a user', and think that it would be useful as reference and for
reuse, I tend to think making it a dh_ fragment doesn't work in the
normal use cases I can think of.  Ordinarily, when a package installs a
user, the logic of the maintainer script goes something like:

add user

chown a bunch of stuff to the new user

start the daemon

Correct me if I'm wrong, but I'm imagining this dh_ fragment being added
by the DEBHELPER blob at the end, and so anything needed to be done
in between adding the user and starting the daemon (the other common
and useful debhelper fragment in this sort of case) kind of blows up.
Unless I'm missing the way you were going to implement this.

But, seriously, it does sound like a useful reference piece, even if it
can't be added automatically.  If it can, so much the better.

Take care,
-- 
 -
|   ,''`.Stephen Gran |
|  : :' :[EMAIL PROTECTED] |
|  `. `'Debian user, admin, and developer |
|`- http://www.debian.org |
 -


signature.asc
Description: Digital signature


Re: Bits from the release team: the plans for etch

2005-10-26 Thread Thomas Bushnell BSG
Stephen Frost [EMAIL PROTECTED] writes:

 * Thomas Bushnell BSG ([EMAIL PROTECTED]) wrote:
 Stephen Frost [EMAIL PROTECTED] writes:
 
  Leaving around unused accounts is plainly wrong too, and also a
  potential security risk.  
 
 Can you outline the risk please?

 Sure.  Locking accounts isn't necessairly perfect.  

What is an account in the password file?  It's nothing more than the
ability to log in under a given UID.  How is a starred password
anything other than perfect locking of the account?

 Checking that an account is locked requires going through more of
 the authentication system than just checking if the account exists.
 What happens if an admin gives a password to a system account and
 then forgets about the account after purging the software it's
 associated with?

The same thing that happens if he creates a setuid program using that
UID.  


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



  1   2   >