No se puede eliminar el directorio de macports como root

He habilitado el usuario root en mi mac usando el último Mojave. Estoy intentando eliminar una carpeta con él, pero por alguna razón me aparece el error “Permiso denegado”. Pensé que root podría hacer cualquier cosa en un sistema UNIX?

sh-3.2# whoami root sh-3.2# pwd /opt/local/var/macports/home/Library sh-3.2# ls -lhart total 0 drwxr-xr-x 3 root admin 96B Sep 24 2016 .. drwxr-xr-x 3 root admin 96B Sep 24 2016 . drwxr-xr-x 2 root admin 64B Oct 13 18:54 Preferences sh-3.2# rm -rf Preferences/ rm: Preferences/: Operation not permitted sh-3.2# whoami root sh-3.2# 

Aunque la Protección de integridad del sistema prohibirá incluso al superusuario modificar los archivos del sistema, la opt no está incluida en esa lista. El problema es que todas las aplicaciones están excluidas de los bits “importantes” del sistema de archivos de forma predeterminada y Terminal.app no es una excepción. En Mojave (OS X 10.14):

  • Preferencias del Sistema
  • Seguridad y Privacidad
  • Pestaña de privacidad
  • Elija “Acceso completo al disco” de la lista de la izquierda
  • Haga clic en “candado” en la parte inferior izquierda y proporcione una contraseña de superusuario para elevar los privilegios y permitir adiciones
  • Haga clic en el signo “+” y navegue en el selector de archivos a Terminal.app

Las capturas de pantalla están disponibles en http://osxdaily.com/2018/10/09/fix-operation-not-permitted-terminal-error-macos/ .

Tendrá que reiniciar Terminal para que los cambios surtan efecto. El comando de desinstalación de MacPorts en https://guide.macports.org/chunked/installing.macports.uninstalling.html : al momento de escribir esto, esto:

 sudo rm -rf \ /opt/local \ /Applications/DarwinPorts \ /Applications/MacPorts \ /Library/LaunchDaemons/org.macports.* \ /Library/Receipts/DarwinPorts*.pkg \ /Library/Receipts/MacPorts*.pkg \ /Library/StartupItems/DarwinPortsStartup \ /Library/Tcl/darwinports1.0 \ /Library/Tcl/macports1.0 \ ~/.macports 

… debería funcionar ahora.

Como nota al margen, las versiones actuales de iTerm solicitan este permiso cuando se instalan y ejecutan por primera vez, por lo que si tiene iTerm dando vueltas y no desea reiniciar Terminal, agréguelo a la lista de “Acceso total al disco” (si no lo está) Agregado ya) y ejecute el comando allí.

Intereting Posts