PAMを使用してログインしたときとは異なるsudoパスワードを試してみました。
私はもともとこの記事を書きました。
sudoパスワードをログインパスワードとは異なる設定にしてください。
残念ながら、これを行うたびに認証エラーが発生し、何が問題なのかわかりません。パスワードを誤ってハッシュしたか、データベースに誤って追加した可能性がありますが、問題が何であるかわかりません。
sudoで読んだ設定
session required pam_env.so readenv=1 user_readenv=0
session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth required pam_userdb.so crypt=crypt db=/var/local/sudopass/passwd.db
\#@include common-auth
@include common-account
@include common-session-noninteractive
テスト目的でパスワードを設定し、passwd -m des password
db5.3を使用してpasswd.dbデータベースを作成しました。
db5.3_load -h /var/local/sudopass -t hash -T passwd.db
私のユーザー名
73o8ECeyEW3Y2(パスワードハッシュ)
これにより認証エラーが発生します。このデータベースを自分のホームディレクトリに配置すると、PAMは権限の設定方法に関係なくデータベースを見つけることができません。 )
現在のauth.logダンプ
認証エラーが発生するのに問題がありますが、これは
Oct 18 12:07:43 az-GlAdOS-mk11-m sudo: pam_userdb(sudo:auth): Verify user
パスワードを含むauth.log az 'の現在の問題です。
Oct 18 12:07:43 az-GlAdOS-mk11-m sudo: pam_userdb(sudo:auth): user_lookup: `/var/local/sudopass/passwd.db' データベースを開くことができません。そのファイルまたはディレクトリはありません。
10月18日 12:07:43 az-GlAdOS-mk11-m sudo: az: PAM 認証エラー: TTY=pts/4; user = root;空/ナノ/etc/pam.d/sudo`
答え1
targetpw
のオプションを使用すると、sudoers
sudoは自分のパスワードを要求せず、代わりにコマンドを実行したいユーザーのパスワードを要求します(ほとんどの場合root
)。その後、自分のユーザーとユーザーアカウントにroot
異なるパスワードを使用できます。
sudoersファイルで、次のスニペットを使用してこの動作をグローバルに有効にします(を使用して編集visudo
)。
Defaults targetpw
ALL ALL=(ALL) ALL
2行目は、システム内のすべてのユーザーがターゲットユーザーのパスワードを知っている場合はsudoを使用できることを意味します。省略した場合は、グループメンバーシップとターゲットのパスワードを設定する必要があります。 (su
この設定はサポートされていないため、アクセス権がある場合はグループ要件を回避できます。)
targetpw
特定のユーザーまたはグループにのみディレクティブを適用する2つのバリエーションのいずれかを使用することもできます。
Defaults:username targetpw
username ALL=(ALL) ALL
Defaults:%groupname targetpw
%groupname ALL=(ALL) ALL
(するいいえALL ALL=(ALL) ALL
次のいずれかを使用する場合は明記してください。 )
答え2
あなたがリンクしたガイドは5年前のガイドです。 PAMはもはやDESを使用しません。パスワードハッシュを生成するには、以下を試してください。
echo pass|mkpasswd -s -m sha-512