sudo
特権ユーザーとしてログインするときに使用する別のパスワードでパスワードを設定してみました。
いくつかの調査をしてみましたが、答えが見つかりませんでした。sudo
これらの設定はサポートされていますか?
パスワードを忘れると、すべてが失われます。誰かがroot
同じパスワードでログインして自分自身を宣伝できます。
sudo
root
発信者のパスワード()の代わりにパスワードを尋ねるオプションがありますがrootpw
、root
パスワードを共有することは絶対オプションではないので設定しておきましたsudo
。
過去にやったことconfig 2FA
があり、うまくいきましたが、自動化という目標を達成できませんでした。たとえば、スクリプトを使用して12台のサーバーで特権コマンドを実行したい場合は、expect
addを使用して2FA
これを行うことはできません。
sudo
私が見つけた最も近い解決策は、SSH秘密鍵のみを許可し(ログイン)、パスワードとは異なるキーでパスワードを設定することです。それでも緊急状況に対応するキーがないと、コンピュータにログインできないため、あまり快適ではありません。
ベストアンサー1
ユーザーパスワードの代わりにルートパスワードの入力を求めるメッセージを表示するには、いくつかのオプションを入力します/etc/sudoers
。rootpw
具体的には、ルートパスワードを入力するように求められます。はいrunaspw
、targetpw
そうです。詳細については、sudoers(5) マンページを参照してください。
それ以外の場合、sudoは他のすべてと同様にPAMを介して認証します。 PAMはアプリケーション固有の設定をサポートします。 Sudoの設定は(少なくとも私のDebianシステムでは)/etc/pam.d/sudo
次のようになります。
$ cat sudo
#%PAM-1.0
@include common-auth
@include common-account
@include common-session-noninteractive
つまり、デフォルトではシステムの他のすべてと同様に認証されます。その行を変更@include common-auth
し、PAM(およびsudo)に代替パスワードソースを使用させることができます。 common-authでコメントアウトされていない行は次のとおりです(デフォルトではLDAPなどを使用している場合は異なります)。
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
pam_userdb.so
代わりに、例を使用して、pam_unix.so
Berkeley DBデータベースに代替パスワードを保存できます。
はい
私はディレクトリ/var/local/sudopass
、所有者/グループroot:shadow
、スキーマを作成しました2750
。その中にパスワードデータベースファイルを作成しましたdb5.1_load
(Debian Wheezyで使用されているBerkeley DBのバージョンです)。
#マスク0027 #db5.1_load -h /var/local/sudopass -t hash -T passwd.db アンソニー WMaEFvCFEFplI ^D
ハッシュはmkpasswd -m des
パスワード「password」を使用して生成されます。非常に安全! (残念ながら、pam_userdbはcrypt(3)
古代のハッシュよりも良いものをサポートしていないようです)。
さて、/etc/pam.d/sudo
その@include common-auth
行を編集して削除し、所定の位置に置きます。
auth [success=1 default=ignore] pam_userdb.so crypt=crypt db=/var/local/sudopass/passwd
auth requisite pam_deny.so
auth required pam_permit.so
pam_userdbは.db
渡されたデータベースに拡張機能を追加するため、オフにする必要があります.db
。
~によるとデニサウア存在するコメント/etc/pam.d/sudo-i
、同じ修正を行う必要があるかもしれません。
password
sudoの場合、実際のログインパスワードの代わりに次のものを使用する必要があります。
アンソニー@sudotest:~$ sudo -K anthony@sudotest:~$ sudo echo -e '\nit ジョブ' [sudo] Anthonyのパスワード:passwordRETURN 効率的な