su не змінює користувача, але також не відповідає на помилку


56

Під час входу в систему, як rootя хотів би suпевному постійному користувачеві. Я біжу su usernameі негайно отримую відповідне повернення, як і раніше, як root. Помилки не вказано. Я знаю про стару проблему "користувач, якого ти намагаєшся зробити, не має дозволу на папку, в якій ти зараз перебуваєш", і це не так у цьому випадку. Крім того, помилка не відображається, що завжди має місце (наскільки я знаю), коли виникає конкретна проблема дозволів.

Я намагався su - usernameз тим же ефектом. Команда обробляється, помилок не бачиться, і я одразу отримую відповідь.

Що може спричинити таку поведінку? Як я можу це усунути?


8
Яку оболонку має користувач? Це /bin/false?
camh

4
Ви дійсно повинні використовувати sudo -u username -s(або -i) BTW.
mgorven

2
@camh facepalm Це було все. Клянусь, я перевірив /etc/passwdминулу ніч, і це було не так! =) Чи можете ви поставити це як відповідь? Я прийму це.
Веслі

Відповіді:


68

Перевірте, яку оболонку має користувач /etc/passwd. Якщо оболонка є /bin/false(звичайна оболонка, яка забороняє входити в систему), то ви побачите поведінку, яку ви описуєте. Крім того, це може бути якась інша негайно припинена програма, яка дає такий же ефективний результат.


2
Це було все. Клянусь, я подивився першим! =)
Веслі

25
І якщо вам потрібно налагодити щось під користувачем, яке має /bin/falseсвою оболонку, ви можете це зробити su - user -s /bin/sh.
Marki555

6

Я б запропонував використати strace на процесі su, щоб побачити, де цей процес не вдається.

strace su donaldduck

Потрібно дати вам ЛОТИ виводу для сортування, але щось там повинно вказувати, де виникає проблема.


1
Дурна відмітка ....
Магеллан

4

Ви повинні перевірити оболонку /etc/passwdі, не бажаючи патронізувати, перевірити вихід whoamiпісля запуску su.


1
Не впевнений, чому це вважатиметься покровительським, бо я, звичайно, не сприйняв би це так. Я маю на увазі, що я можу, якщо ти хочеш, але це не буде моїм першим нахилом. =) У будь-якому випадку, так, я забув сказати, що зробив це лише для того, щоб переконатися, що я був тим, ким я вважав, що я є, і я був все ще, rootа не користувач, до якого намагався перейти.
Веслі

0

Перевірте системні журнали: за допомогою sudo слід записувати всі дії. Тож якщо є проблема, про це слід писати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.