Page 1 sur 2

Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 18 nov. 2024 - 14:30
par silica
Bonjour,

Je suis la documentation suivante : https://www.wapt.fr/fr/doc-2.5/wapt-ser ... er-install

Et je rencontre un problème à l'exécution de la post-installation sur RHEL 8.8 :

Code : Tout sélectionner

[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
Quand j'exécute manuellement la commande qui pose problème, j'obtiens pourtant :

Code : Tout sélectionner

[user@srvwapt ~]$ sudo -iu postgres psql -t -c 'SHOW server_version;'
 10.23
Pourriez-vous m'éclairer ?

En vous remerciant par avance

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 19 nov. 2024 - 13:45
par sfonteneau
Bonjour

Je ne suis pas certain mais je crois que ce problème se présente parfois quand on fait un sudo dans un sudo

Essayer de lancer le postconf sans sudo en root directement ?

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 19 nov. 2024 - 14:38
par silica
Bonjour,

Merci pour votre réponse, je n'y avais pas pensé.

Malheureusement, j'ai le même problème en lançant la post-conf directement en root sans sudo :( :

Code : Tout sélectionner

[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

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 19 nov. 2024 - 15:05
par sfonteneau
Dans votre cas c'est la commande :

Code : Tout sélectionner

sudo -iu postgres psql -t -c 'SHOW server_version;'
Qui ne fonctionne pas dans votre cas. Vous pouvez la lancer manuellement ?

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 19 nov. 2024 - 15:19
par silica
Effectivement.

Comme indiqué dans mon poste initial, quand je la lance manuellement (en user), elle retourne :

Code : Tout sélectionner

[user@srvwapt /]$ sudo -iu postgres psql -t -c 'SHOW server_version;'
 10.23
Mais la post-conf ne fonctionne pas pour autant.

Je viens d'essayer en root (mais en laissant "sudo", comme quand le script) :

Code : Tout sélectionner

[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


Ce test m'amène a essayer de lancer la post-conf en utilisateur sans sudo (vu qu'il y a des sudo dans le script), et j'obtiens une erreur différente :

Code : Tout sélectionner

[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.

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 19 nov. 2024 - 15:31
par dcardon
Bonjour Kévin,

dans vos premier message, il semble que vous ayez une configuration selinux super serrée. Est ce que avez le profile selinux en public pour qu'on puisse l'appliquer pour voir comment gérer ce cas de figure?

Par rapport à votre dernier problème, vous pouvez rajouter un sudo devant setsebool , c'est justement pour rajouter un peu de conf selinux entre le service waptserver et le serveur nginx.

Cordialement,

Denis

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 19 nov. 2024 - 16:29
par silica
J'utilise une RHEL 8.8 avec une post-installation imposée par le département sécurité de mon organisation. Il est possible qu'il y ait des conf assez restrictives.

Mes compétences SElinux sont limitées, est-ce le résultat de la commande semanage export qui vous intéresse ?

Concerant votre dernier conseil, j'ai ajouté un sudo devant les 2 commandes setsebool dans le postconf.py

Code : Tout sélectionner

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)
Mais le résultat n'est pas mieux :(

Code : Tout sélectionner

[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.

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 19 nov. 2024 - 17:46
par dcardon
Bonjour Kévin,

il semble que votre utilisateur n'a pas les délégations sur la relance de service systemd. Vous pouvez aussi rajouter un sudo devant.

Denis

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 20 nov. 2024 - 12:29
par silica
Bonjour,

J'ai ajouté un sudo devant toutes les commandes systemctl.

On avance mais je suis maintenant bloqué à cette étape.. mon utilisateur n'a pas le droit d'ouvrir le fichier de conf postgre en écriture :

Code : Tout sélectionner

[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'

Re: Problème à l'exécution de la post-conf sur RHEL 8.8

Posté : 27 nov. 2024 - 12:24
par silica
Bonjour,

Avez-vous une idée pour débloquer la situation ?

Dois-je faire appel au Support Wapt ?

Cordialement