У меня есть несколько псевдонимов и модификаций для ls, которые я хотел бы иметь в наличии всегда. Можно ли установить переменные окружения для использования, когда я вошел в систему как root после того, как sudo sudo su
?
4 ответа
Помимо того, что sudo su является ужасной идеей, поскольку она обходит аудит, который предоставляет sudo, вы можете сделать это одним из двух способов: либо изменить .profile root, который затрагивает всех пользователей sudo, либо настроить скрипт оболочки, который вы используете. запустите sudo su, чтобы получить переменные и псевдонимы, которые вам нужны.
"Su" в командах su и sudo , хотя и выглядит одинаково, означает разные вещи.
su обозначает замещающего пользователя и чаще упоминается как пользователь переключения. "sudo" означает "super user do" или "сделать это действие как super user".
Если вы выполните команду, зарезервированную для пользователя root с помощью sudo, будет использоваться ваша среда (пути, переменные и т.д.), То есть та, которая установлена в файле /Users/$your_username/.profile.
Если вы введете su, вы переключитесь на пользователя root и сможете получать доступ к файлам и выполнять двоичные файлы, ограниченные этим пользователем, но вы будете делать это в среде вашего последнего стандартного пользователя.
Если вы наберете su- (обратите внимание на минус), вы переключитесь на пользователя root и получите его среду.
На Mac пользователь root, расположенный в /var /root, НЕ имеет файла .profile. Обходной путь - создать его (вы можете скопировать файл .profile вашего пользователя), поместить его в /var /root / и добавить в него любые псевдонимы, пути и т.д., Которые вам нужны.
Чтобы вызвать файл, вам нужно будет выйти из системы как пользователь root и снова войти в систему.
Не существует .profile только для su, но вы можете написать .profile, который обнаружит, если вы судите.
Если вы su'd, то "who is i | awk '{print $ 1}'" будет пользователем, из которого вы пришли, а whoami будет пользователем, которым вы стали.
Если они разные, значит, так и есть, так что делай, что нужно.
Как jRandomUser, набрав
sudo bash
(или какую бы оболочку вы не использовали) делает вас "root" с профилем оболочки jRandomUser. Тип
exit
когда вы закончите, чтобы сбросить свои привилегии и вернуться к работе в качестве jRandomUser. Очевидно, использовать с осторожностью. Мой .bashrc устанавливает мое приглашение в яркий цвет всякий раз, когда мой UID == 0.