キーファイルをsudoのパスワードとして使用できますか?


11

環境

私はラップトップで公共の場所で作業するのが好きですが、パスワードなしでsudoを使用するのも好きです。私が今知っていることに基づいて、私はNOPASSWD自分のsudoersファイルでオプションを使用しますが、もちろん誰でも希望どおりにsudoを使用できます。

私の頭に浮かぶ重要な考えの1つは、ロックプログラムが存在するということです。 ただし、(1)高速で、(2)パスワードを入力するよりも簡単で、(3)自分のコンテンツにアクセスしたり、悪意のある行為をしたりする心配がないため、フラッシュドライブを使用することをお勧めします(sudoだけに使用します)。物事:ラップトップは他の人々の周りに公開され、私のラップトップの唯一の知的財産は非常に基本的なAngularプロジェクトです。

さらに、私や他の人は、XまたはWayland環境を実行していないコンピューターでのsudoの誤用を防ぎたいと思うかもしれません。現在の作業には最新のWebブラウザが必要ですが、Xを使用せずにマルチプレクサを使用する機会があれば、それを行います。ラップトップは少し古くて遅いです。

質問

私がやりたいのは、キーファイルをフラッシュドライブに置き、ラップトップにいるときにフラッシュドライブを差し込んで、そこから離れたときにそれを取り出すことです。

そこで、この問題から派生した私の3つの質問を次に示します。

  1. これはsudoでそのまま可能ですか?
  2. そうでない場合、これを可能にするプログラムを作成できますか?
  3. もしそうなら、どの言語がこのプログラムを書くのに最適でしょうか?

(4. [たぶん無関係な質問]このパッケージは別個のものですか、それともsudoのフォークである必要がありますか?)

注意

関連する場合、私のセットアップはデスクトップ環境のないbspwmを備えたArch Linuxです。私の仕事のほとんどは、urxvt / vimでのWeb開発と、Chromeでのチェックです。


1
pam_usbニーズを満たしますか?
StrongBad

@StrongBadああ...うん。それはすぐに sudo だけを行うのではなく、ログインとsudoを一緒に行うように見えますが、それは私には関係ありません。ありがとう!
ゲージソレル2017年

2
わかりました、わかりやすくするために、常にログインしたままにし、アカウントでsudoを使用できないようにするだけです。
StrongBad 2017年

@StrongBad正解。
ゲージソレル2017年

ファイルrootpw内のフラグを使用/etc/sudoerspam_usbてrootログイン用に設定することで、何かを設定できる場合があります。
RubberStamp 2017年

回答:


3

NOPASSWDオプションがそれだけでは要件を満たさない理由を理解しているとは思いませんが、フラッシュドライブの存在を必要とする場合は、探していることをほぼ実行する可能性があるものを考えることができます。

これは回避策の詳細ですが、ローカル管理ユーザーを作成して、superuserそのユーザーにパスワードなしのsudo権限を与えることができます。つまり、次の行を/etc/sudoersファイルに追加します。

superuser ALL=(ALL) NOPASSWD:ALL

次に、パスワードログインを無効にし、そのユーザーのキーのみのSSH認証を構成します。つまりpasswd -l superuser、次のスタンザを実行してに追加します/etc/ssh/sshd_config

Match user superuser
PasswordAuthentication no

次に、このユーザーのSSHキーペアを作成します。公開鍵を/home/superuser/.ssh/authorized_keysフラッシュドライブに追加して、フラッシュドライブに配置します。その後、superuserアカウントを使用する場合は、フラッシュドライブを接続し、superuser秘密キーを使用してアカウントにsshします。そして、ほら!これsudoで、ユーザーのパスワードが不要になります。もちろん、終了したらシェルセッションを終了する必要があります-フラッシュドライブを取り外すだけでは十分ではありません。秘密キーをチェックし、存在しない場合(または無効な場合)に自動的に終了するプリコマンドフックをセットアップすることもできると思いますが。


なぜこれを行う必要があるのか​​を明確にする簡単な答え。このサーバーに戻るために、私はルートキーしか持っていません、ルートのsshアクセスはありません、私はec2-userにロックされています。ルートキーをサーバーにscpしたので、理想的にはこのキーを使用してsudoアクセスを取得し、問題を修正できます。
ブライアントーマス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.