su non cambia l'utente ma non risponde neanche con un errore


56

Durante l'accesso come rootvorrei sua un utente normale specifico. Corro su usernamee ricevo immediatamente il prompt, sempre come root. Non ci sono errori. Sono a conoscenza del vecchio problema "l'utente a cui stai tentando di eseguire la richiesta non dispone dell'autorizzazione per la cartella in cui ti trovi attualmente", e non è così in questo scenario. Inoltre, non viene visualizzato alcun errore, che è sempre il caso (per quanto ne so) quando si verifica quel particolare problema di autorizzazioni.

Ho provato su - usernamecon lo stesso effetto. Il comando viene elaborato, non vengono visualizzati errori e ricevo immediatamente il prompt.

Cosa potrebbe causare questo comportamento? Come posso risolvere questo?


8
Quale shell ha l'utente? È vero /bin/false?
Camh,

4
Dovresti davvero usare sudo -u username -s(o -i) BTW.
mgorven

2
@camh facepalm Questo è tutto. Giuro che ho controllato /etc/passwdieri sera e non è stato così! =) Puoi metterlo come una risposta? Lo accetterò.
Wesley,

Risposte:


68

Controlla in quale shell ha l'utente /etc/passwd. Se la shell è /bin/false(una shell comune per non consentire gli accessi), vedrai il comportamento che descrivi. In alternativa, potrebbe essere qualche altro programma che termina immediatamente a dare lo stesso risultato efficace.


2
Questo è stato. Giuro di aver guardato per primo! =)
Wesley

25
E se hai bisogno di eseguire il debug di qualcosa sotto l'utente che ha /bin/falsecome shell, puoi farlo con su - user -s /bin/sh.
Marki555,

6

Suggerirei di usare strace sul processo su per vedere dove il processo sta fallendo.

strace su donaldduck

Dovrebbe darti MOLTO output per ordinare, ma qualcosa dentro dovrebbe indicare dove si sta verificando il problema.


1
Stupido ribasso ....
Magellan,

4

Dovresti controllare la shell /etc/passwde, senza voler patrocinare, controllare l'output di whoamidopo l'esecuzione su.


1
Non sono sicuro del motivo per cui questo sarebbe considerato condiscendente, perché di certo non l'avrei preso in quel modo. Voglio dire che posso se vuoi, ma non sarebbe la mia prima inclinazione. =) Comunque, sì, ho dimenticato di affermare che l'ho fatto solo per essere sicuro di essere quello che pensavo di essere, e che ero ancora roote non l'utente a cui stavo cercando di passare.
Wesley,

0

Controlla i log di sistema: l'uso di sudo dovrebbe registrare tutte le azioni. Quindi, se c'è un problema, dovrebbe essere scritto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.