GNU/Linux >> Znalost Linux >  >> Ubuntu

Zakázat uživateli Sudo oprávnění z příkazového řádku?

Aktivoval jsem uživatele root v ubuntu a chci používat ubuntu jako server bez DE. Za tímto účelem chci zakázat oprávnění sudo udělené prvnímu uživateli. Jak to mohu udělat z příkazového řádku? Vím, že mohu použít GUI, ale jak to udělat z příkazového řádku?

Přijatá odpověď:

Dotyčný uživatel má práva sudo, protože je v admin skupina. Jak poznamenal wojox, můžete použít visudo a odebrat oprávnění sudo ze skupiny administrátorů, ale tím by byly odebrány možnosti sudo ze všech členové skupiny administrátorů nejen jeden uživatel.

Případně můžete odebrat uživatele ze skupiny administrátorů. Pokud je obrazovka orientována vi je dostatečně považován za příkazový řádek, spusťte vigr a smažte uživatelské jméno z příslušného řádku.

Pro „čisté“ řešení příkazového řádku vyzkoušejte gpasswd , protože spravuje /etc/group a může přidávat a odstraňovat uživatele ze skupin.

[email protected]:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
                                         # ^- the group to remove
[email protected]:~# gpasswd -d username admin
Removing user username from group admin

[email protected]:~# id -Gn username
username adm dialout cdrom plugdev lpadmin sambashare
                                        # ^- username not a member
[email protected]:~# gpasswd -a username admin
Adding user username to group admin
[email protected]:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare

Níže je moje první odpověď, než jsem si uvědomil, že existuje méně hloupý způsob, jak to udělat.

Pokud to chcete udělat složitějším způsobem, můžete použít usermod .

Zde je citát z usermod manuálová stránka:

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

Musíte tedy zadat všechny skupiny pro uživatele kromě admin .

[email protected]:~# 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)

[email protected]:~# usermod -G 4,20,24,46,111,122 username

[email protected]:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),122(sambashare)

Konečně to porušuje ducha otázky, ale dalo by se napsat users-admin z příkazového řádku k úpravě uživatelů a skupin.

Související:Jak se přihlásit k serveru SQL pomocí uživatele AD?
Ubuntu
  1. Spustit příkaz Sudo a zadat heslo na stejném řádku?

  2. Jak ztlumit z příkazového řádku?

  3. Jak se automaticky připojit z příkazového řádku?

  1. Zakázat opakování klávesnice z příkazového řádku?

  2. Spuštění softwarového centra z příkazového řádku jako root?

  3. Příklady příkazů sudo v Linuxu

  1. su - uživatel Vs sudo su - uživatel

  2. Testovat přihlašovací údaje MySQL z příkazového řádku Linuxu?

  3. Nagios:Zakažte upozornění z příkazového řádku v systému Windows/Linux