Запуск скрипта с правами суперпользователя
Мне нужно создать скрипт для изменения некоторых данных, что потребовало бы разрешения суперпользователя. Есть ли способ автоматизировать этот процесс с помощью сценария оболочки на 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