/ / Wyłącz wymagania sudo dla wszystkich poleceń Pythona - python, macos, shell, terminal, sudo

Wyłącz wymagania sudo dla wszystkich poleceń Pythona - python, macos, shell, terminal, sudo

Jak mogę (na Mac OSX) usunąć potrzebę sudo podczas pracy z Pythonem. To może pozostać na wszystko inne - ale wolałbym zawsze być w trybie administratora, więc nie zawsze muszę pisać w sudo.

Odpowiedzi:

1 dla odpowiedzi № 1

To nie jest pytanie programistyczne, ale i tak dam mu wir.

Najbezpieczniejszym sposobem na zrobienie tego jest prawdopodobnie rozpoczęcie sesji terminalowej sudo -s co daje powłokę root. Następnie wszystko, co robisz w tej powłoce (w tym, ale nie tylko, działa python lub skrypty w języku Python) będą miały status root, z pełnym dostępem do wszystkiego na komputerze.

Jako podejście do młota możesz setuid plik wykonywalny Pythona i spraw, aby zawsze działał jako root. Jest to jednak straszny, okropny pomysł; każdy Skrypt Pythona będzie miał uprawnienia root'a! Jeśli ktoś może dostać jakiś gnojkowaty Python na twoje pudełko i przekonać cię do jego uruchomienia, wtedy będzie miał pełny dostęp do twojej maszyny.

Jeśli jednak chcesz żyć na krawędzi, możesz spróbować:

sudo chown root `which python`
sudo chmod u+s `which python`

Jednym ze sposobów na złagodzenie tego (tak nieznacznie) byłoby zrobienie kopii interpretera Pythona (nazwij go, powiedzmy, python-root), wykonaj powyższe czynności na tej kopii i wywołaj to dla sesji interaktywnych. Skrypty nadal będą wykorzystywać akcje python plik wykonywalny i nie działa jako root. Oczywiście jest to nie mniej niż naciśnięcie klawiszy sudo python chociaż przynajmniej nie musiałbyś podawać hasła. Byłoby to również wygodne dla #! (shebang) linia w skryptach, które zawsze muszą działać jako root.


0 dla odpowiedzi nr 2

Jeśli nie chcesz wpisywać swojego hasła dla każdego polecenia, możesz uruchomić pythona z sudo, tak samo jak w przypadku dowolnego innego programu, w powłoce, którą wpisujesz sudo python. Ale jeśli chcesz, aby python działał zawsze z uprawnieniami roota, nie mogę ci pomóc, przepraszam.