Setiap kali saya mencoba mengeluarkan su
saya mendapatkan ini:
$ su
Password:
su: Sorry
Tak perlu dikatakan, saya memasukkan kata sandi admin yang benar yang berfungsi dengan baik sudo
. Yang saya inginkan adalah tidak harus memasukkan sudo
setiap waktu.
sudo su
masih berfungsi, jadi tidak benar-benar dinonaktifkan. Itu hanya tidak memiliki kata sandi.sudo su
, apa gunanya menonaktifkansu
itu?su
", itu untuk mencegah login root . Dengan menolak login sebagairoot
, Anda mencegah banyak masalah keamanan yang mungkin terjadi. Tidak mengizinkan seseorang yang bisasudo
untuksu
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 dengansudo
, tidak ada yang bisa dilakukan, jadi itu hanya menjalankan shell. Anda bisa mendapatkan efek serupa dengan melakukansudo 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 menggunakansudo su
, yang memberi Anda shell sebagai pengguna root aktual Mac Anda.sumber
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.sumber
Saya pikir Anda tidak dapat melakukan ini sebagai pengguna "normal" ...
Jika ada akun pengguna lain dengan hak admin Anda harus menggunakan yang ini
sumber
Solusi modern:
sudo -u
Untuk menjalankan sebagai penggunaan lain, gunakan
sudo -u
.Misalnya, untuk menjalankan editor teks seperti nano :
... dan masukkan kata sandi pengguna admin Mac Anda saat diminta. Pada titik ini, pengguna admin Mac Anda yang memohon
sudo
, bukansomeuser
pengguna sehingga Anda tidak memasukkansomeuser
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
.Ini menjalankan
nano
aplikasi sebagai penggunasomeuser
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.
Sekolah tua:
sudo su someuser
Pendekatan lain menggunakan
su
perintah dalam kombinasi dengansudo
. Thesu
perintah berarti “switch user”.Atau, untuk memasukkan menjalankan skrip startup pengguna, tambahkan tanda hubung.
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 yangroot
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 .sumber