¿Cómo instalo sudo insults † en una terminal Mac?
Aparentemente, Apple lo ha limpiado de Darwin, por lo que agregarlo Defaults insults
no sudo visudo
ayuda.
† Las cosas insultantes que dice el comando sudo cuando ingresas una contraseña incorrecta.
Para instalar un sudo con insultos tienes que compilarlo tú mismo:
Requisitos: Xcode 8.0, Sierra 10.12, probablemente SIP deshabilitado
Copia de seguridad de sudo y visudo:
sudo cp /usr/bin/sudo /usr/bin/sudo.backup
sudo cp /usr/sbin/visudo /usr/sbin/visudo.backup
mkdir sudo
cd sudo
Curl el sudo de código abierto de Apple:
curl https://opensource.apple.com/tarballs/sudo/sudo-83.tar.gz | tar zxf -
cd a la carpeta fuente:
cd sudo-83/src
configurar, hacer y hacer instalarlo:
./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
¡El archivo sudo-83/src/INSTALL contiene muchas más opciones de ajuste para el comando de configuración!
Los archivos pueden instalarse en /usr/local/bin/ y /usr/local/sbin/ por lo que es posible que deba moverlos (en mi caso tuve que hacerlo):
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
o modifique su ruta y anteponga /usr/local/bin y /usr/local/sbin.
Ingresar/usr/bin/sudo /usr/sbin/visudo
Agregue la línea en el modo de inserción (simplemente presione i)
Defaults lecture_file = "/etc/sudo_lecture" #<-already there
Defaults insults
Guarde el archivo después de presionar esccon :wq!
.
Resultados:
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
¡Los archivos pueden sobrescribirse después de una actualización/mejora del sistema!
La recompilación de sudo con insultos también funciona en sistemas más antiguos; sin embargo, debe elegir el tarball respectivo (por ejemplo, sudo-73.tar.gz debería funcionar con 10.9 y 10.10).
Al modificar ins_*.h en la carpeta src , debería poder incluir más insultos. También puede agregar archivos ins_*.h adicionales, pero luego debe incluirlos en insults.h como ya están los otros cuatro. ¡También puedes incluir insultos que no sean en inglés, por supuesto!
klanomath
rexford
Max Coplan
sudo
mientras se sigue permitiendo el truco de TouchID?klanomath
sudo
no debería depender del método de autenticación. Pero no puedo probar esto porque no tengo ningún dispositivo TouchID.Max Coplan