Я пытался выполнить некоторые действия на уровне root на моем сервере Ubuntu. Когда я переключился на пользователя root, я обнаружил, что имя пользователя отличается. Я обычно переключаюсь на пользователя root с помощью следующей команды:
sudo su -
Но приглашение показывалось как другой пользователь: webadm-dev
. Я проверил /etc/shadow
, пытался ли кто-нибудь добавить какого-либо пользователя, и ничего не нашел. Я попытался переключиться на пользователя root (после возврата обратно вошедшему в систему пользователю) с помощью следующего:
sudo su - root
Это изменилось. Я вышел обратно и попытался снова выполнить мою обычную команду:
sudo su -
, и имя пользователя снова изменилось на пользователя root. Я не могу понять поведение этой команды и это странное изменение. Пожалуйста, помогите!
РЕДАКТИРОВАТЬ 1: Поведение изменения пользователя в корневом запросе было только один раз и никогда не было видно.
Поведение sudo su -
следующие:
/etc/profile
, .profile
и .bashrc
загружаются и это возьмет пользователя к корневому каталогу корня и будет использовать среду корня.Как обсуждено в комментариях вопроса, другой подход для использования корневой оболочки должен работать sudo -i
. Поведение sudo -i
следующие:
sudo su -
-i
(моделируйте начальный вход в систему), опция выполняет оболочку, указанную записью базы данных пароля целевого пользователя как оболочка входа в систему. Это означает что определенные для входа в систему файлы ресурсов такой как .profile
, .bashrc
или .login
будет считан и выполнен оболочкой.Причина sudo -i
предпочтен sudo su -
команда, зарегистрируется как используемый пользователь, не как корень, включая легкий аудит команд (кто работал что) в пользовательской среде.
С другой стороны вопроса (почему подсказка показывает другим пользователем) это неизвестно в настоящее время, почему то поведение показали во-первых. Так как среда имела некоторое другое установленное программное обеспечение аудита (WebADM, чтобы быть конкретным), что-то было сделано тем пользователем. То поведение не было восстанавливаемо и было большим количеством пограничного случая.