Pengguna dalam grup sudo tidak dapat menggunakan perintah sudo

14

Saya punya pengguna,, supersecretuseryang ada di sudogrup, tetapi tidak memiliki sudoakses. Apakah ada hal lain yang perlu dilakukan untuk memberikan sudoakses pengguna ini ?

$ ssh supersecretuser@myserver
supersecretuser@myserver:~$ groups
supersecretuser adm cdrom sudo dip plugdev lpadmin sambashare
supersecretuser@myserver:~$ sudo vim install.sh 
[sudo] password for supersecretuser: 
supersecretuser is not in the sudoers file.  This incident will be reported.

supersecretuser adalah pengguna yang kami siapkan saat melakukan instalasi Ubuntu.

Jay Mitchell
sumber
4
Apakah supersecretuserlogout dan kembali (atau setidaknya memulai shell login baru misalnya su - supersecretuser) sejak ditambahkan ke sudogrup?
steeldriver
Ketika saya ssh sebagai supersecretuser, saya bisa melihat bahwa itu ada di sudogrup. Apakah ada hal lain yang perlu saya lakukan untuk keluar? Menambahkan ssh ke server ke pertanyaan.
Jay Mitchell
Jika Anda memiliki superuser lain, saya akan mencoba menambahkan suspersecretuserke sudogrup lagi. sudo adduser supersecretuser sudo. Anda mungkin mendapatkan kesalahan seperti user is already in group sudo, tetapi patut dicoba.
Dan

Jawaban:

8

Karena pesan kesalahan Anda mengatakan pengguna Anda is not in the sudoers file, bisakah Anda memeriksa /etc/sudoersfile Anda , lihat apakah ada baris seperti itu:

%sudo   ALL=(ALL:ALL) ALL

Jika baris ini tidak ada, pengguna dalam sudogrup tidak akan menjadi sudoers. Edit file menggunakan visudoperintah (memeriksa sintaks yang benar dan mengunci file).

Anda juga dapat mencoba menambahkan baris khusus seperti ini:

root    ALL=(ALL:ALL) ALL

Ganti rootdengan nama pengguna Anda, reboot, dan coba jika berhasil.

bfrgzju
sumber
Saya tidak bisa sudomelihat file ini untuk mengatakan ini masalahnya 100%. Namun, berdasarkan skrip chef kami yang kami gunakan di server lain, saya dapat melihat kami tidak menambahkan supersecretuserpengguna ke /etc/sudoers.
Jay Mitchell
Terima kasih banyak untuk jawabannya, saya punya sudodan adminmerekam tetapi mereka tidak diawali dengan %.
berezovskyi
6

Sesuai percakapan Anda dengan @steeldriver di komentar, tebakan saya adalah bahwa pengguna Anda tidak keluar.

Cara termudah untuk memastikan bahwa supersecretusertelah keluar adalah mengetik ke terminal, sebagai pengguna lain who,.

Ketika melakukannya, saya mendapatkan output seperti ini:

mitch@quartz:~$ who
mitch    :0           2014-09-08 09:49 (:0)
mitch    pts/0        2014-09-08 13:18 (:0.0)

Saya hanya melihat diri saya sendiri. Demikian pula, mengetik di wterminal menunjukkan kepada saya siapa yang masuk dan apa yang mereka lakukan:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mitch    :0       :0               09:49   ?xdm?  29:08   0.11s init --user
mitch    pts/0    :0.0             13:18    5.00s  0.06s  0.01s w

Anda dapat BERHENTI pengguna lain, (SSU saya akan menyebutnya) dengan perintah berikut:

pkill -STOP -u SSU

Namun, sebenarnya, solusi termudah adalah dengan hanya me-reboot sistem jika itu mungkin.

Mitch
sumber
Reboot server, dan saya tidak punya sudoakses.
Jay Mitchell
Jadi Anda kehilangan kemampuan bagi pengguna untuk ssh ke server?
Mitch
Maaf, komentar yang diperbarui. Masih bisa ssh ke server, hanya saja tidak bisa sudomengakses.
Jay Mitchell
Bisakah Anda memperbarui posting asli dengan metode yang Anda gunakan untuk memberikan akses sudo kepada pengguna?
Mitch
supersecretuseradalah pengguna yang kami siapkan saat melakukan instalasi Ubuntu.
Jay Mitchell
0

Cara termudah untuk menambahkan supersecretuser ke grup sufo adalah sudo gpasswd -a supersecretuser sudodan meminta supersecretuser logout / kembali; tetapi jika Anda kehilangan kemampuan untuk sudo, saya khawatir Anda harus menginstal ulang.

Tolga Ozses
sumber
-1

Setelah Anda mengecek bahwa hak istimewa file benar:

-r--r----- 1 root root x x x x:x /etc/sudoers

Anda kemungkinan besar telah kehilangan s-bit pada file yang dapat dieksekusi, seharusnya membaca:

-rwsr-xr-x 2 root root x x x  x /usr/bin/sudo

jika tidak: dengan root privilege berikan `

chmod u+s /usr/bin/sudo

dan Anda harus baik-baik saja .. kecuali Anda tahu Anda telah mengubah sudoersfile sendiri! :)

katak hijau
sumber
3
-1 Masalah dengan izin file sudobiner dan sudoerskonfigurasi menghasilkan pesan kesalahan yang berbeda dari yang ada di pertanyaan. Mereka benar-benar merujuk pada izin file yang tidak pantas.
David Foerster