GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

„su:Authentifizierungsfehler“ – in Docker

Das Problem

In einigen Situationen kann ein normaler Benutzer in einem Docker-Container den Befehl „su“ nicht ausführen, um den Benutzer zu wechseln. Wenn der Befehl „su“ ausgegeben wird, wird der folgende Fehler zurückgegeben.

$ su -
Password: [entering correct password]
su: Authentication failure

Die Lösung

Die Sticky-Berechtigung kann in /usr/bin/su im Container fehlen. Mit Root-Rechten können Sie Folgendes beheben:

1. Überprüfen Sie zuerst die aktuellen Berechtigungen für die Binärdatei /usr/bin/su.

# ls -l /usr/bin/su
-rwxr-xr-x 1 root root 32208 Mar 14 01:39 /usr/bin/su

Wie wir in der obigen Ausgabe sehen können, fehlen die Sticky-Bit-Berechtigungen.

2. Fügen Sie die Sticky-Bit-Berechtigungen wie folgt zur Datei /usr/bin/su hinzu:

# chmod u+s /usr/bin/su

3. Überprüfen Sie die Berechtigungen erneut und suchen Sie nach dem „x“-Flag am Ende des Berechtigungsfelds.

# ls -l /usr/bin/su
-rwsr-xr-x 1 root root 32208 Mar 14 01:39 /usr/bin/su

4. Versuchen Sie erneut, su im Docker-Container auszuführen.

$ su - postgres
Password:
Last login: Tue Aug 6 12:13:57 JST 2019 on pts/1
postgres@[hostname] $ 


Docker
  1. Warum zeigt /bin/sh auf /bin/dash und nicht auf /bin/bash?

  2. Node.js-Konflikte:/sbin/node Vs /usr/bin/node?

  3. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

  4. Berechtigung für Composer in /usr/local/bin/ verweigert

  5. Aktualisieren von Docker auf Amazon Linux AMI

/usr/bin vs. /usr/local/bin Unter Linux?

Linux – /sbin/init existiert nicht?

cmake --version zeigt auf /usr/bin/cmake, während cmake auf /usr/local/bin zeigt

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Wann muss ich #!/bin/bash und wann #!/bin/sh verwenden?

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?