Pisząc skrypt powłoki, w którym niektóre, ale nie wszystkie polecenia w nim potrzebują uprawnień administratora, powinienem:
dodaj sudo do tych poleceń, które wymagają uprawnień administratora i uruchom skrypt powłoki bez sudo, lub
nie dodajesz sudo do tych poleceń, które wymagają uprawnień administratora, ale uruchamiasz skrypt powłoki za pomocą sudo?
Po drugie, będę musiał podać hasło tylko raz, ale wszystkie polecenia w skrypcie będą uruchamiane z uprawnieniami administratora, w tym tymi, które nie potrzebują.
Po pierwsze, może być konieczne wielokrotne podanie hasła dla różnych poleceń sudo, podczas gdy uprawnienia administratora są przyznawane tylko tym, które ich potrzebują.
Ze względów bezpieczeństwa pierwszy sposób jest lepszy. Dla wygody drugi sposób jest lepszy.
Myślałem o przyjęciu pierwszego sposobu. Mam więc do czynienia z niedogodnością związaną z udostępnianiem haseł wielu poleceniom sudo w skrypcie powłoki.
-
Dobrze napisany skrypt wykryje, czy działa z odpowiednimi uprawnieniami i w ogóle nie wywoła sudo, ale jest wiele złych skryptów
Więc powinienem użyć drugiego sposobu? W takim razie,
jak napisać: „skrypt wykryłby, gdyby działał z odpowiednimi uprawnieniami i wcale nie wywoływał sudo”?
jak mogę poprawić jego bezpieczeństwo, aby uniknąć problemu z nadawaniem uprawnień superużytkownikowi komendom, które nie potrzebują ich podczas uruchamiania skryptu w sudo?
- Czy to proste podejście miałoby najlepsze z obu podejść: dodaj sudo do poleceń, które go potrzebują, i uruchom skrypt z sudo lub bez, w zależności od tego, czy chcę wygodę czy bezpieczeństwo? Czy to podejście ma jakiś problem?
Dzięki.
sudo
ma domyślną pamięć podręczną poświadczeń. Czy to jest wyłączone na twojej platformie?