¿Por qué ningún administrador de archivos solicita un permiso superior si es necesario? [cerrado]

14

Acabo de responder otra pregunta para principiantes sobre "No se puede escribir ... verifique los permisos".

Por supuesto que sé cómo usar chown / chmod; Estoy trabajando con la línea de comando de todos modos. Pero el consumidor promedio no lo hace.

Entonces, ¿qué debo decirle a las personas sin experiencia en GNU / Linux?

¿Trabajar como root? Sé, por ejemplo, que Nemo tiene la funcionalidad "abrir como root". Pero simplemente no! No creo que sea una buena idea para un usuario promedio. Está lejos de ser peligroso. Luego, el usuario crea el archivo en el administrador de archivos raíz y se pregunta por qué no puede eliminar o modificar este archivo. Y así.

¿Decirle que aprenda a usar chown / chmod? Y aquí estamos, nerd-only-linux donde todo es tan complicado. Así hacemos las cosas; pero no es una buena opción para el consumidor promedio.

¿Por qué no ayuda el administrador de archivos?

Odio decir esto, pero mira cómo Windows maneja esto. Los valores predeterminados son permisos de usuario. Y si el administrador de archivos necesita más, solo le pregunta al usuario.

Esto no puede ser difícil de implementar. Si una operación falla con una excepción de permiso, intente ejecutar con gksudo.

Y sí: soy realmente inexperto con todo el mundo de código abierto.

Mis preguntas:

  1. ¿Hay alguna razón para que esto no se haga de esta manera?
  2. ¿Alguien implementó algo así?
  3. ¿Es esto algo que informa como un error (Ubuntu o, por ejemplo, Gnome)?
  4. ¿Es algo que podría intentar implementar yo mismo?
AnnoSiedler
fuente
44
¿Por qué quiere copiar el comportamiento de Windows en un sistema Linux? Son solo dos sistemas operativos diferentes y también difieren. En Linux, usted trabaja como usuario normal y normalmente no necesita rootprivilegios, a menos que trabaje como administrador. En ese caso, deberías trabajar como administrador y mantener ambos mundos separados. Puede instalar software en su directorio de inicio, realizar sus propios ajustes de entorno .bashrc, .profileetc. ...
Thomas
2
Debo estar perdiendo algo, pero ¿por qué consideras "Sé, por ejemplo, que Nemo tiene una funcionalidad" abierta como root ". Pero no, no creo que sea una buena idea para un usuario promedio. Es demasiado peligroso". , pero al mismo tiempo, "mira cómo Windows maneja esto. Los valores predeterminados son permisos de usuario. Y si el administrador de archivos necesita más, simplemente le pregunta al usuario " -¿una buena idea? ¿What?
Jacob Vlijm
55
Para cerrar los votantes: ¿en serio? Esta es una excelente pregunta y ya tiene una muy buena respuesta. Con probablemente más por venir. Si hay razones técnicas para no implementar esta mejora obvia, se puede dar una respuesta.
Andrea Lazzarotto
2
@Arronic, el punto es que no existen tales herramientas GUI para muchos casos. Incluso macOS tiene más opciones de GUI para ajustar el firewall, el servidor SSH, etc. Entonces la pregunta del OP es: ¿por qué?
Andrea Lazzarotto
3
Si Linux en el escritorio para personas no técnicas va a ir a cualquier parte, debe eliminar por completo la necesidad de trabajar en un administrador de archivos como root, siempre. No puedo pensar en nada que un usuario normal deba hacer en un administrador de archivos como root (por supuesto, hay muchas cosas que tiene que hacer actualmente ). Entonces este problema se resuelve con bastante facilidad. En mi humilde opinión, si los usuarios están creando archivos propiedad de root en sus propios directorios de inicio, algo ya está muy mal.
Muzer

Respuestas:

14
  1. ¿Hay alguna razón para que esto no se haga de esta manera?

No hay ninguno específicamente. Puedo nombrar algunas supuestas razones, pero en su mayoría serían especulaciones.

  1. ¿Alguien implementó algo así?

No exactamente. Hay una nautilus-adminextensión que le permitirá abrir un directorio en una nueva ventana con privilegios de nivel raíz, y luego puede cambiar los permisos de archivo / directorio como lo desee desde el menú del botón derecho-> Propiedades-> Permisos.

  1. ¿Es esto algo que informa como un error (Ubuntu o, por ejemplo, Gnome)?

Informe de error ? No. ¿Solicitud de funciones? Potencialmente, si. Puede enviar esto como solicitud de función al equipo de Nautilus (el administrador de archivos) en Launchpad , pero sospecho con un 90% de certeza que lo señalarán en la nautilus-adminextensión que mencioné anteriormente.

Instalarlo con sudo apt-get install nautilus-admin.

  1. ¿Es algo que podría intentar implementar yo mismo?

Sí, si su administrador de archivos permite agregarle scripts. El administrador de archivos predeterminado para Ubuntu (Nautilus) permite agregarle scripts, por lo que podría hacer algo como esto:

#!/bin/bash
# adds read permissions for file for all users
zenity --password | sudo -S -p ""  chmod +r  "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" || zenity --error --text "Command failed"

Coloque eso en ~/.local/share/nautilus/scripts, haga ejecutable con chmod, y luego será accesible haciendo clic derecho en el archivo. Por supuesto, ese es un ejemplo mínimo solo para mostrar el punto. Si desea una aplicación completa que permita características más complejas como seleccionar qué permisos alterar, bueno, eso podría requerir comandos adicionales y probablemente un lenguaje como Python con kits de herramientas GUI más potentes.

Pero simplemente no! No creo que sea una buena idea para un usuario promedio. Está lejos de ser peligroso. Luego, el usuario crea el archivo en el administrador de archivos raíz y se pregunta por qué no puede eliminar o modificar este archivo. Y así.

Bueno ... No es un problema de computadora, es un problema del usuario. No podemos reparar al usuario que no está dispuesto a aprender cómo operar correctamente su computadora y no se hace responsable de sus acciones.

Los usuarios deben darse cuenta de que la separación de la propiedad en los archivos existe por una razón. No puede tener el poder de cambiar los permisos en el archivo y no esperar implicaciones de seguridad con eso

Sergiy Kolodyazhnyy
fuente
44
Excelente respuesta, sin embargo, el problema persiste: la GUI en la mayoría de las distribuciones por defecto no permite a un usuario "sudo gráficamente" cuando sea necesario. El usuario debe desbloquear manualmente la cuenta raíz (incorrecta) o debe recurrir a la línea de comando. Por ejemplo, soy desarrollador, me gusta la CLI ... Pero también pienso en mi familia y amigos que no lo son. A veces, cuando usan Linux, me piden ayuda y el 80% del tiempo se trata de hacer algo como un usuario privilegiado. : /
Andrea Lazzarotto
Gracias; especialmente el guión es bastante útil. Una solicitud de función se informa como un error (con la nota de que se trata de una solicitud de función), ¿no es así?
AnnoSiedler
@AnnoSiedler hablando en general sí; es mejor si coloca "[mejora]" o "[característica]" en el título y comienza con una buena historia de usuario , y no presenta su problema como un defecto (por ejemplo, "pasos para reproducir el error")
david.libremone
16
"Bueno ... No es un problema informático, es un problema del usuario. No podemos reparar al usuario que no está dispuesto a aprender cómo operar adecuadamente su computadora y que no se hace responsable de sus acciones ”. Uh, no. Las personas que levantan las manos y culpan a los usuarios es exactamente por qué las cosas se complican o son contradictorias. El diseño de experiencia de usuario es una cosa real e importante que los diseñadores de programas deben preocuparse, pensar y trabajar, en otras palabras, asumir la responsabilidad y la responsabilidad. No es culpa de los usuarios: es una limitación técnica, o una preocupación de seguridad, o tal vez, es una mala experiencia de usuario que necesita ser reparada.
KRyan