Как я могу передать Root Password в скрипт

У меня есть пароль root в одном из моих сценариев, и я хочу запустить еще один скрипт, который требует разрешения root из этого скрипта. Как я могу использовать пароль root, который у меня есть, так что мне не нужно спрашивать у пользователя пароль root, который запускает второй скрипт.

  • Почему открыт порт 1111, и безопасно ли быть?
  • Проблема с удаленным отображением приложений Java
  • Разрешение sudo запрещено
  • Как записывать / записывать файловую систему по имени файла в Linux?
  • Лучшие шрифты Ubuntu
  • Как я могу принудительно перезагрузить какой-то URL?
  • Разрешения Unix-разрешения с пользователями, принадлежащими к той же группе, которые получают доступ к папке
  • Multi-boot: Windows 10 не может видеть один диск ntfs
  • Сохраняют ли символьные файлы ссылок SVN?
  • Как я могу проверить правильность передачи файла 1 ТБ?
  • Случайный fsck на смонтированном
  • Лучшая файловая система для использования с несколькими ОС?
  • 2 Solutions collect form web for “Как я могу передать Root Password в скрипт”

    В этом есть много последствий для безопасности, но давайте вернемся к лучшему способу справиться с этим.

    Не используйте пароль root напрямую. Используйте sudo для запуска скриптов. Sudo устанавливается по умолчанию на Ubuntu и доступен почти во всех популярных дистрибутивах Linux в репозиториях пакетов. Как только sudo будет установлен, вы захотите отредактировать файл / etc / sudoers.

    su - visudo # add something like the following: Cmnd_Alias SCRIPT=/path/to/script1 script_user ALL=NOPASSWD: SCRIPT 

    Таким образом, script_user может запускать первый скрипт как root через sudo, который затем запускает другой скрипт как root. Для получения дополнительной информации о файле sudoers см. sudoers(5) страницу sudoers(5) в вашей системе.

    Но ваши сценарии абсолютно должны выполняться как root? В большинстве случаев это вовсе не требуется, но делается из удобства.

    Другой вариант – установить suid для файла в root. Пример: chmod u+s script.sh как root, поэтому, когда обычный пользователь выполняет скрипт, он запускается с разрешениями файла владельца aka root.

    Просто для ваших собственных знаний, если вы не хотите, чтобы sudo запускался без пароля, вы можете передать пароль на sudo через stndin, например echo PASSWORD|sudo -S ./script.sh

    Однако это может быть проблемой безопасности, поскольку он покажет пароль в истории или любой, кто будет смотреть как «ps». Вы также можете посмотреть в Expect and Empty.

    Давайте будем гением компьютера.