Pertanyaan Nonaktifkan sudo izin untuk pengguna dari baris perintah


Saya telah mengaktifkan pengguna root di ubuntu dan ingin menggunakan ubuntu sebagai server tanpa DE. Untuk ini saya ingin menonaktifkan hak istimewa sudo yang diberikan kepada pengguna pertama. Bagaimana saya bisa melakukan ini dari baris perintah? Saya tahu saya dapat menggunakan GUI tetapi bagaimana melakukannya dari baris perintah?


17
2018-05-25 03:50


asal


Tergantung pada bagaimana Anda mengatur grup Anda, ketik visudo - wojox


Jawaban:


Pengguna yang dimaksud memiliki hak sudo karena berada di admin kelompok. Seperti komentar wojox, Anda bisa menggunakannya visudo dan menghapus hak sudo dari grup admin, tetapi itu akan menghapus kemampuan sudo dari semua anggota grup admin bukan hanya satu pengguna.

Atau, Anda dapat menghapus pengguna dari grup admin. Jika berorientasi pada layar vi baris perintah dianggap cukup, jalankan vigr dan hapus nama pengguna dari baris yang sesuai.

Untuk solusi baris perintah "murni", cobalah gpasswd, karena menjalankan / etc / group dan dapat menambah dan menghapus pengguna dari grup.

root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
                                         # ^- the group to remove
root@toki:~# gpasswd -d username admin
Removing user username from group admin

root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin sambashare
                                        # ^- username not a member
root@toki:~# gpasswd -a username admin
Adding user username to group admin
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare

Di bawah ini adalah jawaban pertama saya sebelum saya menyadari ada cara yang lebih bodoh untuk melakukannya.

Jika Anda ingin cara yang lebih rumit untuk melakukan ini, Anda dapat menggunakan usermod.

Ini kutipan dari usermod halaman manual:

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
    A list of supplementary groups which the user is also a member of.
    Each group is separated from the next by a comma, with no intervening
    whitespace. The groups are subject to the same restrictions as the
    group given with the -g option.

    If the user is currently a member of a group which is not listed, the
    user will be removed from the group. This behaviour can be changed via
    the -a option, which appends the user to the current supplementary group
    list.

Jadi Anda harus menentukan semua grup untuk pengguna kecuali admin.

root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),119(admin),122(sambashare)

root@toki:~# usermod -G 4,20,24,46,111,122 username

root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),122(sambashare)

Akhirnya, itu melanggar semangat pertanyaan, tetapi orang bisa mengetik users-admin dari baris perintah untuk memodifikasi pengguna dan grup.


13
2018-05-25 04:52



Sepertinya grup yang akan dihapus di Precise sekarang sudo sebagai gantinya - Joril


Kearifan apa pun dapat ditemukan dalam jawaban di atas, saya telah memecahkan masalah mengaktifkan akun root dan menonaktifkan sudo untuk pengguna tertentu sebagai berikut.

Pertama aktifkan akun root:

$ sudo passwd root

Informasi lebih lanjut di Dokumentasi Ubuntu.

Kemudian:

  • menjadi root
  • backup dan kemudian edit / etc / group
  • menjadi pengguna lagi untuk menguji perubahan

Itu adalah:

$ su
# cp /etc/group /etc/group.bak
# nano /etc/group               # find a line like 'sudo:x:27:guest', remove the
                                # user name (i.c. 'guest') and save the file
# exit,
$ [try any sudo command]

'Tamu' tamu sekarang dihapus dari file sudoers. Jika semua berjalan dengan baik, perintah sudo apa pun harus mengembalikan pesan seperti ini:

guest is not in the sudoers file.  This incident will be reported.

Tamu yang masuk ke komputer ini tidak dapat secara tidak sengaja atau dengan sengaja mengacaukan sistem, karena Anda harus menjadi root untuk melakukannya. Tentu saja, jika Anda menambahkan pengguna baru, Anda perlu mengulang pengeditan / etc / group.

Tepuk tangan!

- linuxrev

(Ubuntu 12.04)


2
2018-06-30 20:28





PERINGATAN

Hati-hati, Anda dapat mengunci diri dari sistem kami dengan cara ini! Selalu pastikan, bahwa pengguna root mempertahankan haknya dan Anda dapat mengaksesnya. Biarkan terminal akar terbuka terlebih dahulu sehingga Anda dapat membatalkan perubahan. Uji pengaturan di terminal lain sebelum menutup terminal akar Anda!

soduers

Seperti yang dijelaskan dalam jawaban lain. Edit /etc/sudoers dengan menerapkan visudo di shell:

sudo select-editor # this is optional. it will allow you to select your default editor in shell
sudo visudo

Kemudian ubah baris yang mengatakan sesuatu yang mirip dengan ini:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

untuk ini:

# root may gain root privileges
root ALL=(ALL) ALL

Atau hapus garis, jika Anda yakin, akun pengguna root Anda diaktifkan.

kelompok

Pengguna default adalah anggota grup 'admin'. Jika Anda lebih suka, Anda juga bisa mencabut keanggotaan pengguna ke grup itu. Lakukan itu dengan mengikuti tautan terakhir saya atau hapus namanya dari garis admin:x:120:defaultuserdi /etc/group mengajukan:

cp -n /etc/group /etc/group.bak && \
sed -i 's/\(admin:x.*\)defaultuser\(.*\)/\1\2/g' /etc/group

1
2018-05-25 09:00



@ psusi: Tidak, Anda SALAH. Dia BISA menghapusnya. Seperti yang dia katakan "Saya telah mengaktifkan root user in ubuntu" yang berarti, ia dapat SELALU LOGIN AS ROOT USER UNTUK GAIN ACCESS. Perbaiki downvote posting saya. - con-f-use