Удалить конечный символ, если условие соответствует

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

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

0
05.07.2019, 20:07
2 ответа

Думаю, сойдет:

sed '/(.*)/! s/)$//' file 
1
28.01.2020, 02:39

Я выполнил приведенную ниже команду awk

команда

awk '$0 !~ /\(/{gsub(")","",$0);}1' filename

выход

http://foo.com/abc_(Programming_Language)
http://example.com/test
0
28.01.2020, 02:39

Теги

Похожие вопросы