Selalu Sudo Privileges

15

Saya telah mencari ini, dan jawabannya mungkin ada di sejuta tempat di internet, tetapi saya tidak dapat menemukannya ...

Bagaimana Anda memberikan hak istimewa root akun Anda di Linux sehingga Anda tidak perlu sudosetiap perintah yang membutuhkan hak istimewa? Ini bahkan lebih menjengkelkan daripada Kontrol Akun Pengguna Windows.

( Tolong ... Saya tidak perlu ceramah tentang bagaimana saya akan menjalani kehidupan yang berbahaya. Terima kasih.)

pengguna541686
sumber

Jawaban:

11

Apakah ini Bekerja untukmu?

sudo EDITOR=gedit visudo

Ubah baris ini:

%admin ALL=(ALL) ALL

ke baris ini:

%admin ALL=(ALL) NOPASSWD: ALL

Tidak ada kuliah. :)


sumber
3
+1, tetapi masalahnya adalah, saya masih harus mengetik sudo.
user541686
@Lambert Ok, well, saya tidak ingin melakukan ini untuk mengujinya, tapi saya pikir Anda bisa memberi root kata sandi 'sudo passwd root'. Logout sebagai pengguna Anda; login sebagai root. Sekarang apakah GDM membiarkan login root?
2
Yah, saya sudah melakukan itu untuk mengatur kata sandi root dan login sebagai root, dan tentu saja saya tidak perlu sudolagi. Masalahnya adalah mencari tahu bagaimana melakukan hal yang sama untuk akun yang berbeda.
user541686
6

Kamu tidak. Dua hal yang dapat Anda lakukan adalah:

1) Jalankan sudo -s untuk tetap root ketika Anda berencana memasukkan beberapa perintah dan tidak ingin terus mengawali mereka dengan sudo.

2) Anda dapat mengonfigurasi file sudoers Anda untuk memungkinkan Anda menjalankan sudo tanpa harus memasukkan kata sandi Anda.

psusi
sumber
2
Nah, yang tidak saya mengerti adalah, jika saya bisa login sebagai "root" dengan mudah dan bahkan tidak perlu memikirkan kata "sudo", lalu mengapa saya tidak dapat melakukan hal yang sama di akun yang berbeda?
user541686
@Lambert: Karena akun-akun lain tidak UID 0.
JanC
1
Hah ... bahkan menambahkan diri saya ke grup sudoatau bahkan sesuatu seperti itu tidak cukup? :(
user541686
2

Saya tidak melihat betapa sulitnya menjalankan sudo -isekali di terminal, dan kemudian gunakan saja terminal yang satu ini (atau Anda bisa membuka lebih dari satu, tetapi kemudian Anda harus mengetikkan kata sandi Anda lagi ) untuk melakukan semua hal sudo Anda.

(Dan tidak, saya tidak bisa benar-benar melihat masalah besar dalam mengetik kata sandi Anda sesekali. Ini benar-benar tidak memakan waktu, dan kecuali Anda menutup terminal Anda setelah setiap perintah, sudo tidak akan meminta pass Anda untuk sementara waktu setelah Anda telah mengautentikasi).

LasseValentini
sumber
3
Bukannya menyita waktu, hanya saja itu sangat menjengkelkan. Jika saya mengatakan saya ingin mengubah wallpaper layar login saya, saya tidak perlu "Apakah kamu keluar dari pikiranmu ?! Aku tidak bisa mempercayai kamu." pesan yang menanyakan apakah saya sebenarnya waras karena berpikir untuk melakukan tindakan Privilege Tinggi, memberi tahu saya bahwa, jika saya salah memasukkan kata sandi, acara ini akan Dilaporkan . Ini seperti komputer saya sendiri yang tidak mempercayai saya, dan ketika Anda bekerja untuk sementara waktu, itu sangat menjengkelkan Tuhan karena tindakan konyol orang lain dengan komputer membuat komputer Anda sendiri mempertanyakan Anda.
user541686
Tidak bermaksud menghilangkan kemarahan saya pada Anda, tetapi kadang-kadang, fitur "keamanan" dalam perangkat lunak yang dirancang untuk melindungi pengguna yang tidak berpengalaman hanya membuat saya gila. Jika saya ingin membuat komputer saya meledak, tidak perlu apa pun selain dari "Apakah Anda yakin?" pesan dengan "Jangan tanya ini lagi." kotak ... lagi, dan itu hanya mengalahkan tujuan memiliki konfirmasi sama sekali. Jika saya harus memasukkan konfirmasi untuk semuanya, mungkin juga tidak ada satu - itu tidak akan mengubah tekad saya, tapi setidaknya saya akan menyelesaikan hal yang sama lima kali lebih cepat tanpa ada gangguan.
user541686
Desain keamanan Ubuntu adalah untuk lingkungan rumah dengan banyak pengguna. Perubahan di seluruh sistem hanya boleh dilakukan oleh individu tepercaya, bukan hanya seseorang yang kebetulan memiliki akun pengguna atau kebetulan meminjam akun Anda.
Jeremy Bicha
@JeremyBicha Mereka tidak menambahkan apa pun di atas desain keamanan / otorisasi unix yang asli yang dibuat Imo untuk berbagi waktu multiuser pada mainframe ... Di mana hal ini sesuai untuk rumah adalah pertanyaan lain, tetapi kita terjebak dengan hal itu.
masterxilo
1

Anda dapat menginstal / mengaktifkan perintah 'su' dan mengkonfigurasi shell untuk menjalankannya saat startup.


sumber
Apakah ada cara "langsung"? Seperti menggunakan sudoersatau dengan menambahkan diri saya ke beberapa grup khusus?
user541686
sudo -s melakukan hal yang sama.
psusi
@psusi: Tapi bukankah titik pertanyaannya justru tidak harus melakukan itu setiap kali saya memulai komputer?
user541686
Apakah ada cara untuk membuatnya tidak meminta kata sandi setiap saat?
user541686
0

The benar jawaban atas pertanyaan saya:

Anda dapat mengubah ID pengguna (UID) dan ID grup (GID) Anda menjadi nol /etc/passwd, untuk mendapatkan hak akses root.

Namun:

Jika ya, Anda tidak akan bisa masuk kembali !

Namun, Anda dapat membuat pengguna baru , dan mengubah ID grup / pengguna menjadi 0. Pada dasarnya, pengguna itu akan menjadi pengguna lain root, tetapi dengan folder profil yang berbeda, dll.

Maka Anda dapat menggunakan profil itu seolah-olah Anda rootsendiri! : D

"Solusi" lain:

(jika Anda suka kata sandi kosong)

  1. Jalankan perintah di bawah ini, dan bandingkan hasilnya

    sudo cat /etc/shadow
    sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    

    Anda harus melihat bahwa yang terakhir telah menghapus omong kosong di depan nama pengguna Anda (yang dibaca menggunakan $(whoami)). (Jika tidak, jangan lanjutkan!)

  2. Saat Anda siap, jalankan perintah untuk menimpa /etc/shadow(dengan risiko Anda sendiri!)

    sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow
    
  3. Akun Anda sekarang memiliki kata sandi kosong, dan Anda seharusnya tidak lagi dimintai izin sudo. (Setidaknya, itulah yang terjadi padaku.)

catatan:

Anda mungkin juga perlu mengaktifkan login tanpa kata sandi ; Tapi saya tidak yakin apakah itu perlu.

pengguna541686
sumber
Saya telah membaca di suatu tempat bahwa menggunakan "sudo bash" melakukan pekerjaan. Sudahkah Anda mencoba ini?
Curious Apprentice
@CuriousApprentice: Intinya adalah untuk menghindari sudo.
user541686
0

Saya SANGAT menyarankan untuk tidak memberikan diri Anda GID 0. SUDO tidak ada di sana untuk membuat hal-hal dikompilasi. Satu-satunya alasan untuk membuat akun root lain (apakah direktori home adalah / root / atau direktori kustom yaitu / home / root2 /) adalah bahwa ada dua administrator dalam sistem yang tidak ingin membagikan satu kata sandi root.

Kalau tidak, gunakan sudo. Dan dengan asumsi Anda tidak berpengalaman pengguna Unix, ada juga risiko Anda lupa alat apa yang hanya root dan apa yang untuk pengguna umum.

TETAPI, jika Anda merasa memiliki pengguna normal yang aman (saya pribadi menggunakan kata sandi KUAT dengan metode ini), saya membiarkan pengguna saya (yaitu tatu.staff / uid = 1xxx, gid 50) menjalankan SUDO tanpa kata sandi. Karena itu saya tidak pernah mencampur apa yang hanya untuk root dan apa untuk pengguna.

Gunakan instruksi di atas untuk membuat file sudoers (dan grup terkait) untuk membuat pengguna tertentu untuk menjalankan SUDO tanpa kata sandi atau melihat contoh file yang akan saya tempelkan di sini:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Defaults        !authenticate

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
YOURUSER    ALL=(ALL) NOPASSWD:ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
%wheel  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

YOURUSER menjadi nama pengguna Anda, baris itu memungkinkan pengguna tertentu untuk menjalankan SUDO tanpa kata sandi.

semua pengguna dalam grup SUDO perlu memberikan kata sandi.

semua pengguna di roda grup dapat menjalankan sudo tanpa kata sandi - berguna jika Anda ingin memberikan SUDO ACCESS tanpa kata sandi kepada banyak pengguna, yang omong-omong, cukup cantumkan A VERY BAD IDEA.

JUGA: - Ingat% charachter sebelum nama GROUP. - Seseorang dapat mengedit / etc / group secara langsung, tetapi TIDAK disarankan. Gunakan ADDGROUP untuk mengedit, lihat info lebih lanjut dengan mengetik: man addgroup

Saya harus menekankan lagi bahwa SELALU mengedit file sudoers dengan menggunakan perintah VISUDO, TIDAK PERNAH langsung dengan editor. Itu memastikan bahwa Anda selalu mendapatkan file sudoers yang valid - kesalahan pengetikan atau pernyataan buruk dll. Adalah hal yang sangat buruk dalam file penting tersebut, dan visudo menghemat semua masalah yang mungkin tidak dapat Anda pulihkan sendiri, dan saya bertaruh pertama kali jawab pertanyaan setelah ini "selalu menggunakan visa. bukankah mereka memberitahumu? oh mereka melakukannya? Apa yang salah denganmu?" atau sesuatu yang sama;)

-

Salam dari Finlandia - musim dingin di sini sangat menyenangkan, hanya -10 Celcius, bukan suhu yang lebih rendah dari -25 C.

\\ tatu-o

tatu stty
sumber
Juga, jika Anda tidak ingin menulis perintah yang panjang atau cenderung lupa --flags, aliseses ada untuk Anda! Periksa ~ / .bashrc bahwa file alias sudah disetel, dan kemudian tambahkan alias ke ~ / .bash_aliases
tatu stty