Apakah ada kata sandi root pada OS X dan Ubuntu?

13

Saat Anda menyiapkan instalasi Ubuntu atau OS X baru, pengguna pada umumnya dibuat untuk Anda. Pada OS X itu adalah nama pengguna apa pun yang Anda pilih. Di Ubuntu (versi server) biasanya ubuntupengguna dibuat.

Cara saya memahaminya, ada juga pengguna root, yang dapat Anda akses melalui sesuatu seperti sudo su - root, dan memasukkan kata sandi ubuntuatau pengguna yang Anda buat, yang merupakan bagian dari grup administrator. Setelah Anda beralih ke rootsaya pikir Anda dapat menggunakan passwdperintah dan mengubah kata sandi root.

Tapi apa rootkata sandi sebelumnya? Apakah itu ada Apakah ini string angka dan huruf acak? Bagaimana sistem menghadapinya?

cwd
sumber
1
Di Ubuntu, Anda hanya perlu sudo su. The rootakun diasumsikan secara default.
Nathan Osman
1
Di Ubuntu, suhanya diperlukan untuk beralih ke beberapa pengguna non-root . Untuk menjalankan perintah tunggal sebagai root, ketik sudo command. Untuk mendapatkan shell root, ketik sudo -i.
Scott Severance
Dan jika Anda memberi tahu seseorang di forum ubuntu cara mengatur kata sandi root, atau mem-boot dan mereset kata sandi pengguna melalui livecd, itu bisa membuat akun Anda banninated selama 30 hari ... tanyakan pada saya bagaimana saya tahu .... Ubuntu orang benar - benar tidak ingin Anda memiliki kata sandi yang ditetapkan untuk root, mereka ingin Anda selalu menggunakan sudo
ivanivan

Jawaban:

12

Saya hanya bisa menjawab untuk Ubuntu.
Di Ubuntu rootpengguna memiliki kata sandi yang terkunci. Dari passwdhalaman manual:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

Anda bisa melihat !di /etc/shadow.

Seorang pengguna dengan akun yang dikunci tidak dapat mengubah kata sandi, tetapi root dapat, tanpa memasukkan kata sandi lama.

enzotib
sumber
10

Berikut cara membuka kunci (?) Atau membuat pengguna root aktual di OSX:

  1. Preferensi sistem
  2. Pengguna & Grup
  3. Opsi masuk (klik kunci dan autentikasi di sini)
  4. Klik "Gabung" (NAS)
  5. Buka Direktori Utility
  6. Klik kunci (autentikasi lagi)
  7. Edit menu -> aktifkan pengguna root
  8. (Edit menu -> ubah kata sandi root)

Nikmati !

Yossi Farjoun
sumber
+1 untuk deskripsi Mac GUI yang baik. Saya hanya pernah tahu cara baris perintah untuk mengaktifkan akun root.
Andrew J. Brehm
Ya, saya kagum ketika pria Layanan Pelanggan Apple menuntun saya melalui langkah-langkah untuk melakukan ini ... Saya pikir itu terlalu bagus dari rahasia untuk tetap "tersembunyi".
Yossi Farjoun
7

Seperti kata enzotib, Ubuntu memiliki akun root tetapi terkunci secara default.

Sekarang, tentang Mac:

Karena Anda mungkin dapat menebak, root (bersama dengan semua akun daemon) tidak muncul di bagian "Pengguna & Grup" pada Pengaturan.

Melihat mac saya /etc/passwd, ada entri untuk root, bersama dengan pesan

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

Saya mencoba untuk menemukan daftar pengguna Open Directory, tetapi tidak berhasil, tetapi dalam konfigurasi ada menyebutkan secara eksplisit memberikan izin root meskipun mereka tersirat. Saya tidak pernah dimintai kata sandi root saat pertama kali mengatur mesin, jadi saya kira akun root terkunci seperti di ubuntu. Saya tidak (dan tidak benar-benar ingin) mencoba memberikan root kata sandi dan masuk dengannya, tetapi Anda mungkin bisa.

Baris sandi:

root:*:0:0:System Administrator:/var/root:/bin/sh

Perintah perl dari komentar keith menambahkan a :0sampai akhir. Tidak ada hash kata sandi. Tidak ada file bayangan yang dapat saya temukan, saya belum dapat menemukannya di mana pun untuk memeriksa apakah root mungkin memiliki kata sandi.

Kevin
sumber
Apa output dari perl -e 'print join(":", getpwuid(0)), "\n"'? ( CATATAN : Jika itu termasuk sesuatu yang terlihat seperti kata sandi hash, jangan posting di sini.)
Keith Thompson
@KeithThompson Diposting, tidak ada yang istimewa. Saya tahu tentang hash, tapi saya menghargai Anda termasuk peringatan untuk pengguna yang mungkin tidak.
Kevin
1
Bagaimana dengan perintah Perl yang sama dengan uid Anda sendiri? Apakah itu menunjukkan kata sandi hash? (Lagi-lagi, jelas, jangan memposting hash.)
Keith Thompson
1
Hmm. Mungkin getpwuid()pada MacOS melakukan itu dengan sengaja, untuk menghindari pengungkapan informasi sensitif (meskipun harus ada sesuatu yang dapat mengakses kata sandi hash).
Keith Thompson
1
Saya telah mencari secara online dan sepertinya mereka memiliki bayangan di os terakhir tetapi saya tidak dapat menemukannya di singa.
Kevin
7

Kata sandi root pada Mac OS X disimpan (sebagaimana disebutkan oleh Kevin) di Open Directory. Untuk mengkonfirmasi keberadaan pengguna root diperlukan grep sederhana:

$ grep ^root /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

Untuk membaca informasi kata sandi root dari Open Directory:

$ dscl localhost -read /Local/Default/Users/root Password
Password: *
$ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority
No such key: AuthenticationAuthority

Dalam kasus default (seperti yang ditunjukkan), pengguna root tidak memiliki set hash kata sandi (akun dikunci). Anda dapat membandingkan pengaturan ini dengan nilai dalam OD untuk pengguna "normal":

$ dscl localhost -read /Local/Default/Users/normaluser Password
Password: ********
$ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data
Tandai Glossop
sumber
2

Ubuntu membuat kata sandi untuk pengguna yang disebutkan dan menggunakannya untuk tugas tingkat superuser (root) sebagai menginstal dan menghapus perangkat lunak dan direktori sistem yang luas dan penghapusan / eksekusi file di luar direktori home Anda. Akun root sebenarnya sudah ada tetapi tanpa kata sandi yang ditetapkan sedikit tersembunyi. Konvensi penggunaan Canonical, dan Ubuntu, pada dasarnya menghambat Anda untuk secara langsung memintanya.

Itu mengatur akun pengguna yang bernama daripada menyiapkan akun "ubuntu" generik. Setidaknya itulah yang terjadi dengan sistem yang diinstal. Akun "ubuntu" generik mungkin ada jika Anda menggunakan live CD, saya tidak ingat, saya belum bekerja dengan live CD dalam beberapa tahun.

Perilaku di MacOsX sebenarnya sangat mirip. Anda diminta untuk menetapkan kata sandi, yang dipanggil setiap kali Anda mencoba melakukan tugas tingkat superuser seperti menginstal atau memutakhirkan perangkat lunak tetapi tidak ada akun bernama "root".

Haziz
sumber
3
Saya percaya sebenarnya ada "pengguna" root. Anda dapat sumelakukan root, root memiliki direktori home, dan file dapat dimiliki oleh root. Bisakah Anda memberikan kutipan pada argumen Anda bahwa tidak ada akun root?
cwd
3
Tentu saja ada akun root eksplisit (uid 0, nama "root"). Harus ada sistem seperti Unix. Hanya saja tidak memiliki kata sandi (setidaknya secara default). Anda bahkan bisa mendapatkan shell root:, sudo bash -llalu ketik whoami. (Tapi biasanya Anda harus menggunakan sudountuk perintah individu daripada memiliki shell interaktif yang berjalan sebagai root.)
Keith Thompson
Anda mungkin benar, saya tidak menanyai Anda. Jika ada akun root, maka mereka telah melakukan pekerjaan yang baik untuk menyembunyikannya. Saya juga menggunakan Fedora pada beberapa mesin dan VM saya dan root sangat banyak merupakan akun aktif.
haziz
1

Untuk Ubuntu: secara default Anda dapat mengakses akun pengguna yang baru dibuat.

Untuk menjalankan perintah apa pun sebagai root, Anda dapat menggunakan

sudo command

lalu masukkan kata sandi normal Anda.

Akun root secara default terkunci. Untuk mengaktifkan root dengan baris perintah cukup masukkan

sudo passwd

lalu masukkan kata sandi pengguna Anda yang masuk dan kemudian kata sandi baru untuk root. Sekarang Anda dapat masuk sebagai root menggunakan su dan kemudian memasukkan kata sandi root.

kushdilip
sumber