Puncte:0

De ce sudo su nu funcționează în scriptul meu?

drapel in

Vreau să schimb proprietatea, apartenența la grup și drepturile de acces într-un script printr-o secvență de comenzi.

Unele dintre ele au nevoie de permisiuni root.

Am făcut prima dată sudo su într-un terminal și apoi a rulat toate comenzile necesare o dată la rând. Am aflat că după sudo su toate definițiile macro abc=<...> trebuie pus după sudo su, pentru că se pare că root nu știe despre macro-urile existente în celălalt context.

După ce toate comenzile mele au funcționat conform așteptărilor, am sunat histoy, a eliminat numerele de rând și a încadrat partea relevantă a acesteia în sudo su ... Ieșire.

Pot lipi această secvență de comenzi într-un terminal și funcționează bine.

Totuși, dacă îl pregătesc cu o linie #!/bin/bash și stocați-l ca fișier și faceți-l executabil, care nu funcționează:

Mi se cere parola, dar apoi ajung la nivel de linie de comandă, promptul se termină în #, ceea ce îmi arată că sudo su a functionat. Dar restul secvenței mele de comandă nu a funcționat.

Cum pot realiza celelalte comenzi care urmează să fie executate?

Fiind un începător în linia de comandă, cred că nu am înțeles încă ceva important. Vă rugăm să explicați cum să o faceți și de ce.

Artur Meinild avatar
drapel vn
Nu utilizați `sudo` în interiorul scripturilor. În schimb, rulați întregul script ca root. Dacă este un cronjob, rulați-l din crontab-ul root.
drapel in
Artur, sugerezi să pui `sudo -u ` în fața tuturor comenzilor neprivilegiate și rulați întregul script ca `sudo xyz.sz`? Totuși, acest lucru contrazice primul sfat de a nu utiliza niciodată sudo într-un script.
Artur Meinild avatar
drapel vn
Nu am spus niciodată, am spus „nu”. Dar singurul exemplu pe care îl dați ar fi excepția, iar asta ar putea fi viabil în unele cazuri. ;-)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.