Как изменить этот сценарий OSX

Я сделал сценарий для автоматического закрытия моего компьютера. Проблема состоит в том, что это всегда спрашивает пароль. Как это должно быть изменено?

do shell script "shutdown -h now" with administrator privileges and password
2
задан 17.11.2010, 02:35

4 ответа

сделайте сценарий оболочки "завершает работу-h теперь", в теории был бы...., но это приводит к предупреждающему сообщению "несуперпользователя".

Насколько я могу сказать, и это имеет смысл, необходимо быть суперпользователем для перезагрузки системы из командной строки. Почему это имеет смысл? потому что Вы не хотите кого-то перезагружающего компьютер от ssh сессии, если у них нет Суперпользователя / корневой доступ...

Мне было бы интересно, если бы кто-либо нашел способ сделать это....

Scott точен...

Скажите приложению "средство поиска" для перезапуска - система Перезапуска Говорит приложению "средство поиска" для завершения работу - система Завершения работы

Но это предложит пользователю сохранить любые несохраненные файлы... Таким образом, если Ваша попытка обойти подсказки, это не будет работать.

1
ответ дан 08.12.2019, 07:29

Разве это не работало бы?

tell application "Finder" to shut down
0
ответ дан 08.12.2019, 07:29

Вот:

do shell script "shutdown -h now" user name "me" password "mypassword" with administrator privileges
1
ответ дан 08.12.2019, 07:29

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

  1. создайте сценарий яблока, как Вы описали, и сохраните его на свой Рабочий стол как shut_me_down

  2. откройте терминал, CD к Вашей папке Desktop и работайте:

    chmod -R u+s shut_me_down.app/
    sudo chown -R root shut_me_down.app/
    
  3. Теперь, когда Вы дважды щелкаете по shut_me_down значку на своем рабочем столе, он должен завершить работу без любых подсказок.

При поиске командной строки способ сделать это (вместо того, чтобы нажать на значок на рабочем столе) затем, Вы могли пропустить setuid/chmod вещь и вместо этого отредактировать Ваше sudoers использование файла

sudo visudo

Добавьте свой идентификатор пользователя как кого-то, который может выполнить sudo без пароля и затем попытаться запустить Ваш скрипт с помощью "sudo scriptname"

Вот ссылка, которая может помочь также: Создание исполняемого файла, выполненного как корень каждый раз - MacOSX.com

1
ответ дан 08.12.2019, 07:29

Теги

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