From 3927c6da48c206b6b251661f44680d9883b4f6b4 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 24 Sep 2014 16:22:05 +0200 Subject: Drop Privileges to "Debian-apt" in most acquire methods Add a new "Debian-apt" user that owns the /var/lib/apt/lists and /var/cache/apt/archive directories. The methods http, https, ftp, gpgv, gzip switch to this user when they start. Thanks to Julian and "ioerror" and tors "switch_id()" code. --- debian/apt.postinst | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'debian/apt.postinst') diff --git a/debian/apt.postinst b/debian/apt.postinst index fd3e273bb..08dc60f9c 100644 --- a/debian/apt.postinst +++ b/debian/apt.postinst @@ -26,6 +26,13 @@ case "$1" in fi fi + # add unprivileged user for the apt methods + adduser --force-badname --system --no-create-home \ + --quiet Debian-apt || true + chown -R Debian-apt:root \ + /var/lib/apt/lists \ + /var/cache/apt/archives + # ensure tighter permissons on the logs, see LP: #975199 if dpkg --compare-versions "$2" lt-nl 0.9.7.7; then # ensure permissions are right -- cgit v1.2.3-70-g09d2 From eed65c79322c3c79facdea44ce39033b21972e36 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 24 Sep 2014 17:29:53 +0200 Subject: Use _apt as our unprivileged user name Some people want to standardize on it, and BSDs do it too, so let's do the same. Reported-by: Paul Wise --- apt-pkg/contrib/fileutl.cc | 2 +- debian/apt.postinst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'debian/apt.postinst') diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 72e2dabd5..8e7313e8f 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -2184,7 +2184,7 @@ bool DropPrivs() if(_config->FindB("Debug::NoDropPrivs", false) == true) return true; - const std::string nobody = _config->Find("APT::User::Nobody", "Debian-apt"); + const std::string nobody = _config->Find("APT::User::Nobody", "_apt"); struct passwd *pw = getpwnam(nobody.c_str()); if (pw == NULL) return _error->Warning("No user %s, can not drop rights", nobody.c_str()); diff --git a/debian/apt.postinst b/debian/apt.postinst index 08dc60f9c..fab026504 100644 --- a/debian/apt.postinst +++ b/debian/apt.postinst @@ -28,8 +28,8 @@ case "$1" in # add unprivileged user for the apt methods adduser --force-badname --system --no-create-home \ - --quiet Debian-apt || true - chown -R Debian-apt:root \ + --quiet _apt || true + chown -R _apt:root \ /var/lib/apt/lists \ /var/cache/apt/archives -- cgit v1.2.3-70-g09d2