Ho provato a cambiare la shell di accesso.
Ecco /etc/passwdcome appare la prima linea (su un'installazione Debian Wheezy):
rootx:0:0:root:/root:/:zsh
Quando provo ad accedere come root:
Cannot execute zsh: No such file or directory
So che zshè disponibile:
$ which zsh
/usr/bin/zsh
Va bene, sembra logico sostituirlo zshcon il suo percorso completo. Ma come posso farlo?
Ho un altro utente sul sistema ( user), tuttavia non ha i privilegi di root e sudonon è installato sul sistema.
Supponiamo che per qualsiasi motivo (crittografia, accesso fisico, ...) non riesco ad avviare un CD live per modificare il file.
Conosco tuttavia le credenziali per l' rootaccount.
La mia domanda è: esiste un modo, anche programmatico, per avviare un processo con l' rootaccount senza prima avviare la sua shell di accesso?
su -c "<commands>") funziona ... non potremmo semplicemente usare su -c "/bin/bash"per arrivare a un bash funzionante con l'utente root ?
-cviene eseguito tramite la shell di accesso dell'utente. -spuò essere usato per usare un'altra shell ... solo se la shell di login esistente è valida o il chiamante è root.

su? ogksu? qualcosa del generesu -c 'sed -i s,root:/:zsh,root:/:/usr/bin/zsh, /etc/passwd'