Как заставить пользователя стать root

Я написал сценарий bash для использования в моем блоке ubuntu. Теперь я хотел бы предотвратить запуск этого сценария под своим собственным пользователем и только запустить его как root (sudo).

Есть ли возможность заставить это. Могу ли я каким-то образом позволить моему сценарию запрашивать разрешения root, если я запускаю его под своим собственным именем пользователя?

  • получение 553 - невозможно создать файл в vsftpd (ubuntu 12.04)
  • Установка устройства без разрешения на чтение
  • Установка прав доступа rwx по умолчанию для группы, но только rw разрешения по умолчанию для файлов
  • Как вернуть команду chown?
  • Разрешение исполняемого файла Unix и разрешения пользователя во время выполнения
  • Apache не запускается
  • Добавьте нового пользователя с разрешениями, аналогичными существующим пользователям.
  • Как установить USB-накопитель на Debian Sid?
  • 4 Solutions collect form web for “Как заставить пользователя стать root”

    У меня есть стандартная функция, которую я использую в bash для этой цели:

     # Check if we're root and re-execute if we're not. rootcheck () { if [ $(id -u) != "0" ] then sudo "$0" "$@" # Modified as suggested below. exit $? fi } 

    Там, вероятно, более элегантные способы (я написал это AGES еще!), Но это отлично работает для меня.

    Я использую эту однострочную версию, легко скопировать пасту поверх скриптов

     [ `whoami` = root ] || { sudo "$0" "$@"; exit $?; } 
     sudo chown root yourcode sudo chmod 500 yourcode 

    Вуаля!

    Вы можете изменить разрешения, чтобы только root мог его выполнить. Или вы можете использовать команду whoami и в случае, если она не является корневой силой sudo.

    Interesting Posts

    Проблемы с загрузкой в ​​lubuntu

    Как использовать awk вместе с командой, чтобы показать идентификатор процесса командой «ps»

    Firefox заменяет неправильный запасной шрифт с нормальным весом

    Клонирование жестких дисков и контрольные суммы без согласования

    Как я могу заставить Cj отправить новую строку в командной строке tmux?

    UID удаленной учетной записи

    Установка Fedora рядом с Ubuntu

    Неспособная игра для создания пользователя, не устанавливающего пароль

    создать многолучевое распространение для локального раздела

    Не удалось запустить сервер базы данных MariaDB после обновления до debian 9

    Regex `/ pattern / g` и ed`: g / pattern / `: что было первым, и почему` g`?

    Зачем . / home / Desktop неправильный и ./Desktop правильно?

    systemd "onehot" для запуска poweroff

    Можно ли назначить несколько команд одной горячей клавише? (bash, xterm)

    Способы организации и доступа к часто посещаемым каталогам и файлам?

    Linux и Unix - лучшая ОС в мире.