Masalahnya
Dalam beberapa situasi, pengguna normal dalam wadah Docker tidak dapat menjalankan perintah 'su' untuk beralih pengguna. Ketika perintah 'su' dikeluarkan, kesalahan berikut kembali.
$ su - Password: [entering correct password] su: Authentication failure
Solusinya
Izin lengket mungkin tidak ada di /usr/bin/su di dalam wadah. Dengan hak akses root, Anda dapat memperbaiki sebagai berikut:
1. Pertama, periksa izin saat ini untuk file biner /usr/bin/su.
# ls -l /usr/bin/su -rwxr-xr-x 1 root root 32208 Mar 14 01:39 /usr/bin/su
Seperti yang dapat kita lihat pada output di atas, izin sticky bit tidak ada.
2. Tambahkan izin sticky bit ke file /usr/bin/su sebagai berikut:
# chmod u+s /usr/bin/su
3. Verifikasi izin lagi dan periksa tanda “x” di akhir bidang izin.
# ls -l /usr/bin/su -rwsr-xr-x 1 root root 32208 Mar 14 01:39 /usr/bin/su
4. Coba lakukan su lagi di dalam wadah buruh pelabuhan.
$ su - postgres Password: Last login: Tue Aug 6 12:13:57 JST 2019 on pts/1 postgres@[hostname] $