コンテキスト
私は一般的にラップトップで作業するのが好きですが、パスワードなしでsudoを使用するのも好きです。私が今知っているところによれば、NOPASSWD
私のファイルにあるオプションを使用しますがsudoers
、もちろん誰でも好きなようにsudoを使うことができます。
重要なアイデア思ったことロックプログラムがあります。 しかし、私は(1)より速く、(2)パスワードを入力するよりも簡単です。使用)。 :ラップトップは他の人の周りに公開され、私のラップトップの唯一の知的財産は非常に基本的なAngularプロジェクトです。
また、私や他の人は、XやWayland環境を実行していないコンピュータでsudoの乱用を防ぐことができます。現在の作業には最新のWebブラウザが必要ですが、Xを使用せずにマルチプレクサのみを使用する機会がある場合は、そうします。私のラップトップは少し古く、遅いです。
質問
私がやりたいことは、キーファイルをフラッシュドライブに挿入し、ノートブックの前にあるときにフラッシュドライブを接続し、ノートブックから空にしたときに取り出すことです。
したがって、この質問から派生した3つの質問は次のとおりです。
- sudoを使ってこれを達成できますか?
- そうでなければ、これを行うプログラムを書くことはできますか?
- それでは、このプログラムを書くのに最適な言語は何ですか?
(4. [おそらく関係のない質問] このパッケージはスタンドアロンにすることができますか、それともsudoのフォークでなければなりませんか?)
ノート
関連している場合、私の設定はデスクトップ環境ではなくbspwmを持つArch Linuxです。私の仕事のほとんどは、urxvt / vimでのWeb開発とChromeで確認することです。
ベストアンサー1
そのオプション自体が好きなように機能しない理由がわかりません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
ユーザーのパスワードなしの設定が完了しました。もちろん、作業が終わったらシェルセッションを終了する必要があります。フラッシュドライブを取り外すだけでは不十分です。私も設定できると思いますが、事前コマンドフック秘密鍵を確認し、秘密鍵が存在しないか無効な場合は自動的に終了します。