GNU/Linux >> Znalost Linux >  >> Panels >> Docker

„su:Selhání ověření“ – v Dockeru

Problém

V některých situacích normální uživatel v kontejneru Docker nemůže spustit příkaz „su“ pro přepnutí uživatele. Když je vydán příkaz „su“, vrátí se následující chyba.

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

Řešení

Oprávnění Sticky může chybět v /usr/bin/su v kontejneru. S oprávněním root můžete opravit následující:

1. Nejprve zkontrolujte aktuální oprávnění pro binární soubor /usr/bin/su.

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

Jak můžeme vidět ve výstupu výše, chybí oprávnění pro lepivý bit.

2. Přidejte oprávnění pro sticky bit do souboru /usr/bin/su následovně:

# chmod u+s /usr/bin/su

3. Znovu ověřte oprávnění a zkontrolujte příznak „x“ na konci pole oprávnění.

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

4. Zkuste provést su znovu v kontejneru dockeru.

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


Docker
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Linux – sloučení /usr/bin A /usr/sbin do /bin (gnu/linux)?

  3. Nainstalujte binární soubory do /bin, /sbin, /usr/bin a /usr/sbin, interakce s --prefix a DESTDIR

  1. Jaký je rozdíl mezi #!/usr/bin/env bash a #!/usr/bin/bash?

  2. povolení odepřeno pro skladatele v /usr/local/bin/

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Jaké jsou významy /usr/sbin, /usr/local/sbin a /usr/local/bin?

  2. Kdy musím použít #!/bin/bash a kdy #!/bin/sh?

  3. Rozdíl mezi /bin a /usr/bin