Пока залогинен как root
хотелось бы su
конкретному обычному пользователю. Я запускаю su username
и сразу получаю подсказку обратно, все еще как root. Там не дано никакой ошибки. Мне известна старая проблема «пользователь, которому вы пытаетесь разрешить, не имеет разрешения для папки, в которой вы находитесь», но в этом сценарии это не так. Кроме того, нет отображаемой ошибки, которая всегда имеет место (насколько я знаю), когда возникает конкретная проблема с разрешениями.
Я пробовал su - username
с тем же эффектом. Команда обработана, ошибок нет, и я сразу же получаю приглашение.
Что может быть причиной такого поведения? Как я могу устранить это?
/bin/false
?sudo -u username -s
(или-i
) BTW./etc/passwd
прошлой ночью, и это было не так! =) Можете ли вы выразить это как ответ? Я приму это.Ответы:
Проверьте, в какой оболочке находится пользователь
/etc/passwd
. Если это оболочка/bin/false
(обычная оболочка для запрета входа в систему), то вы увидите поведение, которое вы описываете. В качестве альтернативы это может быть какая-то другая программа с немедленным завершением, которая дает тот же эффективный результат.источник
/bin/false
качестве оболочки, вы можете сделать это сsu - user -s /bin/sh
.Я бы предложил использовать strace для процесса su, чтобы увидеть, где происходит сбой процесса.
Должно дать вам много выходных данных для сортировки, но что-то там должно указывать, где возникает проблема.
источник
Вы должны проверить оболочку
/etc/passwd
, и, не желая быть покровительственным, проверить выводwhoami
после запускаsu
.источник
root
а не тем пользователем, на которого пытался переключиться.Проверьте системные журналы: с помощью sudo следует регистрировать все действия. Так что, если есть проблема, она должна быть написана.
источник