Как войти в систему как другой пользователь в терминале?
В настоящее время я вошел в систему как обычный пользователь в OS X.
Я хотел бы начать сеанс терминала и войти в систему как пользователь foo
,
Это возможно?
2 ответа
Вы пытались использовать su - foo
?
Обновление на основе комментариев:
Пустой -
говорит su
сделать полный логин. Это означает (со страницы руководства),
Среда отбрасывается за исключением HOME, SHELL, PATH, TERM и USER. ДОМ и ОБОЛОЧКА изменены, как указано выше. ПОЛЬЗОВАТЕЛЬ установлен на целевой логин. PATH имеет значение ``/bin:/usr/bin''. СРОК импортируется из вашей текущей среды. Вызванная оболочка является целевым логином, и su изменит каталог на домашний каталог целевого логина.
Итак, если вам нужны какие-либо другие переменные окружения, такие как DISPLAY
чтобы открыть программы, которые используют сервер окна, вы должны опустить пустой -
,
В MacOS X используйте
login
$
login
авторизоваться:
your username
пароль:
your password
Последний вход: День Месяц Дата ЧЧ: ММ: СС на ttys000
$
whoami
ваш логин
У меня были проблемы с запуском
nano
после использования
su - admin
редактировать
.bashrc
файл. При настройке размера окна текст искажался. Ответ, который я нашел ниже, объясняет почему и ведет меня в правильном направлении.
"Эмулятор терминала отправит сигнал об изменении окна (SIGWINCH) в оболочку, которая была запущена вместе с эмулятором терминала. Предполагается, что оболочка передает его своим дочерним элементам, но когда вы перешли на другую учетную запись пользователя (используя su или иначе), он не сможет сигнализировать этой оболочке, потому что она работает от имени другого пользователя. Таким образом, оболочка su'd и любые программы, запускаемые из нее, будут продолжать использовать старый размер окна, не обращая внимания на то, что настоящее окно размер изменился ". -ТЕЛКОМ
Я пытался su
много раз, но я нашел sudo
быть проще. Ты можешь попробовать
sudo -u <username>