Polecenie su może służyć do zmiany tożsamości w sesji Linux. Jednak w tym przypadku pojawił sie błąd:
sudo su - redis This account is currently not available.
O co chodzi? Chodzi o to, że użytkownik redis nie ma przypisanego żadnego shella, a właściwie to ma… nologin:
grep redis: /etc/passwd redis:x:113:118::/var/lib/redis:/usr/sbin/nologin
Jeśli koniecznie chcesz wykonać su na to konto, to można by ten shell zmienić na /bin/bash, ale… jeśli ktoś pomyślał o takim skonfigurowaniu konta, to pewnie miał ku temu powody.
sudo usermod -s /bin/bash redis
No to co można zrobić dalej? Może wcale nie trzeba przełączać się na to konto, może po prostu wystarczy uruchamiać pojedyncze polecenia? Jeśli tak, to zobacz:
sudo -u redis -s /bin/bash -c "whoami" redis
sudo może na koncie wskazywanym opcją -u z wykorzystaniem shella wskazywanym przez opcję -s wykonać polecenie! To super. Jeśli to polecenie miałobybyć bradziej złożone, np. miałoby więcej opcji, przekierowywałoby output do pliku itp. to nie zapomnij o umieszczeniu komendy w cudzysłowach lub apostrofach.