Komut satırından kullanıcıya sudo iznini devre dışı bırak


18

Ubuntu'da root kullanıcısını etkinleştirdim ve ubuntu'yu DE ile sunucu olarak kullanmak istiyorum. Bunun için ilk kullanıcıya verilen sudo ayrıcalığını devre dışı bırakmak istiyorum. Bunu komut satırından nasıl yapabilirim? GUI kullanabileceğimi biliyorum ama komut satırından nasıl yapabilirim?


Gruplarınızı nasıl ayarladığınıza bağlı olarak, visudo
wojox

Yanıtlar:


14

Söz konusu kullanıcının admingrupta olduğu için sudo ayrıcalıkları var . Wojox'un yorumladığı gibi, visudosudo ayrıcalıklarını yönetici grubundan kullanabilir ve kaldırabilirsiniz, ancak bu sudo yeteneklerini yalnızca bir kullanıcı tarafından değil, yönetici grubunun tüm üyelerinden kaldıracaktır .

Alternatif olarak kullanıcıyı yönetici grubundan kaldırabilirsiniz. Ekrana yönelik vikomut satırı yeterince kabul edilirse vigr, kullanıcı adını uygun satırdan çalıştırın ve silin.

"Pure" komut satırı çözümü için, gpasswd/ etc / group komutunu yönettiği ve gruplardan kullanıcı ekleyip silebildiği için bunu deneyin .

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

Aşağıda, bunu yapmanın daha az aptalca bir yolu olduğunu fark etmeden önce ilk cevabım.

Bunu yapmak için daha karmaşık bir yol istiyorsanız kullanabilirsiniz usermod.

usermodAdam sayfasından bir alıntı :

-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.

Bu nedenle, kullanıcı için dışındaki tüm grupları belirtmeniz gerekir 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)

Son olarak, sorunun ruhunu ihlal eder, ancak users-adminkullanıcı ve grupları değiştirmek için komut satırından yazılabilir.


Şimdi Hassas üzerine çıkarmak için grup gibi olduğu görünüyor sudoyerine
Joril

2

Yukarıdaki cevaplarda bilgelik ne olursa olsun, kök hesabı etkinleştirme ve sudo'yu belirli bir kullanıcı için aşağıdaki gibi devre dışı bırakma sorununu çözdüm.

İlk önce kök hesabı etkinleştirin:

$ sudo passwd root

Ubuntu Belgeleri'nde daha fazla bilgi .

Sonra:

  • kök salmak
  • / etc / group dosyasını yedekleyin ve düzenleyin
  • değişiklikleri test etmek için tekrar kullanıcı ol

Yani:

$ 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]

'Guest' kullanıcısı sudoers dosyasından kaldırıldı. Her şey yolunda giderse, herhangi bir sudo komutu aşağıdakine benzer bir mesaj döndürmelidir:

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

Bu bilgisayarda oturum açan bir misafir artık yanlışlıkla veya isteyerek sistemle uğraşamaz, çünkü bunu yapmak için root olmanız gerekir. Elbette, yeni bir kullanıcı eklerseniz, / etc / group düzenlemesini tekrarlamanız gerekir.

Şerefe!

- linuxrev

(Ubuntu 12.04)


1

Uyarı

Dikkatli, kendinizi bu şekilde sistemimizden kilitleyebilirsiniz! Her zaman kök kullanıcının haklarını koruduğundan ve erişebildiğinizden emin olun. Değişiklikleri geri alabilmek için bir kök terminali önceden açık tutun. Kök terminalinizi kapatmadan önce ayarları başka bir terminalde test edin!

soduers

Başka bir cevapta açıklandığı gibi . Düzenleme /etc/sudoerskabuğunda visudo çağırarak:

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

Sonra buna benzer bir şey söyleyen satırı değiştirin:

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

buna:

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

Alternatif olarak, kök kullanıcı hesabınızın etkin olduğundan eminseniz satırı silin.

grup

Varsayılan kullanıcı 'admin' grubunun üyesidir. İsterseniz , kullanıcıların bu gruba üyeliğini de iptal edebilirsiniz . Benim son bağlantıyı takip ederek Bunu yap veya hattan Adını kaldırmak admin:x:120:defaultuseriçinde /etc/groupdosyanın:

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

1
@psusi: Hayır, YANLIŞSIN. Silebilir. Dediği gibi "Ben ubuntu kök kullanıcı etkinleştirdim", o HER ZAMAN ERİŞİM KÖK KULLANICI OLARAK GİRİŞ yapabilirsiniz. Lütfen yazıma ait indirgenizi düzeltin.
con-f-use
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.