Ich habe einen Docker Container von ubuntu
Bild erstellt. Andere Benutzer können diesen Container unter docker exec -it CONTAINER_ID bash
anhängen. Gibt es eine Möglichkeit, Benutzernamen und Passwort für diesen Befehl hinzuzufügen? Ich möchte nicht, dass andere Benutzer auf meinen Container zugreifen. Ich möchte, wenn Benutzer docker exec
Befehl ausführen, um an meinen Container anfügen, fordert es auf, einen Benutzernamen und ein Passwort zu stellen. Benutzer können nur nach der Eingabe einen korrekten Benutzernamen und ein Passwort anhängen. Genau wie das, was SSH macht.Wie Anmeldeinformationen für `Docker exec` Befehl hinzufügen
Antwort
Der Zugriff auf den Docker-Socket (der von der Befehlszeile des Docker verwendet wird) sollte als Zugriff auf dem Host und allen auf diesem Host ausgeführten Containern behandelt werden.
Sie können den Andockdämon so konfigurieren, dass er auf einem Port mit TLS-Anmeldeinformationen und der Überprüfung von Clientzertifikaten wartet. Sobald ein Benutzer jedoch Zugriff auf alle Docker-API-Aufrufe hat, hat er Zugriff auf alle und ohne Anmeldeaufforderungen.
Sie könnten ein von Twistlock bereitgestelltes Plugin von Drittanbietern ausprobieren, das das authz-Plugin für docker implementiert. Dadurch können Sie den Zugriff auf den exec-Aufruf für bestimmte TLS-Clientzertifikate beschränken. Es wird jedoch nicht begrenzt, in welche Container sie ausgeführt werden können.
Wahrscheinlich am ehesten, was Sie wollen, kommt mit Docker EE Angebot, insbesondere UCP. Es ist ein kommerzielles Tool, aber sie bieten einen anderen API-Einstiegspunkt, der eine eigene Authentifizierung durchführt, einschließlich der Option für einen Benutzer/Passwort mit webbasierten Anfragen und RBAC-Sicherheit, mit der Sie den Zugriff auf Anrufe wie exec
auf bestimmte Benutzer und bestimmte Sammlungen beschränken können Behälter.
Wenn Sie dies von der Containerseite aus tun wollten, befürchte ich, dass das nicht funktioniert. Exec wird als Linux-Exec-Syscall direkt im Container-Namespace ausgeführt. Es gibt also im Container keine Möglichkeit, diese Art von Zugriff zu verhindern. Die beste Option besteht darin, alle Befehle aus Ihrem Image zu entfernen, die nicht in dem Container ausgeführt werden dürfen.
- 1. Docker exec npm Befehl
- 2. Das Ergebnis Docker exec Befehl
- 3. docker exec or docker container exec
- 4. Docker Remote API exec: Befehl Exit Code
- 5. Docker exec Befehl ohne die Container-ID
- 6. Docker-Umgebungsvariablen für Anmeldeinformationen verwenden
- 7. Heredoc auf Docker exec
- 8. Exec in Docker Cloud?
- 9. docker exec TERM-Einstellung
- 10. Vagrant Docker-exec
- 11. Docker exec mit -exec Option finden (finden: fehlende Argument `-exec ')
- 12. Wie exportiere ich docker exec commande in einem docker container?
- 13. Seltsames Zeichen Docker exec
- 14. Docker exec in Docker Fenster
- 15. Docker exec: ipconfig
- 16. mehrere Docker exec Befehle brechen
- 17. Überprüfen Sie den Prozess der Docker exec Befehl frei
- 18. Wie stelle ich Anmeldeinformationen für den docker awslogs-Treiber mithilfe von Docker für Mac bereit?
- 19. NodeJS exec() -Befehl für Windows und Ubuntu
- 20. Wie führe ich 2 Befehle mit Docker exec
- 21. PHP exec pgp Befehl
- 22. Exec-Befehl funktioniert nicht?
- 23. Docker: wieder anbringen zu `Docker exec` Prozess
- 24. Docker-Anmeldeinformationen in Docker-Konfiguration speichern
- 25. Piping docker run Container-ID zu docker exec
- 26. Docker laufen, Docker exec und Protokolle
- 27. Ausführen von zwei Befehlen mit Docker exec
- 28. Wie ein Timeout für PHP Exec() Befehl unter Windows einrichten?
- 29. Befehl nicht gefunden - Fehler in exec() Befehl
- 30. Flucht Apostroph in Docker Befehl
Was genau versuchen Sie zu tun? –
Sorry, ich habe es nicht klar gemacht. Ich habe meinen Beitrag aktualisiert und möchte mit dem 'docker exec' Befehl einen Benutzernamen und ein Passwort eingeben. Genau wie 'ssh' oder' telnet' Befehl. –
Docker exec unterscheidet sich sehr von SSH - Sie öffnen keine Shell, Sie führen buchstäblich nur einen willkürlichen Prozess aus. Es hört sich so an, als ob Sie nicht zulassen sollten, dass andere Benutzer Ihren Container anfassen. –