Как найти всех пользователей Sudo в вашей Linux-системе

На днях один из пользователей Linux спросил меня, как найти количество суперпользователей (пользователей, имеющих доступ к sudo), которые есть у меня на моем Linux-сервере?

Хороший вопрос, но у меня не было ответа. ЛОЛ!

Итак, я сделал быстрый поиск в Google.

К моему удивлению, это не так сложно. Это всего лишь однострочная команда.

Почему я не знал этого простого трюка?

Для тех, кто задается вопросом, как найти всех пользователей sudo или суперпользователей в вашей системе Linux, читайте дальше.

Вы можете утверждать, что хороший администратор Linux должен знать, сколько суперпользователей и обычных пользователей есть в системе, которую он управляет. Ты прав!

Тем не менее, есть вероятность, что иногда нам нужно предоставить временный доступ к суду нормальному пользователю для установки программного обеспечения или выполнения определенной административной задачи самостоятельно.

Со временем мы можем забыть отозвать доступ к sudo.

Таким образом, это хорошая практика, чтобы знать, сколько супер пользователей в вашей системе время от времени.

Если есть какой-либо забытый или нежелательный доступ к суду, вы можете просто отменить их.

 

Найти всех пользователей Sudo в Linux-системе

 

Сначала перечислим всех пользователей в системе.

 

Для этого запустите:

 

 # awk -F':' '{ print $1}' /etc/passwd

 

Пример вывода моей системы Ubuntu:

 

root

daemon

bin

sys

sync

games

man

lp

mail

news

uucp

proxy

www-data

backup

list

irc

gnats

nobody

systemd-timesync

systemd-network

systemd-resolve

systemd-bus-proxy

syslog

_apt

lxd

messagebus

uuidd

dnsmasq

sshd

sk

senthil

kumar

ostechnix

 

Вы также можете использовать следующую команду для перечисления всех пользователей:

 

 # compgen -u

 

Среди всех пользователей мы найдем только пользователей sudo или super в нашей Linux-системе.

 

 # grep '^ sudo:. * $' / etc / group | cut -d: -f4

sк, itsecforu

 

Кроме того, вы можете использовать команду «getent» вместо «grep», чтобы получить тот же результат.

 

 # getent group sudo | cut -d: -f4

sк, itsecforu

 

Как видно из вышесказанного, «sk» и «itsecforu» являются пользователями sudo в моей системе.

 

В приведенных выше примерах мы перечислили всех пользователей sudo.

 

Возможно, вам захочется узнать, есть ли у определенного пользователя привилегии sudo или нет.

 

 # sudo -l -U sk

 

Пример вывода

 

 Matching Defaults entries for sk on ubuntuserver:

env_reset, mail_badpass,

secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin



User sk may run the following commands on ubuntuserver:

(ALL : ALL) ALL

 

Как видите, пользователь с именем «sk» может выполнять все команды.

 

Итак, он в группе судо.

 

Давайте проверим другого пользователя.

 

 # sudo -l -U senthil

 

Пример вывода

 

 User senthil is not allowed to run sudo on ubuntuserver.

Oops! The user “senthil” is not allowed to run sudo, so he is just a normal user.

 

Мы также можем найти, имеет ли пользователь доступ к sudo, выполнив следующую команду:

 

 # sudo -nv

 

Если вы ничего не получаете в качестве вывода, пользователь все равно имеет доступ к sudo.

 

Если вы видите вывод, как показано ниже, пользователь не имеет доступа к sudo.

 

 # sudo -nv



Sorry, user senthil may not run sudo on ubuntuserver.

 

Удалить привилегии пользователя sudo

 

Теперь вы знаете пользователей sudo в вашей Linux-системе. Возможно, вы не захотите получить доступ к некоторым пользователям.

 

Если вы хотите удалить доступ к sudo для определенного пользователя, вы можете просто запустить:

 

 $ sudo deluser <имя_пользователя> sudo

 

Пример:

 

 #  sudo deluser itsecforu sudo

 

Пример вывода:

 

 Removing user `itsecforu' from group `sudo' ...

Done.

 

Вышеупомянутая команда удалит пользователя с именем «itsecforu» из группы «sudo», но не из системы.

 

Другими словами, пользователь «itsecforu» теперь станет обычным пользователем.

 

Кроме того, вы можете использовать следующую команду для отмены доступа sudo от пользователя:

 

 # sudo gpasswd -d itsecforu sudo

 

Будьте внимательны при удалении пользователей из группы sudo.

 

Не удаляйте действительного администратора из группы «sudo».

 

Убедитесь, что пользователь «itsecforu» действительно удален из группы sudo, используя команду:

 

 # sudo -l -U itsecforu

 

Пользователь «itsecforu»  не может запускать sudo на ubuntuserver.

 

Да, пользователь«itsecforu»» был удален из группы sudo, и он не может выполнять какие-либо административные задачи.

 

И это все на данный момент. Надеюсь, вы найдете это полезным.

 

 

2018-05-28T16:52:20
Мануал