Is there any way to make my own su provision, maybe even my custom su executable which just asks for the root password and gives you the privileges, sending you back to the shell you were using without taking you to bash? Thanks a lot.
Нет. Механизм повышения привилегий в Unix включает выполнение нового процесса. Исполняемый файл su
имеет специальный бит разрешения, называемый «установить -бит идентификатора пользователя -» или «setuid», который заставляет его выполняться таким образом, что эффективный идентификатор пользователя процесса совпадает с идентификатором владельца. этого исполняемого файла.
Если su
успешно проходит аутентификацию, он запускает новую оболочку.
Обычный способ получить права суперпользователя, оставаясь в той же оболочке, — это запускать отдельные команды в привилегированном режиме с помощью утилиты sudo
.
Если вы часто администрируете какую-либо машину, вы можете настроить пользовательскую среду для использования в качестве пользователя root. Когда вы станете root, просто запустите ту оболочку, которая вам нравится, и настройте ее файлы конфигурации в домашнем каталоге root.
$ su
password:
root # exec /path/to/favorite/shell
Если вы босс, вы можете сделать эту оболочку корневой оболочкой входа в систему.
Я выполнил приведенную ниже команду awk
команда
awk '$0 !~ /\(/{gsub(")","",$0);}1' filename
выход
http://foo.com/abc_(Programming_Language)
http://example.com/test