Запуск скрипта с правами суперпользователя

Мне нужно создать скрипт для изменения некоторых данных, что потребовало бы разрешения суперпользователя. Есть ли способ автоматизировать этот процесс с помощью сценария оболочки на Mac 10?

Пример скрипта:

sed s/Hello/World/g /usr/local/opt/test.xml 

Для запуска этого скрипта пользователю необходимо разрешение суперпользователя. Есть ли способ предоставить корневые учетные данные в скрипте и выполнить?

1 ответ

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

Из справочной страницы chmod:

4000    (the set-user-ID-on-execution bit) Executable files with
        this bit set will run with effective uid set to the uid of
        the file owner.  Directories with the set-user-id bit set
        will force all files and sub-directories created in them to
        be owned by the directory owner and not by the uid of the
        creating process, if the underlying file system supports
        this feature: see chmod(2) and the suiddir option to
        mount(8).

Пример команды может выглядеть так:

sudo chown root:root file.sh
sudo chmod 4755 file.sh
Другие вопросы по тегам