Me pregunto por qué, por defecto, mi directorio /home/<user>/
tiene permisos establecidos 755
. Esto permite a otros usuarios ingresar a directorios y leer archivos en mi casa. ¿Hay alguna razón legítima para esto?
¿Puedo configurar los permisos 700
para mi hogar y todos los subdirectorios, por ejemplo:
chmod -R o-xw /home/<user>/
chmod -R g-xw /home/<user>/
sin romper nada?
Además, ¿es posible establecer los permisos en mi casa, de modo que todos los archivos nuevos creados tengan 600
directorios 700
?
permissions
files
chmod
Martin Vegter
fuente
fuente
public_html
para permitir que el servidor web acceda al directorio. Aunque es muy conveniente para los usuarios, no soy un gran admirador.Respuestas:
Si su directorio personal es privado, nadie más puede acceder a ninguno de sus archivos. Para acceder a un archivo, un proceso debe tener permiso de ejecución para todos los directorios en la ruta hacia abajo del árbol desde el directorio raíz. Por ejemplo, para permitir que otros usuarios lean
/home/martin/public/readme
, los directorios/
,/home
,/home/martin
y/home/martin/public
todos tenemos que tener los permisosd??x??x??x
(que puede serdrwxr-xr-x
, odrwx--x--x
, o alguna otra combinación), y, además, el archivoreadme
debe ser legible públicamente (-r??r??r??
).Es común tener directorios de inicio con modo
drwxr-xr-x
(755) o al menosdrwx--x--x
(711). El modo 711 (solo permiso de ejecución) en un directorio permite que otros accedan a un archivo en ese directorio si conocen su nombre, pero no pueden enumerar el contenido del directorio. En ese directorio de inicio, cree subdirectorios públicos y privados como desee.Si nunca desea que otras personas lean ninguno de sus archivos, puede crear su directorio personal
drwx------
(700). Si hace eso, no necesita proteger sus archivos individualmente. Esto no romperá nada más que la capacidad de otras personas para leer su archivo.Una cosa común que puede romperse, porque es una instancia de otras personas que leen sus archivos, es si tiene un directorio como
~/public_html
o~/www
que contiene su página web. Dependiendo de la configuración del servidor web, este directorio puede necesitar ser legible en todo el mundo.Puede cambiar los permisos predeterminados para los archivos que cree configurando el valor de umask en su
.profile
. La umask es el complemento de los permisos máximos de un archivo. Los valores comunes incluyen 022 (editable solo por el propietario, legible y ejecutable por todos), 077 (acceso solo por el propietario) y 002 (como 022, pero también de escritura grupal). Estos son permisos máximos: las aplicaciones pueden establecer permisos más restrictivos, por ejemplo, la mayoría de los archivos no son ejecutables porque la aplicación que los creó no estableció los bits de permiso de ejecución al crear el archivo.fuente
~/public_html
. ¿Hay algún otro programa común que no sea Apache, que podría necesitar acceso a mi casa? ¿Qué talpostfix
, por ejemplo?.forward
que un sistema de correo que se ejecute como usuario del sistema pueda leerlos. Postfix sin embargo está bien con un privado.forward
.Si marca en RHEL / CentOS 5.x, el permiso predeterminado es 700, pero en Ubuntu es 755.
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.
Puedes configurar
umask 0077
esoFuncionará como:
El permiso predeterminado para el directorio es
0777
, por lo tanto, cuando configura umask0077
, se creará un nuevo directorio con permiso,(0777-0077)
es decir,0700
como desee.fuente
umask
aplica también a los archivos? Parece que solo tiene efecto cuando creo nuevos directorios.umask 0077
y cree el archivo, dir y verifique el permisostat filename
Sí, hay una razón muy legítima. Tenga en cuenta que otros usuarios pueden leer pero no escribir en sus archivos. Esto es muy útil en redes profesionales porque puede compartir fácilmente sus archivos con sus colegas.
Por ejemplo, en el laboratorio en el que solía trabajar, todos teníamos acceso a los
$HOME
directorios de los demás para poder compartir fácilmente nuestros datos o nuestras secuencias de comandos. Si mi amiga Alice tuviera un buen script para hacer X, simplemente lo ejecutaría:Como otros mencionaron, para cambiar esto necesitará configurar umask. Por ejemplo, para que solo usted pueda leer nuevos archivos y carpetas, agregue esto a su
~/.bashrc
:fuente
Necesita cambiar la umask, para cambiar cómo se crean los nuevos archivos en su carpeta de inicio. Esto por lo general se realiza mediante la edición del script de arranque concha, hay una visión general bastante bueno aquí
En cuanto a cambiar todos los permisos en su carpeta de inicio a 700, me pregunto cómo afectaría eso a los servicios que se ejecutan bajo cuentas de servicio que necesitan información de configuración de su carpeta de inicio ... Puede terminar evitando que estos servicios lean los archivos de configuración que requieren .
fuente