[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug oder Feature ? mit libpam-winbind funktionirt samba passwort für ssh+sudo



Marc Haber schrieb:

> On Wed, 8 May 2024 18:16:04 +0200, Manfred Schmitt
> <expires-240630@slashproc.org> wrote:
> >Marc Haber schrieb:
> >  
> >> On Tue, 7 May 2024 09:40:41 -0700, Ulf Volmer <u.volmer@u-v.de> wrote:  
> >> >Das normale Verhalten bei Debian ist, dass die installierten Dienste 
> >> >automatisch in einer Defaultconfiguration hoch kommen. Ein 'apt install 
> >> >apache2' resultiert in einem aktiven Webserver, ein 'apt install 
> >> >openssh-server' eine aktiven ssh Server. (Das Verhalten ist bei anderen 
> >> >Distros nicht so)  
> >> 
> >> <gebetsmühle>Und ist in Debian abschaltbar</gebetsmühle>
> >>   
> >Ich will das zwar nicht aber:
> >Wie denn?  
> 
> /usr/share/doc/init-system-helpers/README.policy-rc.d.gz
> 
> Ich hoffe inständig dass das auch auf systemd-systemen funktionert.
> Ich weiß es nicht.
> 
Interessante Exkursion, danke für den pointer.

Grundsätzlich funktioniert das noch (wohl auch mithilfe des nur in
Debian-basierten Distributionen enthaltenem deb-systemd-invoke):

# echo -e '#!/bin/sh\nexit 101' > /usr/sbin/policy-rc.d
# chmod +x /usr/sbin/policy-rc.d
# apt install apache2
[...]
Enabling site 000-default.
invoke-rc.d: policy-rc.d denied execution of start.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
/usr/sbin/policy-rc.d returned 101, not running 'start apache2.service'
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service.
/usr/sbin/policy-rc.d returned 101, not running 'start apache-htcacheclean.service'
Trigger für man-db (2.11.2-2) werden verarbeitet ...
[master 71c65791] committing changes in /etc made by "apt install apache2"
[...]

Nur mit systemd, das sollte also in allen Distributionen die systemd
nutzen, funktionieren:

Wenn man den Start nur mal für ein einzelnes Paket verhindern will,
vor dem installieren des Pakets:
# systemctl mask nginx
Unit nginx.service does not exist, proceeding anyway.
Created symlink /etc/systemd/system/nginx.service → /dev/null.

Wobei man dann aber ja wissen muss wie die unit denn heißt.
Das klappte, 'apt install nginx' lief sauber durch.

Oder für alle Pakete mittels "systemd.preset - Service enablement presets":
# echo 'disable *' > /lib/systemd/system-preset/99-default.preset

Über presets geht das dann auch viel detaillierter, pro service unit.

Global deaktiviert sah hier aber erst einmal nicht so gut aus:
# apt install nginx
[...]
nginx (1.22.1-9) wird eingerichtet ...
nginx.service is a disabled or a static unit, not starting it.
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
invoke-rc.d: initscript nginx, action "start" failed.
× nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; disabled; preset: disabled)
     Active: failed (Result: exit-code) since Thu 2024-05-09 15:40:22 CEST; 25ms ago
       Docs: man:nginx(8)
    Process: 3981996 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
        CPU: 6ms

Mai 09 15:40:22 e6520 systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
Mai 09 15:40:22 e6520 nginx[3981996]: nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
Mai 09 15:40:22 e6520 nginx[3981996]: nginx: configuration file /etc/nginx/nginx.conf test failed
Mai 09 15:40:22 e6520 systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Mai 09 15:40:22 e6520 systemd[1]: nginx.service: Failed with result 'exit-code'.
Mai 09 15:40:22 e6520 systemd[1]: Failed to start nginx.service - A high performance web server and a reverse proxy server.
dpkg: Fehler beim Bearbeiten des Paketes nginx (--configure):
 »installiertes post-installation-Skript des Paketes nginx«-Unterprozess gab den Fehlerwert 1 zurück
Trigger für man-db (2.11.2-2) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
 nginx
[master cba90b21] committing changes in /etc made by "apt install nginx"
[...]

Eigentlich hätte nginx ja wg. des presets gar nicht gestartet werden
sollen: nginx.service is a disabled or a static unit, not starting it.
Dann passiert das aber doch -- und failed weil in dem host kein IPv6
aktiv ist. (Ja, ich weiß, man soll IPv6 nicht mehr deaktivieren.)

Das selbe dann nochmal mit apache probiert und da läuft das apt install
sauber durch, es wird also gar nicht erst probiert apache2 zu starten.
Tja, hab das dann nicht intensiv analysiert.
Über /usr/sbin/policy-rc.d funktionierte es auch mit nginx.

Btw: Für "Red Hat Kompatibilität" müsste dann ja auch noch eine komische
oder gleich gar keine Grundkonfiguration installiert werden ;-)

Tschau,
Manfred


Reply to: