Jawaban:
Di MacOS X, pengguna root dinonaktifkan secara default, karena itu su
tidak akan berfungsi. Seperti yang dinyatakan orang lain, yang terbaik adalah menggunakannya sudo
.
Jika Anda harus mengaktifkan user root, lihat TECHNOTE Apple: Mengaktifkan dan menggunakan "root" user di Mac OS X .
sudo su
, apa gunanya menonaktifkan su
itu?
su
", itu untuk mencegah login root . Dengan menolak login sebagai root
, Anda mencegah banyak masalah keamanan yang mungkin terjadi. Tidak mengizinkan seseorang yang bisa sudo
untuk su
adalah konyol. Pada dasarnya, su
cukup ubah user-id saat ini, dan jalankan perintah (shell, jika tidak ditentukan). Jika user-id sudah 0 (root), seperti ketika dieksekusi dengan sudo
, tidak ada yang bisa dilakukan, jadi itu hanya menjalankan shell. Anda bisa mendapatkan efek serupa dengan melakukan sudo bash
.
Anda memiliki dua opsi. Yang pertama adalah menggunakan sudo -s
- ini akan memberi Anda akses pengguna super, tetapi Anda akan tetap 'sendiri' (jadi untuk berbicara), jadi hal-hal seperti ~
akan tetap menjadi direktori home Anda. Atau, Anda dapat menggunakan sudo su
, yang memberi Anda shell sebagai pengguna root aktual Mac Anda.
sudo
untuk menjalankan perintah yang membutuhkan hak yang lebih tinggi, bukan untuk beralih ke shell root dan bekerja darinya.
sudo
etos secara ekstrim. Tapi apa pun: semantik. Jangan gunakan shell root di OS X.
Misalnya, jika Anda perlu memindahkan file atau menggunakan git menggunakan CLI maka, dalam hal ini, solusi terbaik adalah menggunakan sudo -s
perintah. Setelah perintah itu, Anda tidak harus terus memasukkan kata sandi berulang kali.
Saya pikir Anda tidak dapat melakukan ini sebagai pengguna "normal" ...
Jika ada akun pengguna lain dengan hak admin Anda harus menggunakan yang ini
restricted user$ su
Password:(the root password here)
Sorry!
restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now
sudo -u
Untuk menjalankan sebagai penggunaan lain, gunakan sudo -u
.
Misalnya, untuk menjalankan editor teks seperti nano :
sudo -u someuser nano
... dan masukkan kata sandi pengguna admin Mac Anda saat diminta. Pada titik ini, pengguna admin Mac Anda yang memohon sudo
, bukan someuser
pengguna sehingga Anda tidak memasukkan someuser
kata sandi.
sudo
berarti menjalankan sesuatu menggunakan hak superuser.-u
berarti "jalankan perintah yang ditentukan sebagai pengguna yang ditentukan ini".someuser
harus diganti dengan nama pengguna yang Anda inginkan.Untuk mensimulasikan login awal sebagai pengguna tertentu, termasuk menjalankan skrip startup mereka, gunakan -I
.
sudo -u someuser -i nano
Ini menjalankan nano
aplikasi sebagai pengguna someuser
tetapi hanya setelah menjalankan skrip startup untuk pengguna tersebut.
Jika kami memilih untuk tidak menentukan perintah atau aplikasi yang akan dijalankan, kami dapat menjalankan shell interaktif sebagai pengguna itu.
sudo -u someuser -i
sudo su someuser
Pendekatan lain menggunakan su
perintah dalam kombinasi dengan sudo
. The su
perintah berarti “switch user”.
sudo su someuser
Atau, untuk memasukkan menjalankan skrip startup pengguna, tambahkan tanda hubung.
sudo su - someuser
root
penggunaThe root
pengguna dalam sistem operasi Unix yang berhubungan memiliki kekuasaan mutlak untuk melakukan apa pun.
Apple telah memilih untuk menonaktifkan root
akun di macOS, untuk menghindari eksploitasi kerentanan keamanan dan untuk melindungi Anda dari menembak diri sendiri. Apple menciptakan gagasan tentang akun pengguna Administrator yang memiliki banyak kekuatan, lebih banyak kekuatan daripada akun pengguna Standar , tetapi bukan kekuatan absolut seperti yang root
dimiliki. Lihat catatan Dukungan Apple ini untuk diskusi.
Jika perlu, Anda dapat mengaktifkan root
pengguna di macOS dan kemudian beralih ke pengguna itu. Ini sangat tidak dianjurkan. Saya akan menempuh jalan ini hanya sebagai jalan terakhir yang putus asa.
Untuk diskusi tentang ini dalam konteks postgres
pengguna yang menjalankan sistem database Postgres di macOS, lihat Pertanyaan ini di situs saudara, DBA Stack Exchange .
sudo su
masih berfungsi, jadi tidak benar-benar dinonaktifkan. Itu hanya tidak memiliki kata sandi.