scsh-users
[Top] [All Lists]

Re: scsh-install-pkg: build and install

To: scsh-users@scsh.net
Subject: Re: scsh-install-pkg: build and install
From: Michel Schinz <Michel.Schinz@epfl.ch>
Date: Tue, 05 Oct 2004 07:21:39 +0200
Cancel-lock: sha1:q5xv/gCswjb7iSpMSCA0wEBaw0c=
List-id: <scsh-users.list-id.scsh.net>
Sender: news <news@sea.gmane.org>
Friedrich Delgado Friedrichs <friedel@nomaden.org> writes:

[...]

> It all went very smooth and easy, the only slight annoyance was that
> scsh-install-pkg does not allow me to *compile* stuff as non-root
> and afterwards *install* it as root.

This could be added, but I first need to be convinced that this is
indeed necessary, which I'm not really right now :-).

> This is both a potential security hazard (because the system
> administrator has to inspect everything that happens in the build
> phase to determine if the package can be trusted and not only the
> install steps, which means the risk for malicious actions to remain
> unnoticed is much higher)

I don't really buy this, for two reasons:

1. Nothing forces you to perform installation as root. It's actually
   very easy to set up a user with write access to a single directory
   which serves as a software repository (say /usr/local/stow) and
   have this user perform all compilations/installations. Once the
   software is installed, the appropriate symbolic links from
   /usr/local/{bin,man,share,...} can be created by root (or some
   other user). This is both easier than reading makefiles, and more
   secure. And it can be made even more secure by creating a new user
   for every installed software.

2. If you are really worried about malicious code, then you should
   read the *whole* makefile, *and* the whole source code of the
   program anyway, because even as somebody else than root it can do
   nasty stuff.

Moreover, at least the Fink package manager performs *both*
compilation and installation as root. Maybe it's different with
Debian, I don't know.

> and an inconvenience, since it conflicts with existing packaging
> systems (e.g. bkhl pointed out that he couldn't separate the compile
> phase and the install phase for a debian package that way).

Ok, this could indeed be a problem, provided that it's really
necessary to separate the two. So I need to be explained why this is
necessary, i.e. why providing a dummy, do-nothing command for the
compilation phase doesn't work.

Thanks,
Michel.

<Prev in Thread] Current Thread [Next in Thread>