runas_default が別のユーザーの場合 sudo -l

runas_default が別のユーザーの場合 sudo -l

何らかの理由でシステム管理コマンドを利用するには、二重要素アカウントを使用する必要があります。このアカウントは通常のログインアカウントとは異なります。たとえば、標準ログインが「alice」の場合、2段階のアカウントは「alice2」になります。

sudo次のようなファイルがあります(許可されたユーザーごとに1つずつ、/ etc / sudoers.dにあります)。

Defaults:alice  runaspw,runas_default=alice2

alice ALL=(alice2) /bin/bash

これは、「alice2」のパスワード(2段階のパスワード)を入力するように求めるメッセージが「alice」に表示され、「alice」が「alice2」アカウントに変更されるためです。そこには、alice2がsudoパスワードなしですべてのコマンドを使用できるようにする別のファイルがあります。sudo

したがって、二重認証に関する限り、すべてが大丈夫です。ただし、この2段階の方法(特定のコンピュータで特定のサービスを再起動するなど)に限定されないいくつかのコマンドがあります。私の考えには私にもこのような職業があるようだ。

Cmnd_Alias  SRVCHTTPD = /usr/bin/systemctl restart httpd
Defaults!SRVCHTTPD  !runaspw,runas_default=root

ここでは、「alice」というユーザーに「alice」のパスワードを入力するように求められ、サービスを再起動できます。

今私の質問が出てきます。ユーザーがsudo -l実行できるコマンドを確認すると、デフォルトのアカウント(alice)の代わりに2段階のアカウント(alice2)を入力するように求められます。コマンドエイリアスを追加してみました(sudo -lに関するアドバイスに従ってください。)、本質的に上記の行をコピーします。

Cmnd_Alias SUDOLIST = /usr/bin/sudo -l
Defaults!SUDOLIST !runaspw,runas_default=root

ただし、このアプローチは機能せず、ユーザーには2段階のアカウントパスワードを入力するように求められます。

私がここで間違っていることについての提案を送ってくれてありがとう。

関連情報