Альтернатива для sudo

Альтернатива для sudo

Я знаю, что мы можем выполнить команду/скрипт как супер/другой пользователь, используя sudoкоманду. Но есть ли возможность, когда sudoсама утилита недоступна/удалена пользователем. Если да, то какая может быть альтернатива, кроме sudo? suКроме того, делают sudoи suслужат той же цели?

решение1

'sudo' позволяет вам запускать любую программу от имени любого пользователя. Это 'setuid root', так как сама программа требует для этого права root. Сила sudo в том, что вы можете легко настроить, кто что может делать. Вы можете разрешить пользователю запускать nmap (и только nmap) с помощью sudo.

'su' позволяет вам запускать оболочку как любой пользователь. Когда вы запускаете оболочку, вы, очевидно, можете запустить любую другую программу. Поэтому это более опасно; в хорошо администрируемых системах suдоступ, как правило, отключен, но sudoможет быть доступен для отдельных программ.

Причина, по которой используются две программы выше, — подотчетность. Sudo регистрирует все сделанные запросы. Поэтому администратору очень легко отслеживать, что сделал пользователь, используя привилегии root. Если вы предоставляете доступ к оболочке, пользователь может делать все, что ему/ей захочется (это «черная дыра»). (Конечно, расширенное ведение журнала на уровне ядра этому препятствует).

Конечно, эти программы также могут быть помечены setuid. Это изменяет разрешения владельца двоичного файла при его выполнении. Если вам удастся активировать бит setuidна eg /bin/bashи установить владельца /bin/bashна root, вы будете root каждый раз, когда вы выполняете /bin/bash.

Наконец, физический доступ к машине позволит вам делать все, что вам угодно. Вы можете загрузиться с флэш-накопителя и получить доступ к локальной файловой системе. Вы даже можете настроить свой загрузчик на использование другого initпроцесса, который немедленно запускает оболочку в однопользовательском режиме (не запрашивая пароль).

решение2

Похоже, никто не ответил на вопрос, существуют ли альтернативы sudo, помимо su, поэтому вам может быть интересно узнать, что на сайте sudo на самом деле имеется список альтернатив sudo:

http://www.sudo.ws/other.html

Список включает как программное обеспечение с открытым исходным кодом, так и коммерческое. Вот альтернативы sudo с открытым исходным кодом, перечисленные на данный момент:

При этом я никогда не использовал ни одну из этих альтернатив, и я никогда не видел и не слышал о них в каком-либо другом контексте. Также кажется, что по крайней мере некоторые из них являются экспериментальными, несуществующими или иным образом не поддерживаются. У меня сложилось такое впечатление, что sudoэто suединственная настоящая игра в городе.

решение3

Войдите в систему как пользователь root (если это разрешено на вашем терминале) или перезагрузите компьютер и войдите в систему, указав init=/bin/bash в командной строке, чтобы восстановить требуемую функциональность.

Хочу отметить, что удалить sudo может только пользователь root.

sudo и su выполняют схожие, но разные функции. «sudo» позволяет вам делать что-либо с правами доступа другого пользователя, в то время как «su» позволяет вам «стать» этим пользователем и вести себя как он.

решение4

Если машина установлена openssh-server, то альтернативой sudoможет быть:

ssh root@localhost ..command.. ..goes.. ..here..

Если он не был отключен, то есть, suкак вы упомянули:

su - root -c "..command.. ..goes.. ..here.."

Связанный контент