これまでターミナルでrootとして作業するのにsuコマンドを使っていたが、sudo -iを使った方が良いらしい。
元々Ubuntuでは安全対策として、rootパスワードの漏出を防ぐためrootのパスワードが設定されておらず、suは使えないようだ。
そういえば以前、sudoで何度もパスワードを入力するのが面倒で、sudo passwd rootでrootのパスワードを設定したような覚えがある。
sudo -iというのを知らなかったし。

もう一度rootを使えなくするにはsudo passwd -l rootでrootをロックしてやれば良いようだが、初期状態に戻したかったのでrootのパスワードを削除することにした。

結論から言えばsudo passwd -d rootでrootのパスワードを削除出来た。

他にも/etc/shadow内のrootの箇所で、初めの::で挟まれた部分の文字列を削除する方法でも良いようだ。
シングルユーザーモード禁止状態でrootのパスワードを忘れたときは

実際、/etc/shadowを開きながらsudo passwd -d rootを実行すると、ターミナル内には「パスワード期限切れ情報を変更しました」と出るが、該当箇所の文字列が削除されていた。
ターミナルでsudo passwd -S rootとしてroot のパスワード情報を見ると、「NP」(パスワードが設定されていない)になっていた。

ーー
(追記)
passwd -hpasswdコマンドのヘルプを確認出来る。

またsudo -hsudoのヘルプを見られるが、sudo -isudo -sの違い(「run login shell」と「run shell」の違い)がよく分からない。
検索してみると、大きな違いとしてsudo -iでは「ログインスクリプトが処理される」ということだが、やっぱりよく分からない。
Stray Penguin – Linux Memo (Sudo)

表示   このエントリーをはてなブックマークに追加

Comments

2014年10月2日