Seite 1 von 2

Problem beim Ausführen von postconf unter RHEL 8.8

Veröffentlicht: 18. November 2024 - 14:30 Uhr
durch Siliciumdioxid
Guten Morgen,

Ich richte mich nach der folgenden Dokumentation: https://www.wapt.fr/fr/doc-2.5/wapt-ser ... er-install

Und ich stoße beim Ausführen der Nachinstallationsroutine unter RHEL 8.8 auf ein Problem:

Code: Alle auswählen

[user@srvwapt ~]$ sudo /opt/wapt/waptserver/scripts/postconf.sh --cspn-toe
Waptserver
    Version: 2.5.5.15697-20422a0b


Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 1316, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 885, in main
    ensure_postgresql_db(db_name=server_config['db_name'], db_owner=server_config['db_name'], db_password=server_config['db_password'])
  File "/opt/wapt/waptserver/scripts/postconf.py", line 592, in ensure_postgresql_db
    migrate_db_if_needed()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 514, in migrate_db_if_needed
    if get_current_running_postgresql_version() < Version('10'):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 71, in get_current_running_postgresql_version
    version = run("sudo -iu postgres psql -t -c 'SHOW server_version;'").split('(',1)[0].strip()
  File "/opt/wapt/waptutils.py", line 2177, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command b"sudo -iu postgres psql -t -c 'SHOW server_version;'" returned non-zero exit status 126.
Output:/etc/profile: line 31: /usr/bin/id: Permission denied
/etc/profile.d/colorgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorxzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied   ┌────────────────────────────┐
/etc/profile.d/lang.sh: line 11: /usr/bin/sed: Permission denied                                      │ SELinux correctly          │
/etc/profile.d/which2.sh: line 4: /bin/readlink: Permission denied                                    │ configured for Nginx       │
/etc/profile.d/which2.sh: line 4: /bin/basename: Permission denied                                    │ reverse proxy              │
/etc/profile: line 31: /usr/bin/id: Permission denied                                                 │                            │
/etc/profile.d/colorgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied    │                            │
/etc/profile.d/colorxzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied  ├────────────────────────────┤
/etc/profile.d/colorzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied   │         <  OK  >           │
/etc/profile.d/lang.sh: line 11: /usr/bin/sed: Permission denied                                      └────────────────────────────┘
/etc/profile.d/which2.sh: line 4: /bin/readlink: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/basename: Permission denied
-bash: /bin/psql: Permission denied
Wenn ich den problematischen Befehl jedoch manuell ausführe, erhalte ich Folgendes:

Code: Alle auswählen

[user@srvwapt ~]$ sudo -iu postgres psql -t -c 'SHOW server_version;'
 10.23
Könnten Sie mich aufklären?

Vielen Dank im Voraus

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 19. November 2024 – 13:45 Uhr
von Sfonteneau
Hallo,

ich bin mir nicht ganz sicher, aber ich glaube, dieses Problem tritt manchmal auf, wenn man `sudo` innerhalb eines anderen `sudo`-Befehls verwendet.

Versuchen Sie, `postconf` direkt als Root ohne sudo-Rechte auszuführen.

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 19. November 2024 – 14:38 Uhr
durch Siliciumdioxid
Guten Morgen,

Vielen Dank für Ihre Antwort, daran hatte ich nicht gedacht.

Leider habe ich dasselbe Problem, wenn ich die Nachkonfiguration direkt als Root ohne sudo starte :( :

Code: Alle auswählen

[root@srvwapt /]# /opt/wapt/waptserver/scripts/postconf.sh --cspn-toe
Waptserver
    Version: 2.5.5.15697-20422a0b


Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 1316, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 885, in main
    ensure_postgresql_db(db_name=server_config['db_name'], db_owner=server_config['db_name'], db_password=server_config['db_password'])
  File "/opt/wapt/waptserver/scripts/postconf.py", line 592, in ensure_postgresql_db
    migrate_db_if_needed()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 514, in migrate_db_if_needed
    if get_current_running_postgresql_version() < Version('10'):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 71, in get_current_running_postgresql_version
    version = run("sudo -iu postgres psql -t -c 'SHOW server_version;'").split('(',1)[0].strip()
  File "/opt/wapt/waptutils.py", line 2177, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command b"sudo -iu postgres psql -t -c 'SHOW server_version;'" returned non-zero exit status 126.
Output:/etc/profile: line 31: /usr/bin/id: Permission denied
/etc/profile.d/colorgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorxzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/lang.sh: line 11: /usr/bin/sed: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/readlink: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/basename: Permission denied
/etc/profile: line 31: /usr/bin/id: Permission denied
/etc/profile.d/colorgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorxzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/lang.sh: line 11: /usr/bin/sed: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/readlink: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/basename: Permission denied
-bash: /bin/psql: Permission denied

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 19. November 2024 - 15:05 Uhr
von Sfonteneau
In Ihrem Fall ist es der Befehl:

Code: Alle auswählen

sudo -iu postgres psql -t -c 'SHOW server_version;'
Das funktioniert in Ihrem Fall nicht. Können Sie es manuell starten?

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 19. November 2024 – 15:19 Uhr
durch Siliciumdioxid
Effektiv.

Wie bereits in meinem ersten Beitrag erwähnt, erhalte ich beim manuellen Starten (als Benutzer) folgende Fehlermeldung:

Code: Alle auswählen

[user@srvwapt /]$ sudo -iu postgres psql -t -c 'SHOW server_version;'
 10.23
Aber auch der Ansatz nach der Konferenz funktioniert nicht.

Ich habe es gerade als Root ausprobiert (aber "sudo" wie im Skript beibehalten):

Code: Alle auswählen

[root@srvwapt /]# sudo -iu postgres psql -t -c 'SHOW server_version;'
/etc/profile: line 31: /usr/bin/id: Permission denied
/etc/profile.d/colorgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorls.sh: line 26: /usr/bin/tty: Permission denied
/etc/profile.d/colorxzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/lang.sh: line 11: /usr/bin/sed: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/readlink: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/basename: Permission denied
/etc/profile: line 31: /usr/bin/id: Permission denied
/etc/profile.d/colorgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorls.sh: line 26: /usr/bin/tty: Permission denied
/etc/profile.d/colorxzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/colorzgrep.sh: /usr/libexec/grepconf.sh: /bin/sh: bad interpreter: Permission denied
/etc/profile.d/lang.sh: line 11: /usr/bin/sed: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/readlink: Permission denied
/etc/profile.d/which2.sh: line 4: /bin/basename: Permission denied
-bash: /bin/psql: Permission denied


Dieser Test veranlasst mich, die Nachkonfiguration als Benutzer ohne sudo auszuführen (da das Skript sudo-Befehle enthält), und ich erhalte eine andere Fehlermeldung:

Code: Alle auswählen

[user@srvwapt /]$ /opt/wapt/waptserver/scripts/postconf.sh --cspn-toe
Waptserver
    Version: 2.5.5.15697-20422a0b


Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 1316, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 858, in main
    selinux_rules()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 126, in selinux_rules
    run('setsebool -P httpd_can_network_connect 1')
  File "/opt/wapt/waptutils.py", line 2177, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command b'setsebool -P httpd_can_network_connect 1' returned non-zero exit status 255.
Output:Cannot set persistent booleans, please try as root.

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 19. November 2024 – 15:31 Uhr
von dcardon
Hallo Kevin,

deiner ersten Nachricht nach zu urteilen, verwendest du eine sehr restriktive SELinux-Konfiguration. Hast du ein öffentliches SELinux-Profil, damit wir es anwenden und sehen können, wie wir dieses Problem lösen?

Zu deinem letzten Problem: Du kannst `sudo` vor `setsebool` einfügen; damit lässt sich eine SELinux-Konfiguration zwischen dem waptserver-Dienst und dem nginx-Server hinzufügen.

Viele Grüße,

Denis

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 19. November 2024 – 16:29 Uhr
durch Siliciumdioxid
Ich verwende RHEL 8.8 mit einer von der Sicherheitsabteilung meines Unternehmens vorgeschriebenen Nachinstallation. Möglicherweise gibt es einige recht restriktive Konfigurationen.

Meine SELinux-Kenntnisse sind begrenzt; liegt das an dem Befehl? Exportwoche An wem bist du interessiert?

Zu Ihrem letzten Vorschlag: Ich habe in postconf.py vor den beiden `setsebool`-Befehlen ein `sudo` eingefügt

Code: Alle auswählen

def selinux_rules():
    """ SELinux httpd security rules """
    run('sudo setsebool -P httpd_can_network_connect 1')
    run('sudo setsebool -P httpd_setrlimit on')
    for sepath in ('wapt', 'wapt-host', 'waptwua','wads'):
        try:
            run('semanage fcontext -a -t httpd_sys_content_t "/var/www/html/%s(/.*)?"' % sepath)
        except:
            pass
        run('restorecon -R -v /var/www/html/%s' % sepath)
Aber das Ergebnis ist nicht besser :(

Code: Alle auswählen

[user@srvwapt /]$ /opt/wapt/waptserver/scripts/postconf.sh --cspn-toe
Waptserver
    Version: 2.5.5.15697-20422a0b


Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 1316, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 885, in main
    ensure_postgresql_db(db_name=server_config['db_name'], db_owner=server_config['db_name'], db_password=server_config['db_password'])
  File "/opt/wapt/waptserver/scripts/postconf.py", line 598, in ensure_postgresql_db
    run('systemctl start %s' % PGSQL_SVC)
  File "/opt/wapt/waptutils.py", line 2177, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command b'systemctl start postgresql' returned non-zero exit status 1.
Output:Failed to start postgresql.service: Interactive authentication required.
See system logs and 'systemctl status postgresql.service' for details.

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 19. November 2024 – 17:46 Uhr
von dcardon
Hallo Kevin,

dein Benutzer scheint nicht die erforderlichen Berechtigungen zum Neustart des systemd-Dienstes zu haben. Du kannst auch `sudo` davor setzen.

Denis

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 20. November 2024 - 12:29 Uhr
durch Siliciumdioxid
Guten Morgen,

Ich habe allen systemctl-Befehlen ein sudo vorangestellt.

Wir kommen voran, aber ich hänge jetzt an diesem Schritt fest... mein Benutzer hat keine Schreibberechtigung für die PostgreSQL-Konfigurationsdatei:

Code: Alle auswählen

[user@srvwapt ~]$ /opt/wapt/waptserver/scripts/postconf.sh --cspn-toe
[*] postgresql - we suppose that the db does not exist either (or the installation has been screwed up)
[*] postgresql - creating db wapt
[ ] postgresql jsquery extension is not available. This is not mandatory. Check if a package like postgresql-11-jsquery is available for your distribution
Upgrading DB structure.
[*] postgresql changing max_connections parameter in postgres config file /var/lib/pgsql/data/postgresql.conf
Waptserver
    Version: 2.5.5.15697-20422a0b


Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 1316, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 889, in main
    configure_max_connections()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 716, in configure_max_connections
    with open(config_file_path, "r+") as config_file:
PermissionError: [Errno 13] Permission denied: '/var/lib/pgsql/data/postgresql.conf'

Betreff: Problem beim Ausführen von post-conf unter RHEL 8.8

Veröffentlicht: 27. November 2024 - 12:24 Uhr
durch Siliciumdioxid
Hallo,

haben Sie eine Idee, wie ich dieses Problem lösen kann?

Sollte ich den Wapt-Support kontaktieren?

Viele Grüße