Wéi lafen Shell Scripte mat Sudo Command a Linux


sudo ass e mächtegt Kommandozeil-Tool, deen et erlaabt engem erlaabte Benotzer e Kommando als en anere Benotzer auszeféieren (de Superuser par défaut), wéi definéiert vun enger Sécherheetspolitik. Op de meeschte wann net all Linux Systemer gëtt d'Sécherheetspolitik duerchgefouert d'Datei /etc/sudoers.

Dofir, fir e Shell-Skript oder Programm als Root auszeféieren, musst Dir sudo Kommando benotzen. Wéi och ëmmer, sudo erkennt a leeft nëmmen Kommandoen déi existéieren an de Verzeichnisser, déi am secure_path am /etc/sudoers spezifizéiert sinn, ausser wann e Kommando am secure_path präsent ass, wäert Dir e Feeler wéi deen hei drënner entgéintwierken.

Dëst geschitt och wann de Skript an engem Verzeechnes an der PATH Ëmweltvariabel existéiert, well wann e Benotzer sudo oprufft, gëtt PATH duerch secure_path ersat.

$ echo  $PATH
$ ls  -l
$ sudo proconport.sh 80

Am uewe genannte Szenario ass de Verzeechnes /home/aaronkilik/bin an der PATH Ëmfeldvariabel a mir probéieren de Skript /home/aaronkilik/bin/proconport.sh auszeféieren (fënnt Prozess nolauschteren op engem Hafen) mat root Privilegien.

Duerno hu mir de Feeler sudo: proconport.sh: Kommando net fonnt, well /home/aaronkilik/bin net am sudo secure_path ass wéi am nächste Screenshot gewisen.

Fir dëst ze fixéieren, musse mir de Verzeechnes mat eise Scripten am sudo secure_path addéieren andeems Dir de visudo Kommando benotzt andeems Dir /etc/sudoers Datei wéi follegt ännert.

$ sudo visudo

Opgepasst: Dës Method huet sérieux Sécherheetsimplikatiounen besonnesch op Serveren déi um Internet lafen. Op dës Manéier riskéiere mir eis Systemer op verschidden Attacken auszesetzen, well en Ugräifer deen et fäerdeg bréngt Zougang zu engem onsécheren (ouni Superuser Privilegien) Verzeechnes ze kréien, deen op secure_path bäigefüügt gouf, kann e béiswëlleg Skript/Programm mat sudo Kommando ausféieren.

Aus Sécherheetsgrënn, kuckt de folgenden Artikel vun der sudo Websäit erklärt eng Schwachstelle betreffend secure_path: https://www.sudo.ws/sudo/alerts/secure_path.html

Am léifsten kënne mir den absolute Wee fir e Skript ubidden wärend se mat sudo lafen:

$ sudo ./proconport.sh 80

Dat ass et! Dir kënnt d'Lëscht vun Artikelen iwwer sudo Kommando verfollegen:

  1. Wéi een 'sudo' Kommando ausféiert ouni e Passwuert an Linux anzeginn
  2. Wéi halen ech 'sudo' Passwuert Timeout Sessioun méi laang am Linux
  3. Wéi Fix \De Benotzernumm ass net an der Sudoers Datei. Dësen Tëschefall gëtt gemellt an Ubuntu
  4. Loosst Sudo Iech beleidegen wann Dir falscht Passwuert agitt

Wann Dir Froen oder Gedanken iwwer dësen Artikel hutt, deelt mat eis iwwer de Kommentarform hei drënner.