web-dev-qa-db-ja.com

passwdなしでルートアクセスを許可する

VirtualBox Ubuntuゲスト(14.04)は、テスト目的でのみ使用してください。
rootユーザーは独自のパスワードを持っているので、別のターミナル(su -)にrootとしてログインするか、ログインセッションから直接(たとえばCtrl-Alt -F4)。

$ su -
Password: <current root password>
# echo Works!

VBテストシステムであり、rootユーザーはセキュリティを必要としないため、su -またはloginをルートとしてできるようにしたいつまり、rootパスワードなしで。

だから、rootとして試してみた

# passwd -d root

rootパスワードを削除するには-/ etc/shadow(::)に従って動作するようです

root::16304:0:99999:7:::

しかし、su -をしようとすると、パスワードの入力を求められます。enter(パスワードなし)を押すだけです

$ su -
Password: 
su: Authentication failure

しかし、それはsではありません。

rootがパスワードなしでログイン/ suできるように設定する必要があります。
それはどこにありますか?

2
Ring Ø

警告; VM(悪い習慣を取り除くのは難しい...)であっても、それほど素晴らしいアイデアではないと思うので、テストされていません。

これはPAMのものだと思います(PAM = プラガブル認証モジュール )。

/etc/pam.dには、ユーザーの認証方法をシステムに指示するすべてのPAM構成ファイルがあります。現在、パスワード「unixスタイル」をチェックするモジュールはpam_unix.soであり、このmanページにはオプションがあります:

  nullok
       The default action of this module is to not permit the user access
       to a service if their official password is blank. The nullok
       argument overrides this default and allows any user with a blank
       password to access the service.

   nullok_secure
       The default action of this module is to not permit the user access
       to a service if their official password is blank. The nullok_secure
       argument overrides this default and allows any user with a blank
       password to access the service as long as the value of PAM_TTY is
       set to one of the values found in /etc/securetty.

したがって、上記のファイルでpam_unix.soのすべての出現を見つけ、エントリにオプションnullokを追加する(またはnullok_securenullokに変更する)のは問題だと思う。

この投稿へ ファイルは/etc/pam.d/common-authである必要があります---しかし、UbuntuではVCが/etc/securettyリストにあるため、これについてはわかりませんそのため、rootのnullパスワードはそこから機能するはずですが(ターミナルエミュレータからではありません)、SOは機能しないことを示します。

そのため、少しの実験が必要です;-)。

5
Rmano

試してみる

Sudo -s

Rootとしてログインするためにパスワードを要求します。

次に、passwdを使用してルートパスワードを変更します。

sudoユーザーでない場合

タイプ

Sudo visudo

最後にこの行を追加します

<username> ALL=NOPASSWD: ALL

それから ctrl+x 終了するには、y 変更を保存する

その後、Sudo -sを再試行します。パスワードを要求せずにrootにログインします

4
PoNs