¿Qué sentido tiene usar una cuenta diaria que no sea de administrador en OS X?

Este consejo es viejo pero está volviendo a estar de moda. Lo he visto mucho recientemente, en varios sitios web o foros de Mac. "Su cuenta de usuario 'todos los días' no debe ser una cuenta de administrador. Debe ser una cuenta estándar creada para este propósito, y debe iniciar sesión en la cuenta de administrador solo para realizar tareas de administración reales. »

Este parece ser un consejo común en el mundo de Windows, pero para un sistema OS X actualizado, simplemente no puedo entender qué tipo de beneficios trae. Profundicemos en ello:

  • Las cuentas de administrador de OS X no son cuentas raíz. Cualquier aplicación que quiera volverse root le pedirá su contraseña de todos modos, por lo que no veo ninguna capa de seguridad adicional aquí. Intenta ponerlo /varen la Papelera.
  • SIP de El Capitan ha evitado la modificación profunda del sistema operativo o la inyección de código en la mayoría de los archivos críticos, ya sea administrador, raíz o nadie. Es más, en lugares sensibles donde todavía están permitidas, dichas modificaciones requerirían como mínimo una contraseña de root, incluso de una cuenta de administrador, lo que nos lleva de vuelta al primer argumento.
  • Para spyware, problemas de privacidad y este tipo de cosas, el uso de cuentas estándar proporciona poca protección adicional, si es que la hay. Hasta donde yo sé, incluso cuando se usan desde una cuenta estándar, las aplicaciones tienen acceso completo a los archivos personales del usuario y tienen acceso completo a la red (menos cualquier firewall, etc.). Si una mala aplicación quiere enviar a casa tus documentos, puede hacerlo perfectamente desde una cuenta estándar.
  • Las líneas básicas de defensa (cortafuegos, ejecución de aplicaciones de confianza, etc.) abarcan todo el sistema.
  • Por otro lado, es una molestia cambiar a su cuenta de administrador y luego volver a su cuenta estándar, de un lado a otro. En realidad, esto puede hacer que el usuario retrase las actualizaciones o el mantenimiento administrativo, solo para ahorrar tiempo y posponer la molestia.

Entonces, ¿por qué no usar una cuenta de administrador? Espero que esto no se marque como duplicado, otras preguntas relacionadas con este problema no abordaron estos argumentos.

Editar: la pregunta se aplica a una computadora que posee y controla.

Respuestas (7)

Solo hay una cuenta raíz en cada computadora con OS X y está deshabilitada de forma predeterminada. No tiene una contraseña y no puede iniciar sesión como root a menos que use específicamente la Utilidad de Directorio y la habilite. Es peligroso, porque cuando se inicia sesión como root , el sistema pasa por alto toda autorización, ni siquiera solicita una contraseña. En ese aspecto, una computadora OS X no tiene root , lo cual es A Good Thing™.

Las cuentas de administrador son simplemente cuentas estándar que también están en el grupo de administración . Cualquier acción en OS X realizada por un usuario conectado se compara con la base de datos de autorización (puede ver sus reglas en /System/Library/Security/authorization.plist para ver si no se requiere autenticación o si es suficiente para ser autenticado como el propietario de la sesión (usuario estándar que ha iniciado sesión), o debe ser miembro del grupo de administración. Brinda un control muy detallado. Por lo tanto, pueden ocurrir tres posibilidades, por ejemplo, en Preferencias del sistemaal hacer clic en el candado cerrado. Al hacer clic, puede simplemente desbloquearse sin autenticación, puede ofrecer un diálogo de autenticación con el nombre de la cuenta ya ingresado (lo que significa que confirme que es usted) o puede ofrecer un diálogo de autenticación con los campos de nombre de cuenta y contraseña en blanco (lo que significa que no es administrador, por favor llamar a un administrador para escribir sus credenciales).

Una regla general es que cualquier cosa que pueda afectar a otros usuarios en la computadora (cambio en todo el sistema) requerirá autenticación administrativa. Pero es más complejo que eso. Los usuarios estándar, por ejemplo, pueden instalar aplicaciones desde Mac App Store en la carpeta /Applications (que es un cambio en todo el sistema), pero no pueden omitir GateKeeper para ejecutar aplicaciones sin firmar, incluso si solo dentro de sus propios datos. Los usuarios estándar no pueden invocar sudo , lo que tiene el efecto secundario negativo de no requerir autenticación en una ventana de 10 a 15 minutos después de eso. Una secuencia de comandos ingeniosamente diseñada le pedirá una autenticación de administrador para algo que aprueba, pero después de eso hará todo tipo de cosas extravagantes de las que no sabe nada.

Los usuarios estándar también se pueden administrar a través de controles parentales o perfiles de configuración y se pueden aplicar políticas de contraseñas. Los usuarios administradores no pueden hacer tal cosa.

System Integrity Protection aborda el hecho de que las personas han estado haciendo clic en los paquetes de instalación y proporcionando contraseñas tan fácilmente que los usuarios se han convertido en el eslabón más débil. SIP solo intenta mantener el sistema a flote, nada más (y a veces también falla en eso).

No creerías cuántas personas he visto que tienen solo un usuario en la computadora (que también es una cuenta de administrador) e incluso sin una contraseña de cuenta, solo para percibir una ligera disminución en la molestia en forma de actividad en la ventana de inicio de sesión.

No puedo estar de acuerdo con su opinión de que es un fastidio cambiar a una cuenta de administrador cuando es necesario. Si está en la Terminal, solo necesita su myadminacct antes de hacer cualquier cosa, incluido Sudo o iniciar Finder como otro usuario ejecutando /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder .

En GUI, bueno, las actualizaciones de Mac App Store (incluidas las actualizaciones de OS X) no requieren autenticación de administrador. Esos paquetes de instalación que terminan en la carpeta Descargas, incluidas las actualizaciones de Adobe Flash, sí, debe tener mucho cuidado antes de abrir los que hacen el trabajo adicional y asegurarse de que provienen del lugar correcto y no están llenos de cosas desagradables.

Por eso creo que usar una Mac con una cuenta estándar es mejor y más seguro que con una administradora, porque me protege de mis propios errores y descuidos. Incluso la mayoría de los usuarios informados no inspeccionan cada script descargado línea por línea para ver si hay algo sospechoso.

Espero que los controles puedan volverse aún más estrictos en el futuro, por ejemplo, introduciendo condiciones u horarios en los que una aplicación (o secuencia de comandos o cualquier ejecutable) pueda ejecutarse o tener acceso a la red o que un ejecutable ni siquiera pueda iniciarse si no lo hiciera. No lo permitió explícitamente (diálogo de autenticación) en el último mes más o menos.

Muchas gracias, y +50, esta es realmente la primera respuesta real (y la única hasta ahora) que obtuve
Me gustaría señalar que, como no administrador, puedo omitir Gatekeeper con el xattrcomando en la Terminal.

La seguridad se implementa mejor como una estrategia multicapa y multivectorial .

El Principio de Mínimo Privilegio (POLP) es solo otro engranaje en la máquina que mantiene su computadora segura.

Todo lo que enumeró allí es bueno, pero nada de eso evitará que alguien se apodere de su computadora con un exploit como Dropped Drive Hack .

  • ¿Cómo evita un firewall que un usuario inserte un USB con un exploit de control remoto incrustado en la unidad?

  • ¿Cómo evita SIP que un registrador de teclas capture sus pulsaciones de teclas?

  • ¿Qué importancia tiene tener SIP cuando el administrador puede desactivarlo fácilmente ?

  • ¿Cómo evita que se instale software no autorizado o con licencia ilegal? Una cuenta de usuario restringida garantizará que los usuarios que no deberían instalar software no instalen software.

Su última línea de defensa es usar una cuenta que no sea una cuenta de administrador para que pueda mitigar la amenaza colocando otra capa de seguridad (autenticación de usuario) cuando una pieza de malware intente instalarse.

He estado diciendo esto por lo que parece ser eones ahora:

La "seguridad" no es un producto que compras o un interruptor que enciendes; es una práctica , es una mentalidad , aprovechar todas las herramientas que pueda para minimizar su riesgo.

Gracias; en realidad, esto no responde realmente a la pregunta, debería haber dejado más claro que usé firewalls y SIP solo como ejemplos. "La seguridad no es un interruptor, usar una cuenta que no sea de administrador agrega una capa de seguridad" Buenos dichos, pero mi pregunta es cómo . ¿Puede describir una situación en la que la cuenta estándar prevenga una amenaza mejor que una cuenta de administrador que solicite la contraseña raíz, que se puede aceptar o denegar? Un keylogger, que yo sepa, ni siquiera está cerca de entrar en esta categoría. Y si puede deshabilitar SIP sin que se le solicite su contraseña de root, ¡muéstrame cómo!
¿Qué le hace pensar que todas las amenazas se limitan al malware? ¿Por qué permitiría que un usuario instale software que acceda a datos/sistemas a los que no tiene acceso comercial? En segundo lugar, te das cuenta de que "sudo" está disponible para los administradores, ¿verdad?
No estoy negando la utilidad de las cuentas estándar en una tormenta de estupidez. La pregunta no es: ¿por qué existen las cuentas estándar? Es solo: cuando usa su propia Mac, ¿hay una razón precisa y objetiva, desde el punto de vista de la seguridad, para usar una cuenta estándar para las tareas diarias, en lugar de iniciar sesión en su cuenta de administrador?
Esa distinción no está en ninguna parte de su pregunta, ¿verdad? Ahora, en cuanto a Windows, reduce automáticamente su POLP en función de lo que esté haciendo, incluso si es un administrador. También parece pasar por alto el "Dropped Drive Hack" donde las personas simplemente "quieren o no" escriben su contraseña en cualquier cuadro de diálogo que aparezca. Tener una cuenta estándar protege contra eso.

En general, se considera una buena práctica utilizar una cuenta que no tenga más privilegios de los necesarios. Lo que esto significa generalmente es que debe usar una cuenta que tenga el nivel de privilegios más bajo posible y elevar sus privilegios cuando sea necesario para una tarea específica que requiera privilegios más altos.

Sin embargo, esto se vuelve molesto con bastante rapidez. La razón de esto es que lo que parece una tarea simple para usted o para mí ("Solo quería encender el WiFi") se ve como una operación privilegiada para el sistema operativo ("Desea habilitar un dispositivo de red y permitir que la máquina para ser puesto en alguna red aleatoria").

Lograr un equilibrio entre comodidad y seguridad es mucho más difícil de lo que parece, y mi sensación personal es que OS X lo hace mucho mejor que otros sistemas operativos, como Windows.

Si ejecuta como administrador todo el tiempo, puede hacer clic accidentalmente en un correo electrónico que contiene algún enlace a un sitio que contiene crapware, y automáticamente ejecuta un script que realiza una reconfiguración sin su conocimiento. Pero si está ejecutando como un usuario sin privilegios, tan pronto como se ejecute el script, el sistema operativo mostrará un cuadro de diálogo que dice "este script malicioso quiere hacer algo en su computadora. Confirme escribiendo su contraseña". Esto generalmente causaría alarma o sorpresa, si no es algo que esperaría ver en ese momento.

Además, lo que es más importante, configura una computadora para otra persona. Alguien en su familia que no tenga conocimientos de computación. Es una excelente idea darles un inicio de sesión sin privilegios y mantener la contraseña de administrador para usted, de modo que la próxima vez que hagan clic en cualquier basura vieja (como es su costumbre), NO PUEDAN infestar la computadora con crapware. A veces se quejan cuando haces esto, pero solo tienes que recordarles la vez que tenían 35 barras de herramientas instaladas en IE 6, y cada vez que hacían una búsqueda en Google obtenían páginas de ventanas emergentes pornográficas, antes de que acepten a regañadientes que podría ser ser una buena idea La desventaja es que lo llamarán con más frecuencia para que desbloquee su computadora cuando quieran actualizar el complemento Flash.

Como se dijo antes: la seguridad es una actitud, no un simple interruptor que puedes accionar.

¡Gracias! ¿Algún ejemplo de tal script? Quiero decir, ¿un script de mierda de un sitio web que se ejecutará sin solicitar una contraseña si se inicia como administrador, pero se bloqueará si está usando una cuenta estándar? -- No quiero sonar molesto, realmente me pregunto ;-) Mi impresión es que, como dijiste, OS X eleva el listón bastante alto en términos de requisitos de contraseña, incluso de los administradores (de ahí la pregunta)
No tengo un ejemplo, pero es muy posible que se elabore una secuencia de comandos para que aparezca una solicitud de ejecución aparentemente inocua (no debería requerir elevación para hacer eso), y si el usuario no es un administrador, entonces solicite autenticarse como administrador, donde podría no hacerlo si el usuario actual ya es administrador.

Déjame ver cómo tus razones funcionarían o no:

  1. Las cuentas de administrador no son root. Si bien es cierto, es posible que puedan llamar sudoy quizás incluso tengan la contraseña lista para ingresar (o sudose configuró para no solicitar la contraseña).

  2. SIP (Protección de integridad del sistema): esta es solo una capa que no es suficiente para todos los ataques. ¿Se puede deshabilitar? ¡Aun mejor!

  3. Argumento del software espía: Bueno, tal vez. Los privilegios todavía no están lo suficientemente separados. Pero aun así, sigue siendo una limitación.

  4. Las líneas de defensa básicas son para todo el sistema: el n.° 1 dice que las aplicaciones que se ejecutan en cuentas de administrador pueden acceder a la raíz.

  5. ¿Traspuesta? Es ampliamente conocido que puede realizar tareas relacionadas con la administración desde cuentas estándar siempre que ingrese la contraseña de la cuenta de administrador. No hay necesidad de hacer un verdadero cambio de cuentas.

Bienvenido a Preguntar Diferente. Un consejo... aquí no "atacamos" nada. Considere volver a escribir su respuesta para que no sea tan conflictiva.
@Allan ¿Quizás esta edición lo haría "parecer" mejor?
Mucho mejor. Vea mis ediciones para ver ejemplos de cómo formatear usando el marcado HTML (limitado) y algunas de las frases.
@Allan Gracias por las ediciones. En realidad, estaba bastante versado en el marcado del código, sin embargo, en realidad no pensé en poner el sudonombre " " en dicho código. Sin embargo, no estoy seguro de cómo hiciste esa enumeración real (también estoy acostumbrado a Quora, que ahora lo hace de forma automática)
La numeración numérica es el número, seguido de un punto, seguido de un espacio. Ej: "1. Ejemplo 1" "2. Ejemplo 2"
@Allan Bueno, debería intentarlo. ¿Dónde habría una buena caja de arena para probar esto?
Eso, no lo sé. Solo pruébalo en tu próxima pregunta/respuesta.
Intenté este pero parece que no tengo suficientes repeticiones (solo 101 en lugar de 200)
Voto negativo, no porque no sea interesante, sino porque mi pregunta no se entendió ni se abordó.
@Zozor Bueno, en realidad es posible en Unix, ninguna de estas razones es lo suficientemente buena, y en realidad corro de una manera bastante insegura (sudo con NOPASSWD en mi cuenta principal). Sin embargo, Windows puede ser menos seguro; no es tan malo como antes (XP, 7 con UAC deshabilitado), pero aún así, a menudo hay algunos privilegios que las aplicaciones pueden usar directamente para elevar.

Si tiene otros miembros de la familia que no son expertos en informática, o si desea restringir su acceso (por ejemplo, niños), o si es un empleador que desea restringir el acceso a los empleados que pueden usar la máquina, entonces absolutamente sí; todavía hay razones para tener cuentas que no sean de administrador en osx para uso diario.

Si posee una computadora y desea controlarla, use una cuenta administrativa.

Si no desea que otros usuarios puedan "administrar" nada, las cuentas que no son de administrador son muy útiles. Además, nunca se sabe cuándo es posible que deba prestar la máquina de improviso dado un momento en que alguien pregunta "¿podría tomar prestada su Mac para hacer algo realmente rápido?", le da tranquilidad poder cerrar sesión e iniciar sesión en lo que algunos pueden considerar como una cuenta de 'semiinvitado' que ha creado y para la que ha adaptado los permisos.

Probablemente haya otras razones, pero esta es la mía: no es posible imponer restricciones a la cuenta de administrador. Es útil tener restricciones para evitar visitar sitios indeseables o peligrosos.

¿Por qué el voto negativo?

NOTA: Esta respuesta estaba "en progreso" cuando se cerró esta pregunta . Lo estoy publicando aquí en su lugar.

Respuesta:

Su pregunta puede estar solicitando opiniones, y también es similar a esta pregunta . He escuchado ambos lados del argumento, y los argumentos de ambos lados son al menos parcialmente subjetivos. No he escuchado un argumento definitivo, único para todos, a favor o en contra. Por lo tanto, mi conclusión (y mi respuesta) es que se reduce a una cuestión de preferencia personal y caso de uso individual.

Por un lado, algunas de nuestras Mac son máquinas de un solo usuario y la separación de privilegios puede parecer inútil. Por otro lado, y hablando solo por mí, me gusta más la idea de que el sistema "desafía" mis decisiones porque me da la oportunidad de pensar de nuevo.

Otro aspecto de este negocio de separación de privilegios surge en qué parte de macOS está utilizando: ¿la "parte Unix" o la "parte GUI"? Las cosas se vuelven más borrosas aquí porque hay herramientas y utilidades en macOS que se "superponen", es decir, hay muchas configuraciones que se pueden realizar a través de la CLI (interfaz de línea de comandos, también conocida como Terminalaplicación) que también se pueden realizar a través de la interfaz GUI.

En el caso de la "parte Unix" de macOS, los permisos/privilegios predeterminados se pueden cambiar en el sudoersarchivo para elevar los privilegios de un usuario que no sea administrador. En el caso de la "parte GUI" de macOS, los permisos y privilegios se controlan (en parte) a través de la base de datos de autorización ( todo lo que desea saber está en este recurso de Apple ).

Creo que es todo un poco confuso. En mi humilde opinión, si su sistema es un sistema de un solo usuario, entonces también es el administrador, independientemente de si elige usar un inicio de sesión o dos. Por lo tanto, esta pregunta se reduce a: "preferencia personal". Si se trata de un sistema multiusuario, ese es un caballo de un color diferente, pero yo diría que en la mayoría de los casos se debe crear una segunda cuenta de administrador. Pero una vez más, eso depende de su situación y sus juicios.

En base a todo lo anterior, he optado por crear una cuenta sin privilegios (usuario normal) para uso "normal" y reservar mi cuenta de administrador como respaldo para decisiones potencialmente descuidadas. Uso bastante la CLI, por lo que agregué mi cuenta de usuario habitual al sudoersarchivo para otorgar privilegios de administrador/raíz como excepción. Esto funciona para mí.

PD Use una contraseña segura para su cuenta de administrador.

Lo único que controla el archivo sudoers son los comandos que los usuarios pueden ejecutar a través de sudo. Hay muchos permisos (probablemente la mayoría) totalmente ajenos a eso.
@nohillside: lo siento, pero el punto de tu comentario se me escapa por completo.
Su descripción de la función del archivo sudoers no es muy precisa. No controla los permisos de la CLI.
@nohillside: creo que es correcto y proporcioné un enlace a una explicación más detallada . Pero IIRC, tampoco le gustó esa respuesta, nuevamente, por razones que no entiendo. Quizás deberíamos discutir esto en chat?? Estoy más que feliz de corregir cualquier error u omisión.
¿La parte "Unix" y la parte "GUI"? ¿Eh? macOS, en su totalidad, es un sistema operativo Unix certificado completo . No obtiene diferentes permisos según el entorno en el que se encuentre en un momento determinado. En cuanto a sudoersesto, no es más que un archivo que define a qué privilegios elevados tiene derecho un usuario y qué se puede/no se puede hacer con dichos privilegios.
Tengo 3 hijos y 5 sobrinos/sobrinas que necesitan usar mis computadoras de vez en cuando. Es mucho más fácil darles su propia cuenta si nunca pueden afectar/perder/eliminar ninguno de mis trabajos en curso. La mayor molestia es tener que restablecer una contraseña de vez en cuando cuando se olvidan...
@SolarMike: Guau, ¡son muchos usuarios! Parece que lo está manejando correctamente, ¡pero no envidio su carga de trabajo de administrador!
Como dijo Allan: el archivo sudoers controla el acceso a sudo (ya los comandos que puede ejecutar a través de sudo), no controla el acceso al sistema como tal. Puedo correr sudo -suna vez y luego hacer lo que me plazca (incluido rm -rf /). O habilite la cuenta raíz y nunca necesite sudo.
Sí, como administrador, puede hacerlo. Pero ese no es el punto. Dejémoslo, no lo entiendes.