Saya tidak memiliki perwakilan yang cukup untuk mengomentari jawaban Legate, tetapi saya ingin membagikan bahwa jawaban ini membantu kami dengan penggunaan lain:
1.) akun yang dimaksud adalah akun layanan lokal yang menjalankan aplikasi, bukan akun pengguna akhir.
2.) pengguna akhir ssh in sebagai diri mereka sendiri, dan sudo /bin/su <user>
untuk menjadi pengguna dan mengelola aplikasi karena persyaratan jejak audit bahwa akun layanan tidak dapat memiliki kemampuan login langsung.
3.) akun layanan harus memiliki shell yang valid ( /bin/bash
, bukan /sbin/nologin
), karena Platform Penjadwalan Perusahaan (agen berjalan sebagai root secara lokal) harus mampu su - <user>
dan tidak memiliki su -s /bin/bash <user>
kemampuan yang dimiliki shell penuh, dan diperlukan untuk menjalankan pekerjaan dari jarak jauh untuk operasi batch yang lebih besar yang mencakup beberapa server dan database.
Jadi ...
passwd -l <user>
Tidak memenuhi kendala karena otentikasi kunci publik melewati PAM dan masih memungkinkan masuk langsung.
usermod -s /sbin/nologin <user>
Tidak memenuhi kendala karena merusak penjadwal perusahaan
usermod --lock --expiredate 1970-01-01 <user>
Ini adalah pemenang kami. Login jarak jauh dinonaktifkan, namun root masih bisa su <user>
, seperti halnya pengguna lain melalui sudo
sehingga penjadwal berfungsi dengan benar dan pengguna akhir yang berwenang dapat menjadi akun layanan target sesuai kebutuhan.
Terima kasih atas solusinya!