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] $
Jak nakonfigurovat síťové obory názvů v kontejnerech Docker
Jak pozastavit a obnovit kontejnery Docker