¿Por qué otros usuarios pueden ver los archivos en mi carpeta de inicio?

Respuestas:

32

Existe una Publiccarpeta en su directorio de Inicio ( /home/user) para compartir archivos con otros usuarios. Si otro usuario desea obtener acceso a esta Publiccarpeta, el bit de ejecución para el mundo debe establecerse en el directorio de Inicio.

Si no necesita permitir que otros accedan a su carpeta de inicio (a otros humanos o usuarios les gusta www-dataun servidor web), estará bien con chmod o-rwx "$HOME"(eliminar lectura / escritura / ejecución de "otro", equivalente a chmod 750 "$HOME"que el permiso predeterminado es 750 ) De lo contrario, también debe cambiar la umaskconfiguración para evitar que los archivos recién creados obtengan permisos de lectura para el mundo de forma predeterminada.

Para una configuración de todo el sistema, edite /etc/profile; la configuración por usuario se puede configurar en ~/.profile. Prefiero la misma política para todos los usuarios, por lo que editaría el /etc/profilearchivo y agregaría la línea:

umask 027

Debe volver a iniciar sesión para aplicar estos cambios, a menos que esté en un shell. En ese caso, puede ejecutar umask 027en el shell.

Ahora para corregir los permisos existentes, debe eliminar los permisos de lectura / escritura / ejecución de otros:

chmod -R o-rwx ~

Ahora, si decide compartir la ~/Publiccarpeta con todos, ejecute los siguientes comandos:

  • chmod o+x ~- permitir que todos desciendan en el directorio ( x), pero no obtener una lista de directorio ( rno debe agregarse)
  • find ~/Public -type f -exec chmod o+r {} \; - Permitir a todos leer los archivos en ~/Public
  • find ~/Public -type d -exec chmod o+rx {} \; - permitir que todos desciendan a directorios y enumeren sus contenidos

Si usa GNU coreutils (por ejemplo, en Ubuntu, no en un sistema integrado que solo tiene busybox), entonces los dos comandos anteriores usan findy chmodpueden ser reemplazados por este comando único que hace que las carpetas y archivos sean legibles de forma recursiva (y además agrega el ejecutar (descender) bit solo para directorios ):

chmod -R o+rX ~/Public
Lekensteyn
fuente
13

Según un miembro del personal de Ubuntuforms.org , es para facilitar el intercambio de archivos entre nuevos usuarios.

Puede cambiar el permiso a 700 o 750 si no desea que otros puedan leer y ejecutar los archivos.

El comando es:

chmod 750 $HOME

Nota: Ubuntu predeterminado es 755

Jason Iverson
fuente
2
Por supuesto, otros usuarios no deberían ser sudoers .
Pablo A
7

De acuerdo con Mark Shuttleworth ,

"La mayoría de los usuarios de los sistemas Ubuntu tienen un uso exclusivo de la máquina (computadora portátil personal) o la comparten con amigos y familiares. Asumimos que las personas que comparten la máquina son de confianza o están en posición de piratear la máquina (arranque desde USB!) trivialmente. Como resultado, hay poco o ningún beneficio "

... de eliminar esos permisos.

ignis
fuente
12
Creo que tener el mismo comportamiento en la edición Server es un agujero de seguridad
warvariuc
44
Esa es una explicación loca. Además de las cuentas de personas, hay cuentas técnicas que las personas pueden usar para aislar aplicaciones. Además, hay muchas instrucciones sobre cómo configurar un servidor ftp local que esencialmente comparte la cuenta en la máquina.
Barafu Albino
44
Sé que este es un hilo viejo, pero considera esto como una decisión estúpida. Imagine que uno de los usuarios ejecuta una aplicación / script (puede ser involuntariamente) que puede leer y enviar archivos desde cualquier otro perfil.
mauron85
1

Creo que la respuesta de Lekensteyn se puede mejorar reemplazando los dos últimos comandos find con chmod usando la opción -X (tenga en cuenta la X mayúscula). Los dos comandos de búsqueda se pueden reemplazar con

chmod -R o+rX ~/Public

Esto diferencia adecuadamente entre archivos y directorios, pero tiene el efecto adicional de permitir que otros ejecuten archivos ejecutables.

girar
fuente
0

Como lo que le interesa es la privacidad (a juzgar por las etiquetas que se aplicaron), es muy posible que la configuración de permisos sea insuficiente (consulte la respuesta de ignis ). La respuesta puede ser algo similar a un directorio de inicio cifrado . Esta solución está específicamente diseñada contra el ataque de otro usuario de una computadora. Por supuesto, no podrá evitar que otro usuario dañe sus archivos (simplemente eliminando el ~/.Privatedirectorio, borrando todos sus archivos), pero no podrán montar el directorio y ver los archivos sin su contraseña.

La forma más fácil de lograrlo es durante el proceso de instalación, hay una casilla de verificación que dice "Cifrar su directorio de inicio" y debe seleccionarlo.

Dado que es poco probable que desee reinstalar solo por eso (y porque todavía conlleva todos los riesgos que conlleva hacerlo sin reinstalar), puede hacer lo siguiente:

sudo apt-get install encryptfs-utils
encryptfs-migrate-home
v010dya
fuente
-1

Si realmente necesita un alto nivel de seguridad: vuelva a instalar y asegúrese de elegir la opción para cifrar todo el disco. Esto requerirá una frase de contraseña incluso para iniciar la máquina. Por supuesto, también puede encriptar su carpeta de inicio una vez más además de esto, con cierta degradación del rendimiento; aunque no notable para uso normal.

Tenga en cuenta que cifrar su carpeta de inicio deshabilitará aplicaciones como Dropbox. Dropbox no es un almacenamiento seguro que respeta la privacidad de todos modos, por lo que puede ser un punto trivial. Sin embargo, si necesita almacenamiento seguro y privado en la nube, personalmente recomendaría MEGAsync ya que solo usted tendría las claves para acceder a los datos.

SLS
fuente