Pengguna tanpa kata sandi - bagaimana seseorang dapat masuk ke akun itu dari akun non-root


25

Saya baru saja mulai menggunakan Scientific Linux (7.0) (walaupun saya berasumsi pertanyaan ini mungkin netral distribusi ..). Versi kernel adalah 3.10.0-123.20.1.el7.x86_64.

Kembali ke pertanyaan saya.

Saya beralih ke rootakun dan dari sana membuat akun pengguna baru test-accountmenggunakan perintah adduser test-account. Itu tidak meminta saya untuk kata sandi, saya juga tidak menggunakan opsi untuk memberikan kata sandi. Jadi saya kira itu adalah akun "tanpa kata sandi". Saya dapat masuk ke akun ini dari akun root - yang saya kira saya dapat melakukannya tanpa memberikan kata sandi meskipun akun yang diuji memiliki kata sandi. Namun ketika saya mencoba masuk ke ini (akun uji) dari akun ketiga - itu meminta saya untuk kata sandi. Dan menekan Entersaja tidak akan berhasil.

Apakah mungkin untuk masuk ke akun ini dari akun non-root. Apakah ada cara (tanpa beralih ke root atau menggunakan sudo)?


Kebijakan sistem Anda mungkin, bahwa kata sandi diperlukan. addusertahu -popsi untuk mengatur kata sandi, maka penggunaannya tidak disarankan. Jadi sebagai root, lakukan passwd test-accountdan atur kata sandi.
ott--

tidak, akun dibuat tanpa kata sandi dan saya bahkan dapat mengaksesnya dengan beralih dari root. Satu-satunya hal yang tidak dapat saya lakukan adalah beralih dari pengguna biasa.
Lavya

Bagaimana Anda beralih dari root (perintah apa yang Anda gunakan)?
roaima

@roaima su test-account. Itu beralih ke test-accountprompt tanpa kata sandi (yang akan terjadi bahkan jika test-accountmemiliki kata sandi). Namun, ketika saya mencoba untuk beralih ke akun uji coba dari akun pengguna non-istimewa anther, kernel meminta saya untuk kata sandi dengan prompt, dan itu tidak menerima batal (menekan eneter)
Lavya

Anda sudah menerima jawaban untuk ini. Nikmati.
roaima

Jawaban:


29

Secara default pada perusahaan GNU / Linux dan turunannya, adduserperintah membuat pengguna yang dinonaktifkan sampai Anda secara eksplisit menentukan kata sandi untuk pengguna itu.

Berikut adalah contoh pada CentOS 6.5, yang harus sama dengan Scientific Linux.

 $ sudo adduser test
 $ sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

alasannya adalah karena dalam /etc/shadowfile, bidang kata sandi !!seperti yang Anda lihat pada contoh.

setelah Anda menjalankan passwdakun ini, kata sandi pengguna akan berubah dan memungkinkan pengguna untuk dapat masuk.

jadi yang harus Anda lakukan adalah mengikuti untuk memiliki pengguna tanpa kata sandi, cukup buat akun lalu hapus kata sandi.

 $ sudo adduser test
 $ sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

sekarang setiap pengguna harus dapat menggunakan sudan login sebagai pengguna testdalam contoh saya. Anda tidak harus menggunakan sudountuk login sebagai akun.

Meskipun ini mungkin dan Anda dapat memiliki akun tanpa kata sandi, itu tidak disarankan. Jika Anda hanya mengatur kata sandi untuk pengguna, Anda harus diizinkan masuk.

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

"perintah adduser menciptakan pengguna yang dinonaktifkan sampai Anda secara eksplisit menentukan kata sandi untuk pengguna itu": bagaimana saya bisa beralih ke test-account dari root jika itu masalahnya (pengguna dinonaktifkan)?
Lavya

su test-account
Nathan McCoy

Yang ingin saya tanyakan adalah bahwa jika akun dinonaktifkan, lalu bagaimana saya bisa beralih menggunakan sudari root?
Lavya

2
yang rootpengguna dapat suke setiap akun yang memiliki shell. Jika shell diatur ke /bin/falsemisalnya, itu tidak akan berfungsi. Itu hanya keajaiban root! banyak akun pengguna tidak memiliki shell yang valid, dan hanya digunakan untuk menjalankan program tertentu sebagai pengguna itu. seperti apachepengguna dan server web apache.
Nathan McCoy

Di Ubuntu 18.04, saya tidak bisa masuk sebagai pengguna dengan kata sandi kosong.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

3

Saya memiliki tamu pengguna yang tidak memiliki kata sandi. Ini adalah catatannya:

tamu: U6aMy0wojraho: 17057: 0: 99999: 7 :::

String "U6aMy0wojraho" adalah kata sandi hash dari pengguna tamu. Ketika saya masuk saya cukup tekan enter untuk kata sandi dan sistem memungkinkan saya masuk.

Anda harus mengedit file / etc / shadow dan menambahkan string yang disebutkan di atas tepat setelah nama pengguna dan titik dua pertama.

Saya menyalin string ini dari live CD Ubuntu - penggunanya paswordless.


Alih-alih jawaban yang diterima ( passwd -d ...) ini juga berfungsi dengan sddm.
mzimmer

1
Mengedit /etc/shadowfile secara langsung berisiko dan biasanya tidak disarankan. Memiliki guestakun baik-baik saja, tetapi menggunakan alat untuk mengedit kata sandi akan mengurangi potensi input pengguna yang tidak tepat atau masalah dengan penyimpanan file multi-pengguna.
Nathan McCoy

@NathanMcCoy, saya setuju bahwa itu berisiko. Tetapi alat GUI tidak memungkinkan untuk membuat kata sandi kosong - ini membutuhkan setidaknya 6 atau 8 karakter. Setidaknya, ini adalah kasus di Kubuntu yang saya gunakan.
Raicho Nikolov

@NathanMcCoy ya, bisa digunakan chpasswd -euntuk melakukannya dengan lebih aman: unix.stackexchange.com/a/472966/32558
Ciro Santilli 新疆 改造 中心 法轮功 六四 六四 事件

Ini bagus untuk kasus pemulihan darurat, tancapkan hard drive (untuk berbicara) dan mengedit beberapa file untuk memperbaiki mesin. Secara khusus tambahkan pengguna ini dan tambahkan dia ke sudoers sementara kemudian gunakan konsol serial untuk login dan memperbaiki apa pun yang rusak openssh
Ray Foss

2

Pengguna dengan kata sandi kosong

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

Sayangnya kata sandi masih menunjukkan.

Tetapi jika Anda hanya menekan enter tanpa mengetik apa pun, dan itu masuk sebagai pengguna test-user-0.

The -ebendera mengatakan chpasswdbahwa password sudah dienkripsi, dan U6aMy0wojrahoadalah hash dari string kosong.

Diuji pada Ubuntu 18.04.

BusyBox autologin

Setidaknya di terminal, Anda tidak perlu membuat pengguna tanpa kata sandi untuk memungkinkan seseorang untuk tidak mengetik kata sandi setiap kali, meretas inittabsedikit sudah cukup: Bagaimana cara login secara otomatis tanpa mengetikkan nama pengguna atau kata sandi root di Buildroot BusyBox init?

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.