rootログインシェルを起動せずにrootとしてプロセスを開始できますか?

rootログインシェルを起動せずにrootとしてプロセスを開始できますか?

ログインシェルを変更してみました。

最初の行は次のようになります/etc/passwd(Debian Wheezyをインストールするとき):

rootx:0:0:root:/root:/:zsh

ログインしようとするとroot

Cannot execute zsh: No such file or directory

利用可能であることがわかっていますzsh:

$ which zsh
/usr/bin/zsh

zshまあ、フルパスに変えるのは論理的なようです。しかし、どうすればいいですか?

私のシステムに別のユーザー()がありますが、userroot権限がなく、sudoシステムにインストールされていません。

何らかの理由で(暗号化、物理アクセス...)ファイルを変更するためにLive CDから起動できないとしましょう。

しかし、私はそのアカウントの資格情報を知っていますroot

root私の質問は:プログラムで最初にログインシェルを起動せずにアカウントプロセスを開始する方法はありますか?

ベストアンサー1

su許可を受ける

次のコマンドを使用して、すべてのユーザーのシェルを変更できます。

su -c "/usr/bin/chsh -s /bin/bash root"

物理的にアクセスできる場合

Grubの起動中にコンソールへのアクセス権があり、Grubメニューへのアクセスを妨げるパスワードがない場合は、どのシステムにも入ることができます。

システムの初回起動中にGrubメニューが表示されたら、メニューに移動してカーネル行を編集します(ekeypress次のいずれかを追加して、カーネルがシングルユーザーモードで起動するようにします)。

  • 一つ
  • 初期化=/bin/sh
  • 1

行は次のとおりです。

 kernel /vmlinuz-2.6.15-27-386 root=/dev/mapper/Ubuntu-root ro init=/bin/bash

Grubでは、次のようになります。

       グラップSS

変更が完了したら、カーネルを起動します(キーを押しますb)。

/etc/passwdこれにより、vi / vimを使用してファイルを必要に応じて変更できるシェルを介してシステムに一時的にアクセスできます。reboot完了したら入力してください。

おすすめ記事