1

У меня есть несколько псевдонимов и модификаций для ls, которые я хотел бы иметь в наличии всегда. Можно ли установить переменные окружения для использования, когда я вошел в систему как root после того, как sudo sudo su?

4 ответа4

1

Помимо того, что sudo su является ужасной идеей, поскольку она обходит аудит, который предоставляет sudo, вы можете сделать это одним из двух способов: либо изменить .profile root, который затрагивает всех пользователей sudo, либо настроить скрипт оболочки, который вы используете. запустите sudo su, чтобы получить переменные и псевдонимы, которые вам нужны.

1

"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 и снова войти в систему.

1

Не существует .profile только для su, но вы можете написать .profile, который обнаружит, если вы судите.

Если вы su'd, то "who is i | awk '{print $ 1}'" будет пользователем, из которого вы пришли, а whoami будет пользователем, которым вы стали.

Если они разные, значит, так и есть, так что делай, что нужно.

0

Как jRandomUser, набрав

sudo bash

(или какую бы оболочку вы не использовали) делает вас "root" с профилем оболочки jRandomUser. Тип

exit

когда вы закончите, чтобы сбросить свои привилегии и вернуться к работе в качестве jRandomUser. Очевидно, использовать с осторожностью. Мой .bashrc устанавливает мое приглашение в яркий цвет всякий раз, когда мой UID == 0.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .