Bagaimana cara menonaktifkan akun sepenuhnya? passwd -l
tidak akan mengizinkan siapa pun masuk ke akun menggunakan kata sandi tetapi Anda masih bisa masuk melalui kunci pribadi / publik. Bagaimana saya menonaktifkan akun sepenuhnya? Sebagai perbaikan cepat, saya mengubah nama file menjadi authorized_keys_lockme
. Apakah ada cara lain?
users
account-restrictions
Braiam
sumber
sumber
Jawaban:
Cara yang benar menurut
usermod(8)
adalah:(Sebenarnya, argumen untuk
--expiredate
dapat berupa tanggal sebelum tanggal saat ini dalam formatYYYY-MM-DD
.)Penjelasan:
--lock
mengunci kata sandi pengguna. Namun, login dengan metode lain (misalnya kunci publik) masih dimungkinkan.--expiredate YYYY-MM-DD
menonaktifkan akun pada tanggal yang ditentukan. Menurutman shadow 5
1970-01-01 adalah nilai yang mendua dan tidak akan digunakan.Saya sudah menguji ini di komputer saya. Login dengan kata sandi atau kunci publik tidak dapat dilakukan setelah menjalankan perintah ini.
Untuk mengaktifkan kembali akun di lain waktu Anda dapat menjalankan:
sumber
usermod --unlock --expiredate '' username
akan melakukannya.usermod
mengatakan:Note: if you wish to lock the account (not only access with a password), you should also set the EXPIRE_DATE to 1.
--expiredate 1
tidak cukup sendiri?sudo su username
sepertinya berfungsi menggunakan akun lain.Kunci kata sandi dan ubah shell ke
/bin/nologin
.(Atau lebih tepatnya
sudo usermod -L -s /bin/nologin username
,.)sumber
ssh username@hostname /bin/bash
akan memberikan pengguna bash prompt, terlepas dari shell default.sudo chsh -s /bin/nologin
akan lebih baik daripada mengedit/etc/passwd
dengan tangan. Juga, pada beberapa sistem, itu/sbin/nologin
.Ini cara sederhana lain. Anda dapat mengatur akun pengguna kedaluwarsa. Ini akan mencegah baik login berbasis kata sandi dan berbasis ssh untuk akun, tetapi tidak menyentuh kata sandi.
Untuk mengunci akun:
Akun pengguna 'nama pengguna' akan dikunci di sistem. Untuk mengaktifkan kembali akun pengguna, lakukan hal berikut.
Untuk membuka kunci akun:
Akun pengguna 'nama pengguna' akan diaktifkan kembali di sistem Anda dengan kata sandi yang sama seperti sebelumnya. Biner 'chage' adalah bagian dari paket shadow-utils di Red Hat Linux, atau paket passwd di Debian Linux.
sumber
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 mampusu - <user>
dan tidak memilikisu -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 melaluisudo
sehingga penjadwal berfungsi dengan benar dan pengguna akhir yang berwenang dapat menjadi akun layanan target sesuai kebutuhan.Terima kasih atas solusinya!
sumber
Untuk menghapus seluruhnya itu gunakan
userdel
.Harap perhatikan bahwa jika Anda menghapus akun, ada risiko bahwa ID penggunanya masih akan digunakan dalam sistem file di suatu tempat dan pengguna baru akan mewarisi kepemilikan file-file itu jika masuk di bawah id pengguna yang sama.
Anda ingin mengubah pemilik file apa pun yang dimiliki oleh pengguna yang dihapus.
Jika Anda ingin menambahkan pengguna kembali nanti, simpan baris dari
/etc/passwd
(dan pada Solaris/etc/shadow
) ke file sementara seperti/etc/passwd_deleted
.Dengan begitu ketika Anda menambahkannya kembali Anda dapat menggunakan id pengguna dan kata sandi yang sama (yang dienkripsi dalam salah satu file di atas)
Penafian: Saya mempelajari UNIX sendiri sehingga saya tidak akan terkejut jika ada cara yang lebih baik untuk menonaktifkan sementara pengguna. Sebenarnya saya bahkan tidak tahu apa kunci privat / publik yang Anda bicarakan. Saya juga yakin ada
find
perintah yang bisa digunakan untuk mencari file dengan userid pemilik itusumber
Adakah yang pernah mencoba melakukannya melalui ssh_config? Mungkin ini bisa membantu http://www.techrepublic.com/blog/opensource/set-up-user-accounts-quickly-and-securely/86
sumber