Удалить файл с помощью sudo вместе с паролем в той же команде

Этому может быть много разных причин, в том числе производитель аппаратного обеспечения вашего телефона. В настоящее время я создал свою библиотеку Captive Portal для ОС Mongoose, отвечающую на все запросы DNS с IP-адресом устройства, и у меня нет проблем с устройствами, кроме устройств Samsung, которые, похоже, требуют ответа 200 с текстом.

Вот стек библиотеки :https://github.com/tripflex/captive-portal-wifi-stack

В частности, вот обработка Captive Portal, а также сведения об используемых мной конечных точках и сведения о том, как это обрабатывается в README:

https://github.com/tripflex/captive-portal

Вы увидите, что одно решение, которое я использовал для устройств Samsung, заключается в возврате 200 со сгенерированными HTML-файлами с использованием метатега обновления:

https://github.com/tripflex/captive-portal#cportalredirect_file-setting


   
      Redirecting to Captive Portal
      
   
   
      

Please wait, refreshing. If page does not refresh, click here to login.

Но на самом деле главное было настроить обработку конечных точек для каждого конкретного устройства:

https://github.com/tripflex/captive-portal#known-endpoints

  • /mobile/status.phpAndroid 8.0 (Samsung s9+)
  • /generate_204Андроид
  • /gen_204Андроид
  • /ncsi.txtОкна
  • /hotspot-detect.htmliOS/OS X
  • /hotspotdetect.htmliOS/OSX
  • /library/test/success.htmliOS
  • /success.txtОС X
  • /kindle-wifi/wifiredirect.htmlKindle при запросе с помощью com.android.captiveportallogin
  • /kindle-wifi/wifistub.htmlKindle перед запросом с окном входа в авторизованный портал (, возможно, для обнаружения?)

0
12.01.2020, 00:56
2 ответа

Не делайте этого или любой версии того, что вы пытаетесь сделать, но вы можете использоватьyes:

$ yes 'password' | sudo -Su USER rm -f FILE

Вместо этого вы должны разрешить USERдоступ к sudo без пароля, изменив/etc/sudoers(использование visudoтам, где доступно ), и добавив этого пользователя в требуемую группу.

Как запустить определенную программу от имени пользователя root без запроса пароля?

0
28.01.2020, 02:56

Не делай этого так.

Вы можете написать сценарий, а затем настроить sudo(/etc/sudoers), чтобы позволить вашему пользователю sudoиспользовать его без пароля.

Вы также можете написать программу go, а затем использовать suid.

0
28.01.2020, 02:56

Теги

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