Wie installiere ich sudo-Beleidigungen auf dem Mac?

Wie installiere ich sudo insults auf einem Mac-Terminal?

Anscheinend hat Apple es von Darwin bereinigt, also hilft das Hinzufügen Defaults insultsdurch sudo visudonicht.


Der sudo-Befehl für beleidigende Dinge sagt, wenn Sie ein falsches Passwort eingeben.

Antworten (1)

Um ein sudo mit Beleidigungen zu installieren , müssen Sie es selbst kompilieren:

Anforderungen: Xcode 8.0, Sierra 10.12, wahrscheinlich SIP deaktiviert

  • sudo und visudo sichern:

    sudo cp /usr/bin/sudo  /usr/bin/sudo.backup
    sudo cp /usr/sbin/visudo  /usr/sbin/visudo.backup
    
  • Erstellen Sie ein Verzeichnis:mkdir sudo
  • Wechseln Sie in das Verzeichnis:cd sudo
  • Locken Sie das Open-Source-Sudo von Apple:

    curl https://opensource.apple.com/tarballs/sudo/sudo-83.tar.gz | tar zxf -
    
  • cd in den Quellordner:

    cd sudo-83/src
    
  • Konfigurieren, erstellen und installieren Sie es:

    ./configure --with-password-timeout=0 --disable-setreuid --with-env-editor --with-pam --with-libraries=bsm --with-noexec=no --sysconfdir="/private/etc" --with-timedir="/var/db/sudo" --with-all-insults
    make
    sudo make install
    

    Die Datei sudo-83/src/INSTALL enthält viel mehr Tweak-Optionen für den configure-Befehl!

  • Die Dateien können in /usr/local/bin/ und /usr/local/sbin/ installiert sein, sodass Sie sie möglicherweise verschieben müssen (in meinem Fall musste ich):

    sudo mv /usr/local/sbin/visudo /usr/sbin/visudo
    sudo rm /usr/local/bin/sudoedit
    sudo mv /usr/local/bin/sudoreplay /usr/bin/
    sudo mv /usr/local/bin/sudo /usr/bin/sudo
    /usr/bin/sudo ln -s /usr/bin/sudo /usr/bin/sudoedit
    

    oder ändern Sie Ihren Pfad und stellen Sie /usr/local/bin und /usr/local/sbin voran.

  • Eintreten/usr/bin/sudo /usr/sbin/visudo

  • Fügen Sie die Zeile im Einfügemodus hinzu (einfach drücken i)

    Defaults        lecture_file = "/etc/sudo_lecture" #<-already there
    Defaults        insults
    

    Speichern Sie die Datei, nachdem Sie mit geklickt eschaben :wq!.

  • Wahrscheinlich müssen Sie Terminal jetzt beenden und neu starten.

Ergebnisse:

host:~ user$ ls -l /usr/bin/sudo*
-rwsr-xr-x  1 root  wheel  restricted 225428 Oct 19 02:01 /usr/bin/sudo
-r-x--x--x  1 root  wheel  restricted 369136 Oct 19 02:00 /usr/bin/sudo.backup
lrwxr-xr-x  1 root  wheel  restricted     13 Oct 19 02:03 /usr/bin/sudoedit -> /usr/bin/sudo
-rwxr-xr-x  1 root  wheel  restricted  49544 Oct 19 02:01 /usr/bin/sudoreplay
host:~ user$ sudo openssl sha1 /usr/bin/sudo*
SHA1(/usr/bin/sudo)= 87d9ad990813b5a949d07267d566bb3a1fddeec0
SHA1(/usr/bin/sudo.backup)= 088c317bf7b8a146803533173699021b9aef5b16
SHA1(/usr/bin/sudoedit)= 87d9ad990813b5a949d07267d566bb3a1fddeec0
SHA1(/usr/bin/sudoreplay)= f76c5ad8d6f2aebbc24d77fee54a54ba9d207e25

Last login: Wed Oct 19 02:09:33 on console
host:~ user$ sudo ifconfig
Password:
Do you think like you type?
Password:
He has fallen in the water!
Password:
I don't wish to know that.
sudo: 3 incorrect password attempts

Die Dateien können nach einem System-Update/Upgrade überschrieben werden!


Das Neukompilieren von sudo mit Beleidigungen funktioniert auch in älteren Systemen - Sie müssen jedoch den entsprechenden Tarball auswählen (z. B. sollte sudo-73.tar.gz mit 10.9 und 10.10 funktionieren).


Durch Ändern von ins_*.h im src- Ordner sollten Sie in der Lage sein, mehr Beleidigungen aufzunehmen. Sie können auch zusätzliche ins_*.h-Dateien hinzufügen, aber dann müssen Sie sie in beleidigungen.h aufnehmen, wie es die anderen vier bereits sind. Du darfst natürlich auch nicht-englische Beleidigungen einfügen!

@displayName Ich habe die Anleitung in einer virtuellen Maschine getestet und es hat funktioniert. Die beiden sudo-Dateien unterscheiden sich vor allem in der Größe: Das Original hat etwa 370 KB, das modifizierte (mit Beleidigungen) ist viel kleiner: ~235 KB. Bitte prüfen Sie das. Ich kann die Zusammenstellung erneut ausführen und die genaue Größe überprüfen und / oder sie irgendwo hochladen
Habe es gerade auf macOS Mojave 10.14.3 getestet und es hat einwandfrei funktioniert. Nur dass die sudo-Dateien nicht ersetzt werden können und der Pfad aktualisiert werden muss, wie in der Antwort beschrieben.
Ist es möglich, neu zu kompilieren sudound gleichzeitig den TouchID-Trick zuzulassen?
@MaxCoplan sudosollte nicht von der Authentifizierungsmethode abhängen. Ich kann das aber nicht testen, da ich kein TouchID-Gerät besitze.
Bitte sehen Sie sich meine vollständige Frage an