Parece que todavía extraño algunas cosas sobre la forma en que funcionan los permisos. Estoy en un sistema debian 7 por cierto. ahora tengo este archivo que descargué y al que pertenece myuser:myuser
, es decir, tanto el usuario como el grupo están configurados para mí. También reside en mi $HOME
directorio ya que es donde lo descargué.
Hasta aquí todo bien. Ahora quiero compartir este archivo con algunos otros usuarios de la PC y para eso quiero cambiar la propiedad del grupo del archivo a "usuarios" del grupo. sin embargo eso falla:
nass@quarx:~/xmas_carol$ chgrp -R users *
chgrp: changing group of movie.mov': Operation not permitted
Y el contenido de la carpeta es:
-rwxr-xr-x 1 nass nass 2482411461 Feb 6 03:57 movie.mov
Estoy confuso sobre lo que está sucediendo con los permisos. Alguien puede explicar
permissions
nass
fuente
fuente
/xmas_carol
monta samba / nfs?setfacl
(si el sistema de archivos tiene ACL). ver unix.stackexchange.com/questions/101263/…Respuestas:
Su usuario probablemente no sea miembro del
users
grupo, por lo que no tiene derecho a entregar un archivo a ese grupo. Para ilustrar:Este comportamiento se menciona en las especificaciones POSIX :
La razón principal de esto es que si no eres miembro de un grupo, no deberías poder modificar a qué tiene acceso ese grupo. Esta respuesta sobre
chown
permisos también es relevante.Tradicionalmente, en los sistemas compartidos, tiene un
users
grupo al que pertenecen todos los usuarios regulares y ese es el grupo principal de cada usuario. De esa forma, los archivos se crean propiedad delusers
grupo y todos los usuarios pueden leerlos.De todos modos, dado que esa no es la forma en que se configuran las distribuciones basadas en Debian en estos días, la forma de dar acceso a un archivo a un usuario específico sería
Cambie la propiedad del grupo del archivo / directorio a un grupo del que tanto usted como el otro usuario sean miembros;
Simplemente cambie los permisos del archivo / directorio en consecuencia:
Eso hará que el directorio sea accesible para todos.
fuente
En UNICes recientes (y "reciente" tiene un significado bastante amplio aquí), no puede cambiar la propiedad del grupo de archivos a un grupo del que no es miembro. Las versiones heredadas de diferentes sabores de UNIX respaldaban esto, para casos de uso como el suyo, pero resultó ser un problema de seguridad.
El problema de poder cambiar la propiedad del grupo a grupos extranjeros es bastante trivial: si el sistema de archivos en el que reside el archivo tiene cuotas de grupo habilitadas, un usuario con intenciones maliciosas podría simplemente llenar la cuota del grupo extranjero, lo que hace imposible para los usuarios con este grupo como ID de grupo principal para crear más archivos. Esto podría afectar fácilmente incluso los procesos que ya se están ejecutando y provocar su muerte debido al "disco lleno".
Para evitar su problema, existen (al menos) dos posibilidades: Primero, puede pedirle al superusuario de su sistema que agregue el grupo objetivo deseado a la lista de grupos suplementarios de su cuenta. Por supuesto, esto solo tiene un sentido limitado si no tienes una relación con este grupo.
La otra forma de no tener que hacer que el archivo se pueda escribir en todo el mundo, lo que seguramente no se desea, es usar ACL para otorgar al grupo deseado permisos de lectura y escritura:
fuente
Puede ser porque el bit inmutable está establecido. Obtenga la lista de atributos de archivo en ejecución
si i aparece, entonces el atributo inmutable se establece y nadie puede modificar el archivo (incluso raíz).
Para eliminar el atributo debes ejecutar como root
Para ver más atributos del sistema de archivos, lea las páginas del manual
fuente
Si se había agregado al grupo en este momento, asegúrese de cerrar sesión y volver a iniciarla para asegurarse de que los cambios surtan efecto.
fuente