間違って入った
chsh -s /usr/bin
の代わりに
chsh -s /bin/bash
そして今、私はルートシェルにログインできません、どうすればルートとして手動でbashシェルを起動できますか?
sudo vipwますか?
間違って入った
chsh -s /usr/bin
の代わりに
chsh -s /bin/bash
そして今、私はルートシェルにログインできません、どうすればルートとして手動でbashシェルを起動できますか?
sudo vipwますか?
回答:
rootにはアクセス権がありませんが、sudoグループのユーザーは引き続き特権コマンドを実行できます。エラーはsudoではなく、sudo chshコマンドの他の場所(chshエラーなど)にあるようです。
そのため、sudoは明らかに動作しています。
passwdファイルは次の方法で編集できます。
sudo vipw
そして、ルートシェルは手動で変更されました。
(/etc/passwd通常の最初の行)
root:x:0:0:root:/root:/bin/bash
FOMの男はvipw
vipwおよびvigrコマンドは、それぞれファイル/ etc / passwdおよび/ etc / groupを編集します。-sフラグを使用すると、これらのファイルのシャドウバージョン/ etc / shadowと/ etc / gshadowをそれぞれ編集します。プログラムは、ファイルの破損を防ぐために適切なロックを設定します。
vipwしvigr、ありがとう!私はいつも使用しましたsudo vim /etc/passwd
visudo sudo.ws/man/1.8.15/visudo.man.htmlに も興味があるかもしれません。@ tac
sudo -e、任意の編集に対してこのロック編集機能を実行します。
セキュリティ上の理由から、ログイン、テキストやグラフィックやユーティリティなどのかどうかについてはsu、およびsudoすべてのターゲットユーザのシェルを介してこれらのコマンドを実行して別のユーザーとして、コマンドを実行することができます。ターゲットユーザーのシェルが機能していない場合は、結果が表示されています:-(
まだ機能しているルートシェルがどこかで実行されている場合、またはsetuid-rootバイナリのようなもの、またはこれをバイパスできるものがある場合を除き、レスキューシステムまたはライブイメージを使用して問題をリブートして修正するのが最善の策です。
レスキューシステムを起動し、実際のシステムのルートファイルシステムをどこかにマウントします(例:)、/mnt/foo編集/mnt/foo/etc/passwdしてシェルを修正します。保存してアンマウントすれば完了です。
/etc/passwd平文ではありませんか?少なくとも10年はそういうものを見たことがない。一部のシステムではまだそれが問題ですか?とにかく、私chroot /mnt/foo chsh -s /bin/bashはその場合にトリックをするかもしれないと思いますか?
sudo usermod -s /bin/bash jdoe
シェル変わりますjdoeのをしますbash。その後sudo egrep jdoe /etc/passwd、確認できます。