Apa arti sudo sudo?

8

Saya menggunakan Cloud9 untuk pengembangan Rails dan menggunakan lingkungan Ubuntu. Dalam dokumentasi tentang penggunaan database PostgreSQL, dikatakan:

Terhubung ke layanan:

$ sudo sudo -u postgres psql 

Apa arti dari mengetik sudo dua kali?

https://docs.c9.io/setting_up_postgresql.html

Andy Singh
sumber
1
Mungkin pengguna diizinkan untuk menjalankan sudoperintah sebagai root, tetapi bukan psqlsebagai perintah postgres.
Stéphane Chazelas
@ WarrenYoung Melihat dokumen itu tampaknya disengaja bahwa pengguna dapat melakukan root tanpa perlawanan. Pengguna asli mungkin dianggap sebagai akun administratif dan jadi itu mungkin diberikanuser ALL=(ALL) NOPASSWD: ALL
Bratchley
Tentu saja, tidak meminta kata sandi root untuk akun yang memiliki hak ssh mungkin menjadi perhatian.
Bratchley
Saya membuka masalah (dan membuat hash permintaan tarik). Mari kita lihat apakah mereka memperbaikinya.
muru
Dan itu sudah diperbaiki.
muru

Jawaban:

9

sudo -u postgres memungkinkan Anda untuk menyamar sebagai pengguna postgres saat menjalankan perintah. Pengguna Anda mungkin tidak memiliki hak istimewa itu, tetapi root tidak.

Jadi sudo pertama memberi Anda hak root dan sudo kedua memungkinkan Anda (sebagai root) untuk sudo -u ke postgres yang memungkinkan perintah dijalankan sebagai pengguna postgres.

Jeremy Driscoll
sumber
+1: Ini bisa menjelaskan yang kedua sudo.
Warren Young
0

Mereka mungkin hanya memberikan hak sudo akun Anda ke akun root dan karena itu mereka pikir mereka perlu ke sudopengguna postgres untuk sampai ke sana.

Mempertimbangkan berapa banyak orang yang memperbaiki aturan mereka, Anda mungkin berjalan sudo -lsebagai pengguna biasa untuk melihat apakah mereka memberi Anda akses ke semua pengguna atau mengunci Anda untuk melakukan root karena suatu alasan. Saya bersedia menjadi yang pertama dalam hal ini Anda bisa meninggalkan yang pertama sudo.

Bratchley
sumber