Setel ulang kata sandi pengguna tanpa root

8

Apakah ada cara untuk memungkinkan pengguna non-root untuk mengubah kata sandi pengguna lain. Secara khusus, apakah ada cara untuk memberi karyawan meja bantuan kemampuan untuk melakukan pengaturan ulang kata sandi. Help desk sudah dapat mengatur ulang kata sandi Windows, yang mudah didelegasikan.

Ini ada pada berbagai jenis server, meskipun kebanyakan pada HP-UX. Sayangnya, aplikasi yang berjalan di server mencegah kami menggunakan LDAP, sehingga server ini independen dan pengguna lupa kata sandi mereka. Sering. Membutuhkan admin server yang mengetahui kata sandi root, terutama di tengah malam, adalah pemborosan sumber daya.

Jika memungkinkan, apakah itu juga mencegah pengguna mengubah root, seperti Windows mencegah pengguna mengubah kata sandi admin dari akun non-admin.

Brian
sumber

Jawaban:

8

Tambahkan grup yang disebut helpdesk dan tambahkan semua pengguna holdesk ke dalamnya. Kemudian tambahkan berikut ini ke file sudoers.

%helpdesk ALL=/usr/bin/passwd

Sekarang mereka bisa sudo untuk mengubah kata sandi tetapi tidak ada yang lain.

Jim
sumber
1

Mengingat bahwa HP-UX dikatakan mendukung PAM , saya berani menyebutkan pendekatan tentatif bersih berikut untuk menyelesaikan masalah ini di sini:

gunakan pam_tcb (tcb - alternatif untuk / etc / shadow) , dan akan ada file kata sandi pengguna per pengguna - mereka dapat dimanipulasi tanpa hak root (sebenarnya, di Owl, passwd bukan setUID root), dan Anda dapat memberikan izin untuk mengubah kata sandi pengguna tertentu (dan bukan yang lain, katakanlah, "root") ke grup tertentu (hanya dengan memodifikasi izin file bayangan).

Tapi itu mungkin bukan solusi siap yang praktis, karena saya tidak melihat port pam_tcbuntuk HP-UX.

imz - Ivan Zakharyaschev
sumber
-1

Pembaruan: Nevermind, passwd sudah setuid root. Ups.

Anda bisa memberikan atribut setuid ke program passwd. Kerjakan saja

sudo chmod u+s `which passwd`

Kemudian pastikan hanya pengguna tertentu yang dapat menggunakannya, jadi ubah grup dan batasi izin:

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

Dan tambahkan pengguna Anda ke grup itu

sudo adduser frank password_reset_delegates
sudo adduser barbara password_reset_delegates

Anda mungkin ingin membuat salinan program passwd tanpa setuid sehingga pengguna lain dapat mengubah kata sandi mereka sendiri.

Atau, Anda bisa mengatur sudo dan mengizinkan akses sudo hanya ke program passwd untuk pengguna helpdesk.

James
sumber
Menggunakan metode akses sudo juga akan membuat jejak audit yang bagus untuk ditinjau jika perlu. Anda akan dapat melihat siapa yang melakukan apa untuk pengguna yang mana.
mcmeel
sudo adalah cara saya akan pergi, tetapi seseorang sudah memposting itu, dan saya pikir saya akan menyajikan opsi.
James
Gagasan yang berpotensi cerdas, kecuali fakta bahwa passwdsudah menjalankan suid root karena perlu menulis ke basis data kata sandi sistem.
MikeyB
haha, oops, kamu benar.
James
Pertimbangkan menghapus jawaban Anda jika salah;).
Bart De Vos