На днях один из пользователей 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, и он не может выполнять какие-либо административные задачи.
И это все на данный момент. Надеюсь, вы найдете это полезным.