Когда требуется запустить команду или просто проверить права доступа от имени другого пользователя, можно воспользоваться примерно такой командой:
su -c whoami nobody
Для обычных пользователей это вернёт ожидаемый результат. Но, для системных пользователей, вроде nobody, apache и .т.д., результат будет таким:
This account is currently not available.
Это происходит из-за того, что у этих пользователей в качестве шела указан /sbin/nologin. Тогда нужно указать настоящий шел:
su -c whoami nobody -s /bin/bash
Или даже войти в терминал от имени этого пользователя:
su - nobody -s /bin/bash
Также надо помнить, что в скриптах желательно использовать runuser вместо su:
runuser - nobody -s /bin/bash
Отличие в том, что runuser никогда не запросит пароль. Если скрипту будет не хватать прав, то в этом месте будет ошибка, но скрипт продолжит выполняться. В случае с su вылезет запрос пароля и скрипт остановится.