¿Por qué los usuarios que no son administradores no pueden instalar software?

11

Esto es probablemente algo que no entiendo ya que estoy acostumbrado a Windows y solo estoy comenzando con Ubuntu. Sé que el software en Linux viene en paquetes, lo que no entiendo es por qué los usuarios que no son administradores no pueden instalar el software.

Quiero decir, cada aplicación es ejecutada por un usuario específico, y ese usuario solo podrá ejecutar esa aplicación con sus privilegios, por lo que si no tiene privilegios de administrador, la aplicación tampoco podrá acceder a directorios no autorizados, etc.

Quiero la mayor parte del tiempo para trabajar en mi PC con un usuario que no sea administrador, ya que me parece más seguro, la mayoría de las veces no necesito privilegios de administrador. y aunque sé que los virus en Linux son poco comunes, sigo pensando que la mejor práctica es trabajar en la computadora en un estado en el que usted mismo no pueda realizar ningún cambio en los archivos importantes, de esa manera los virus tampoco pueden dañar los archivos importantes, pero necesito instalar software para programación y diseño web, etc. y antes que nada no quiero cambiar de usuario todo el tiempo. Pero también me parece más seguro que todo lo que se haga en la PC se hará a través del usuario no administrador.

Me alegrará saber qué malentendido tengo aquí, porque algo aquí no suena bien.

cincuenta y ocho
fuente

Respuestas:

16

¿Por qué te piden una contraseña?

La mayoría del software está diseñado para tocar archivos sensibles, es decir, sensibles a la seguridad de sus datos privados o la integridad del sistema. Es por eso que la instalación del software es un riesgo potencial y debe ser validado por un usuario que sepa lo que está haciendo. Incluso para el software de código abierto, no puede estar seguro de que no lleguen bits de código incorrectos con su nuevo reproductor de audio hasta que alguien lo revise. E incluso entonces, algo podría haberse pasado por alto o los paquetes podrían ser manipulados en el camino. ¿Quién sabe lo que está oculto en la profundidad del programa? Un usuario debería.

Ubuntu proporciona una forma cómoda de instalar software. Los desarrolladores de software pueden confiar en esa comodidad y asumir que synaptic / software center / apt les permite acceder a estos archivos confidenciales. Canonical busca errores en el repositorio de software y códigos maliciosos. Pero la responsabilidad final es tuya.

Si el software en cuestión no necesita acceso a archivos confidenciales, puede (en principio) instalarse en la carpeta de inicio, aunque no en la forma de Ubuntu. Por ejemplo, tendrá que compilar el código fuente usted mismo o ejecutar un script de instalación personalizado. Además de los mayores esfuerzos, tiene la desventaja de no permitir que otros usuarios accedan a su programa recién instalado (ya que no tienen derecho a acceder a su carpeta de inicio). Tendrán que instalarlo por segunda vez. Por lo tanto, esta forma de instalación no tiene sentido a gran escala y en pequeña escala, por lo general, es más fácil escribir una contraseña que instalar el software manualmente.

Por eso, Synaptic solicita una contraseña y es bueno que lo haga.


Sudoers

Si realmente necesita que otros usuarios instalen software sin contraseña , puede agregarlos a la lista de sudoers. Sin embargo, esto resultará en un gran riesgo de seguridad . Si eso no le preocupa, considere que existen redes de bots con excelentes recursos para ingresar a su computadora a través de Internet. Lo hacen solo para agregar su computadora a la red y usar su conexión y poder de cómputo sin su conocimiento para hacer todo tipo de cosas ilegales. Ni siquiera son después de que sus datos personales sean suyos. Solo quieren secuestrar tu PC. ¿Todavía no te preocupa? De Verdad? Luego mire la siguiente respuesta, que es un pequeño tutorial sobre el funcionamiento de la lista de sudoers:

Cómo hacer que Ubuntu recuerde para siempre la contraseña después de la primera vez

Lee eso cuidadosamente. Podrías quedarte fuera del sistema.

El susto ha terminado

Así que ahora tienes el susto detrás de ti y tomas el asunto en serio, puedo decirte que realmente no es tan malo. Si confía en las personas que trabajan en su computadora y no tiene programas instalados que permitan el acceso remoto a su sistema (por ejemplo, un servidor ssh o ftp), entonces no es tan peligroso deshabilitar la contraseña. Simplemente no lo haga sin considerar el peor de los casos y piense en sus datos privados.


Pase por alto los procedimientos ( no haga esto a la ligera ; vea el texto y el enlace de arriba ):

# in shell type these commands
sudo su       # in case you do something stupid, you'll have a root shell open
select-editor # (optional) will allow you to select text editor
visudo        # secure way to open sudoers list

Un editor abrirá AGREGAR una línea como esta:

confus confusion=(root) NOPASSWD:/usr/sbin/synaptic,/usr/bin/software-center

Explicación sintaxis: username machine=(usernameToRunCommandAs) command1,command2,.... Entonces, la línea anterior permite que confus ejecute el centro sináptico y de software como raíz sin consulta de contraseña. Aún necesitará comenzar con sudo synaptico gksudo synapticponer un alias `alias synaptic = 'sudo synaptic' en su perfil de shell.

confundir
fuente
Gracias confuso, realmente me hiciste entender. es agradable ver una comunidad tan agradable para Linux :)
cincuenta
2
De nada. Dado que Linux como un proyecto de código abierto depende de que las personas pongan su trabajo en él sin compensación, encontrará muchas personas útiles en la comunidad.
con-f-use
4

Ellos no pueden. Aquí está el trato.

  1. El primer usuario creado en Ubuntu se considera un usuario especial: este es un usuario con permisos de administración. Esto significa que cuando este usuario quiera realizar tareas de administrador, se le pedirá su contraseña de administrador. Esas tareas se emiten poniendo sudodelante de un comando.

  2. Todos los demás usuarios (a menos que lo cambie usted mismo) son usuarios normales y no pueden instalar todo el sistema de software a menos que el administrador (primer usuario) les permita hacerlo. El usuario normal solo puede poner cosas en su propio hogar y, si lo desea, puede estropear su directorio personal.

De esta manera, 1 persona es responsable del sistema.

Puede hacer que más de 1 usuario sea administrador (para poder instalar el software) agregando esos usuarios al archivo sudoers.

Además de eso, pueden instalar software en su hogar, pero esto depende del software: a veces el instalador quiere agregarlo al sistema y eso no está permitido. Estas instalaciones tienden a ser de origen, por lo que no es el método más fácil;)

Rinzwind
fuente
2

En Ubuntu, el administrador tiene privilegios de root (a menudo referidos como "root", como en "necesitas ser root").

El acceso a los archivos se puede dividir en tres tipos:

  • leer (valor numérico 4)
  • escribir (valor numérico 2)
  • ejecutar (valor numérico 1)

Estos atributos se pueden establecer en cada archivo o directorio. Además, estas restricciones se pueden establecer en:

  • el dueño del archivo
  • el grupo del archivo (los usuarios pueden ser miembros de este grupo)
  • todos los demás usuarios que no son el propietario ni el grupo

Estos principios forman los fundamentos de los permisos de archivos de Linux. En Windows, todo se puede ejecutar. Dale una .cmdo .exeextensión por ejemplo. En Ubuntu, debe agregar el bit de ejecución explícitamente, de lo contrario se generará un error de permiso.

Cuando un usuario ejecuta un programa, el programa accede a los archivos como ese usuario y estos permisos de archivo entran en acción. Por defecto, las ubicaciones donde se instalan los programas tienen privilegios, solo el propietario puede escribir. Este dueño es root. Todos los demás usuarios solo pueden leer y ejecutar el programa, no escribir en él. Es por eso que necesita privilegios de root para instalar programas.

Ubuntu tiene un programa especial llamado sudo(SuperUser DO ...) para ejecutar programas con privilegios de root. Esto se puede usar para instalar software. Cuando se ejecuta, el sudoprograma le solicita su contraseña de usuario. Tenga en cuenta que solo los miembros del admingrupo pueden ejecutar programas como root usando sudo.

En Windows, iría a un sitio web y descargaría un instalador. Ubuntu funciona con un repositorio de software en el que puede buscar programas e instalarlos. Estos programas se revisan antes de agregarlos a los repositorios oficiales, por lo que puede estar seguro de que no existen intenciones dañinas en los programas.

Lekensteyn
fuente
ok entiendo, entonces ¿no pueden los usuarios instalar software en su directorio de inicio de alguna manera y de esa manera no toca áreas sensibles? Quiero decir, si realmente quieren, probablemente puedan descargar los archivos necesarios para el programa y ponerlos en su directorio de inicio de todos modos, ¿no?
cincuenta
Pueden instalar software en el directorio de inicio. Solo necesitan compilarlo ellos mismos y poner los binarios allí. Por supuesto, el software instalado de esta manera no podrá acceder a archivos protegidos en otro lugar. Aunque la mayoría del software está construido de alguna manera, necesita acceder a dichos archivos.
con-f-use
He actualizado la respuesta con el "modo Ubuntu" para instalar software. Es posible instalar software en su directorio de inicio, pero eso realmente depende de lo que haya descargado. A veces, es un archivo con la extensión .tar.gzo .tar.bz2. Estos a menudo se pueden extraer directamente del directorio de inicio, pero a veces es necesario compilar el programa antes de usarlo. Si el archivo tiene una extensión .bino .sh, a menudo es un instalador ejecutable que varía en su uso. Recuerde que Ubuntu no usa extensiones de archivo para determinar el tipo, usa el contenido del mismo.
Lekensteyn
2

Los usuarios que no son administradores no pueden instalar software porque los paquetes se ejecutan como root cuando se instalan, ya que se instalan en partes privilegiadas del sistema, ejecutan scripts de mantenimiento, etc.

Actualmente no hay forma de decirle al sistema "Instale Firefox desde este .deb pero en el directorio de inicio de un usuario para que esté aislado del resto del sistema"; Es por eso que actualmente es principalmente un asunto de todo o nada. (Esta es también la razón por la cual ejecutar .debs de terceros es malo, el paquete y sus scripts incluidos tienen acceso raíz a su sistema)

Jorge Castro
fuente
1

Tocaste una GRAN diferencia entre Windows y Ubuntu. En Windows, cuando haya iniciado sesión como administrador, se instalarán programas sin solicitar una contraseña. Esto también permite que el malware ejecute sus programas. En Ubuntu (Linux), incluso al iniciar sesión como administrador, el sistema siempre le pedirá su contraseña cuando cambie el sistema. Por lo tanto, el malware no puede entrometerse fácilmente en su sistema. Para resumir, ejecuta Ubuntu como administrador. Si abres otra cuenta de usuario para tus hijos, solo dales derechos de usuario normales para que no puedan arruinar el sistema.

extranjero
fuente
Con "admin", ¿te refieres a un usuario con derechos de sudo? El administrador real sería root.
El software de Windows no solicita una contraseña no porque esté necesariamente conectado como administrador. pero debido a que Windows simplemente no funciona de esa manera, por lo tanto, si descarga un archivo deb que sin saberlo contiene un script peligroso y pone su pase para instalar el archivo, puede dañar el sistema al igual que el malware de Windows.
Uri Herrera
E incluso la cuenta de Windows "Administrador" no es realmente el propietario del archivo del sistema, es SISTEMA, que en este caso sería así, el "Administrador", que es la cuenta que hizo en la instalación, y ROOT, que es el verdadero archivo del sistema propietario
Uri Herrera
0

Puede instalar el software como un usuario normal, no administrador. El software instalado por un usuario regular será "propiedad" de ese usuario, lo que significa que, en efecto, es una extensión del usuario; no tiene más permisos que el usuario propietario, aunque puede tener menos permisos, en La opción del usuario.

Una práctica común es que un usuario cree un directorio 'bin' dentro de su directorio de inicio. Si / home / [usuario] / bin existe, se agrega al comienzo de la ruta de ese usuario. Puede colocar archivos ejecutables en / home / [usuario] / bin, o en cualquier otra carpeta a la que tenga acceso de escritura y ejecución, y ejecute el programa desde allí.

Lo que un usuario normal no puede hacer es instalar un paquete en todo el sistema. Un usuario normal no puede poner archivos ejecutables en / usr / bin, por ejemplo, ni otorgarles permisos que excedan los propios permisos del usuario. Esto es, obviamente, por razones básicas de seguridad: necesita permisos de administrador para reformatear un disco duro, por ejemplo, y no quiere que alguien no autorizado lo haga.

Hasta donde sé, no puede usar el software de administración de paquetes para instalar un paquete de software a menos que tenga permisos de administrador, ya que la administración de paquetes se realiza en todo el sistema.

Sin embargo, sin permisos de administrador, puede crear scripts de shell, escribir y compilar código fuente, descargar y compilar "tarballs", que son paquetes de código fuente para aplicaciones complejas, o descargar archivos ejecutables, siempre que estos puedan usarse solo con permisos de un usuario habitual. Algunos juegos independientes, como World of Goo o X-Plane 9, se pueden instalar y usar de esta manera.

bgvaughan
fuente
Al releer la pregunta, no creo que mi respuesta sea directamente relevante. Una respuesta más relevante sería que, suponiendo que la cuenta regular del usuario tenga privilegios de administrador, se le debe solicitar la contraseña antes de hacer cualquier cosa que requiera permisos de superusuario, y eso debería ser lo suficientemente seguro, pero podría crear una segunda cuenta de usuario que sí lo haga. No tiene permisos de administrador si lo prefiere.
bgvaughan
Su pregunta fue útil en realidad, gracias :)
cincuenta