Szukam sposobu ograniczenia dostępu do Internetu na określone okresy, na które zdecyduję, aby ja, administrator, nie mogłem uzyskać dostępu do Internetu w ograniczonym czasie i że nie mogę tego w żaden sposób pominąć, mimo że jestem administrator, z wyjątkiem formatowania dysku twardego i ponownej instalacji systemu operacyjnego.
Nie szukam odwracalnych metod, takich jak dodatek do przeglądarki lub kontrola rodzicielska (jestem administratorem) lub zmiany routera (nie jestem właścicielem routera). Chcę czegoś na poziomie systemu operacyjnego, czegoś, co wymaga uprawnień administratora (oczywiście czegoś takiego nie można zrobić inaczej niż przez administratora) i czegoś nieodwracalnego.
Byłbym wdzięczny i bardzo szczęśliwy, mogąc przyjąć każdy sposób osiągnięcia mojego celu.
Odpowiedzi:
Najpierw wyjaśnijmy nieporozumienie ...
Innymi słowy, czy możesz (jako administrator) zmodyfikować system operacyjny, aby zapobiec czynności, której inny administrator nie może obejść?
Nie. Cokolwiek jeden administrator może zrobić, inny może cofnąć.
Nie oznacza to, że nie można bardzo utrudnić „cofnięcia”. Oto krótki przepis z wykorzystaniem wbudowanej zapory ogniowej,
pf
aby osiągnąć względnie dobrą część tego, co próbujesz osiągnąć.Służy
pf
do „wyłączania” Internetupf.conf
zestaw reguł zapory, który blokuje cały ruch internetowylaunchd
plist , który włącza / wyłączapf
w określonych porach dnia.sudo
dostęp dopfctl
przez zmodyfikowaniesudoers
pliku .Mięso i ziemniaki, które blokują dostęp do Internetu
pf
, sprawdzimy to tutaj.Zablokuj dostęp do Internetu
Możesz zablokować cały dostęp do Internetu za pomocą naprawdę prostego zestawu reguł. Zakładając, że reguła pf jest ustawiona w pliku
~/pf/pf_block_all.conf
, po prostu ustaw następujące dwa wiersze:Następnie możesz „zepsuć” Internet za pomocą prostej komendy, włączając
pf
i określając niestandardowy zestaw reguł.Kiedy będziesz znów gotowy do korzystania z Internetu, po prostu wyłącz
pf
(Śmiało, wypróbuj to, aby zobaczyć, jak blokuje Internet).
Uruchamianie
launchd
plistChciałbyś uruchomić to jako LaunchDaemon, ponieważ wtedy wykona się jako
root
i nie będziesz potrzebowaćsudo
funkcji do uruchomienia. Będziesz potrzebował dwóch listewek uruchamianych w określonych odstępach czasu; jeden do włączenia, a drugi do wyłączeniapf
. W tym poście szczegółowo opisano, jak to osiągnąć.Blokowanie dostępu do
pfctl
Aby usunąć możliwość pisania
sudo pfctl ....
, będziesz musiał usunąć (cóż, przynajmniej utrudnić) pozwolenie na wykonanie. W/etc/sudoers
pliku można wykluczyć program z następującym wpisem:Uniemożliwi to wykonanie
pfctl
, ale istnieją obejścia tego problemu. Zobacz link powyżej.źródło
Nie, nie ma nieodwracalnego sposobu. W skrajnych przypadkach administrator zawsze może po prostu ponownie zainstalować system macOS od zera lub zmienić zegar systemowy, aby okres przerwy w dostawie energii upłynął wcześniej. Będziesz potrzebować opcji oprogramowania układowego, aby wyłączyć sprzęt sieciowy na określony czas, oraz niezmiennego zegara oprogramowania układowego, a takie rzeczy nie istnieją.
źródło