Page 1 of 2
Jailed SSH - NPM hinzufügen
Posted: Sun 12. Jun 2022, 21:26
by v3ng
Hi,
Ich versuche aktuell NPM in der Jailed SSH Umgebung zu installieren.
Ich habe mich an der von Alex geschriebenen Anleitung orientiert um die Abhängigkeiten rauszufinden, allerdings beschwert er sich dennoch, dass /lib/cli.js fehlen würde.
Hat jemand eine Idee, welche Pfade hier fehlen?
Danke!
Code: Select all
iankjozadi@fra1:/www$ npm
internal/modules/cjs/loader.js:818
throw err;
^
Error: Cannot find module '../lib/cli.js'
Require stack:
- /usr/bin/npm
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
at Function.Module._load (internal/modules/cjs/loader.js:667:27)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/usr/bin/npm:2:1)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/usr/bin/npm' ]
}
Code: Select all
root@fra1:~ # locate /lib/cli.js
/usr/share/nodejs/npm/lib/cli.js
Zusätzliche Binärdateien
Code: Select all
/usr/bin/composer
/usr/bin/npm
/usr/bin/env
/usr/bin/node
Zusätzliche Pfade
Code: Select all
/usr/share/php/
/usr/share/nodejs
/usr/share/npm/
/usr/include/nodejs
/usr/include/node
/usr/lib/nodejs
Re: Jailed SSH - NPM hinzufügen
Posted: Mon 13. Jun 2022, 19:41
by v3ng
Noch ein ergänzendes Problem mit Composer und den zusätzlichen PHP Versionen:
Composer Aufruf mittels der PHP Version der Distribution funktioniert Problemlos
Code: Select all
iankjozadi@fra1:/home/users/iankjozadi$ /usr/bin/composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer 2.0.9 2021-01-27 16:09:27
Leider jedoch mit keiner der von Keyhelp bereitgestellten zusätzlichen PHP Versionen, was etwas ungünstig ist da composer oftmals PHP 8.0+ voraussetzt.
Das lässt sich zwar ignorieren, es wäre dennoch interessant zu wissen, woran es hier scheitert
Code: Select all
keyhelp-php81 /usr/bin/composer
PHP Warning: require(Composer/autoload.php): Failed to open stream: No such file or directory in /usr/bin/composer on line 9
PHP Fatal error: Uncaught Error: Failed opening required 'Composer/autoload.php' (include_path='.:') in /usr/bin/composer:9
Stack trace:
#0 {main}
thrown in /usr/bin/composer on line 9
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 09:42
by Alexander
Wie hast du Composer installiert?
Ist der Benutzer gejailed?
Ich hab jetzt einfach zu einem anderen Benutzer gewechselt und kann ihn problemlos über mit einem zusätzlichen Interpreter aufrufen.
Code: Select all
keyhelp@dev01:/$ keyhelp-php80 /usr/local/bin/composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.3.5 2022-04-13 16:43:00
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 11:24
by v3ng
Genau, der Benutzer ist gejailed.
Composer habe ich über den Paketmanager installiert
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 11:45
by Alexander
Hab ich gerade auch nochmal nachgestellt, funktioniert auch.
Installier Composer mal nach dieser Anleitung:
https://getcomposer.org/download/
Über die Paketverwaltung ist der Composer i.d.R. ohnehin zu alt für manche Sachen, die man dann später ggf. braucht.
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 12:07
by v3ng
Ich habe composer nun mal manuell installiert, interessanterweise werden nun in keinem der jailed accounts die zusätzlichen Keyhelp PHP interpreter gefunden.
Scheint allerdings nicht mit composer zusammenzuhängen
Code: Select all
keyhelp-php80
-bash: keyhelp-php80: command not found
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 12:46
by Alexander
Das war beim Testen der zusätzliche Inhalt meiner Chroot (Konfiguration -> Eingeschränkte SSH-Umgebung -> Zusätzliche Binärdateien):
Code: Select all
/usr/local/bin/composer
/opt/keyhelp/php/8.0/bin/php
Und aufgerufen hab ich mit
Code: Select all
/opt/keyhelp/php/8.0/bin/php /usr/local/bin/composer
Die "Shortcuts" hab ich jetzt nicht probiert.
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 13:00
by v3ng
Müssen die PHP interpreter einzeln inkludiert werden?
Ich hätte gedacht, Keyhelp macht das automatisch.
Ich habe nun mal alle PHP Versionen einzeln eingebunden, ein direkter Aufruf dieser funktioniert auch, allerdings weiterhin keiner der Shortcuts.
Zusätzliche Binärdateien:
Code: Select all
/usr/local/bin/composer
/usr/bin/npm
/usr/bin/env
/usr/bin/node
/opt/keyhelp/php/8.0/bin/php
/opt/keyhelp/php/8.1/bin/php
/opt/keyhelp/php/7.4/bin/php
Zusätzliche Pfade:
Composer scheint allerdings zu funktionieren, abgesehen von den extension warnings,
Code: Select all
iankzedafo@fra1:/www$ /opt/keyhelp/php/8.1/bin/php /usr/local/bin/composer
PHP Warning: PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/imap.so' (tried: /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/imap.so (libc-client.so.2007e: cannot open shared object file: No such file or directory), /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/imap.so.so (/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/imap.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/memcached.so' (tried: /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/memcached.so (libmemcached.so.11: cannot open shared object file: No such file or directory), /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/memcached.so.so (/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/tidy.so' (tried: /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/tidy.so (libtidy.so.5deb1: cannot open shared object file: No such file or directory), /opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/tidy.so.so (/opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902//opt/keyhelp/php/8.1/lib/php/extensions/no-debug-non-zts-20210902/tidy.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.3.7 2022-06-06 16:43:28
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 15:32
by tab-kh
Was meinst du mit "einzeln einbinden". Natürlich macht das Keyhelp automatisch, wenn in Einstellungen->Konfiguration->PHP-Interpreter die gewünschten Versionen ausgewählt/installiert sind. Wie hast du denn den Composer installiert, damit man mal versuchen kann das nachzuvollziehen?
Meine über Keyhelp installierten zusätzlichen PHP-Interpreter funktionieren jedenfalls, so dass ich das Problem zunächst bei Composer bzw seiner Installation oder beim verwendeten User verorten würde.
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 15:39
by Alexander
Ich habe nun mal alle PHP Versionen einzeln eingebunden, ein direkter Aufruf dieser funktioniert auch, allerdings weiterhin keiner der Shortcuts.
Damit die Shortcus funktionieren, füg mal unter "Konfiguration -> Eingeschränkte SSH-Umgebung -> Zusätzliche Pfade" das ein:
Code: Select all
/usr/bin/keyhelp-php81
/usr/bin/keyhelp-php80
/usr/bin/keyhelp-php74
Gibts einen Grund für das hier in deinen zusätzlichen Pfaden?
Nämlich erst wenn ich das mit dazu nehme, erhalte ich diese Warnings. (unable to load...)
Wenn du es wieder rausnehmen willst, gilt dieser Text im KeyHelp:
KeyHelp wrote:Beachten Sie, dass die zusätzlichen Inhalte nicht automatisch deinstalliert werden. Sobald die eingeschränkte SSH-Umgebung aktualisiert wird, bleiben die Dateien darin enthalten, bis sie für einen bestimmten Benutzer wieder vollständig deaktiviert wird.
Zum "deinstallieren" aus den Chroot-Umgebungen dann also:
1)
Code: Select all
rm -fr /home/users/*/opt/keyhelp/php
2)
Einmal unter "Konfiguration -> Eingeschränkte SSH-Umgebung" auf "Speichern" klicke, so das die zusätzlichen PHP Binaries wieder in die Chroot geschrieben werden.
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 15:55
by v3ng
/opt/keyhelp/php hatte ich während dem testen mit eingefügt um zusehen ob das Abhilfe schafft.
Nach dem manuellen löschen, sowie entfernen der Pfade scheint Composer jetzt problemlos zu laufen.
Die Shortcuts laufen nach dem manuellen hinzufügen der Pfade auch Problemlos, danke!
NPM bekomme ich allerdings weiterhin nicht zum laufen, meine zusätzlichen Pfade sehen mittlerweile auch etwas wild aus, da habe ich während dem Testen auch versucht ob das eventuell hilft
Zusätzliche Binärdateien
Code: Select all
/usr/local/bin/composer
/usr/bin/npm
/usr/bin/env
/usr/bin/node
/opt/keyhelp/php/8.0/bin/php
/opt/keyhelp/php/8.1/bin/php
/opt/keyhelp/php/7.4/bin/php
Zusätzliche Pfade
Code: Select all
/usr/share/nodejs
/usr/share/npm/
/usr/include/nodejs
/usr/include/node
/usr/lib/nodejs
/usr/bin/keyhelp-php81
/usr/bin/keyhelp-php80
/usr/bin/keyhelp-php74
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 16:49
by Alexander
Bei NPM bin ich leider raus
. Ggf. setzt hier ja jemand NPM ein und kann eher etwas dazu sagen. Oder müsste mich nochmal eingehender mit beschäftigen.
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 17:22
by Alexander
Habs jetzt hinbekommen mit NPM/Node. Sagst mir zunächst auch hier nochmal, wie du NPM/Node installiert hast?
Re: Jailed SSH - NPM hinzufügen
Posted: Tue 14. Jun 2022, 17:32
by v3ng
NPM habe ich ebenfalls über den Paketmanager installiert, allerdings aus den standard repos und nicht denen von NodeJS/NPM direkt.
Würde ich aufgrund der alten version allerdings noch ändern
Re: Jailed SSH - NPM hinzufügen
Posted: Wed 15. Jun 2022, 11:04
by Alexander
Habe jetzt doch nur node zum laufen bekommen. Bei npm kommt die Fehlermeldung wie bei dir. Hätte schwören könne, das es gestern aber klappte, heute beim nachstellen nicht mehr.