ルートなしでユーザーのパスワードをリセットする


8

非rootユーザーが他のユーザーのパスワードを変更できるようにする方法はありますか?具体的には、ヘルプデスクの従業員にパスワードのリセットを実行する権限を与える方法はありますか。ヘルプデスクは既にWindowsパスワードをリセットできます。これは委任が簡単です。

これらはさまざまな種類のサーバーにありますが、ほとんどがHP-UXにあります。残念ながら、サーバー上で実行されるアプリケーションはLDAPの使用を妨げるため、これらのサーバーは独立しており、ユーザーはパスワードを忘れます。しばしば。特に深夜にrootパスワードを知っているサーバー管理者を要求することは、リソースの浪費です。

可能であれば、ユーザーがrootを変更できないようにします。たとえば、Windowsはユーザーが非管理者アカウントから管理者パスワードを変更できないようにします。

回答:



8

helpdeskというグループを追加し、すべてのholdeskユーザーをそのグループに追加します。次に、以下をsudoersファイルに追加します。

%helpdesk ALL=/usr/bin/passwd

これで、パスワードを変更するためにsudoを実行できますが、それ以外は何もできません。


1

HP-UXがPAMをサポートしていると言われているので、この問題を解決するための次の暫定的なクリーンなアプローチについてここで触れておきます。

pam_tcb(tcb-/ etc / shadowの代替)を使用すると、ユーザーごとにユーザーのパスワードファイルが作成されます。これらのファイルは、rootの権限がなくても操作できます(実際、Owlでは、setUID root でpasswd はありません)。特定のユーザーに(他のユーザーではなく、たとえば「root」ではなく)パスワードを変更する権限を特定のグループに与えることができます(シャドウファイルの権限を変更するだけで)。

しかし、おそらくpam_tcbHP-UXへの移植版が見当たらないため、それはまだ実用的な準備が整ったソリューションではありません。


-1

更新: 注意してください、passwdはすでにsetuidルートです。おっとっと。

setwd属性をpasswdプログラムに与えることができます。するだけ

sudo chmod u+s `which passwd`

次に、特定のユーザーのみがそれを使用できることを確認し、グループを変更してアクセス許可を制限します。

sudo chgrp password_reset_delegates `which passwd`
sudo chmod 770 `which passwd`

そして、そのグループにユーザーを追加します

sudo adduser frank password_reset_delegates
sudo adduser barbara password_reset_delegates

他のユーザーが自分のパスワードを変更できるように、setuidなしでpasswdプログラムのコピーを作成することもできます。

または、sudoをセットアップして、ヘルプデスクユーザーに対してpasswdプログラムのみへのsudoアクセスを許可することもできます。


sudoアクセス方式を使用すると、必要に応じて確認するための優れた監査証跡も作成されます。誰がどのユーザーに対して何をしているかを確認できます。
mcmeel

sudoが私のやり方ですが、誰かがすでに投稿しているので、オプションを提示するつもりでした。
James

passwdシステムパスワードデータベースに書き込む必要があるため、すでにsuid rootを実行しているという事実を除いて、潜在的に賢い考えです。
MikeyB

ハハ、おっと、あなたは正しいです。
ジェームズ

間違っている場合は回答を削除することを検討してください;)。
Bart De Vos、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.