Tengo un script de carga de respaldo que scp los archivos a otro servidor usando el usuario upload. Otra secuencia de comandos en el servidor de destino se envía a otro usuario y establece el modo de archivo en 755.
Si luego SSH en el servidor de destino con el uploadusuario, puedo eliminar los archivos seleccionados. ¿No deberían ser de solo lectura?
Así es como se ve un archivo en el servidor de destino, y el usuario uploadpuede eliminarlo.
-rwxr-xr-x 1 maciekish maciekish 650M Nov  1 01:07 2014-11-01-data.tar.bz2
El usuario uploadse acaba de agregar usando useraddy no es parte del maciekishgrupo.
Cuando intento eliminar el archivo a uploadtravés de ssh, me pregunto si deseo eliminar el "archivo normal protegido contra escritura" y puedo decirlo Yy eliminarlo.
                    
                        linux
                                security
                                file-permissions
                                
                    
                    
                        Maciej Swic
fuente
                
                fuente

rmeliminar archivos de solo lectura?Respuestas:
Los archivos son de solo lectura; sin embargo, eliminar un archivo no lo modifica sino solo el directorio padre (básicamente elimina el archivo de la lista del directorio), y parece que tiene permisos completos de escritura en el directorio.
Puede establecer el
stickybit, también conocido como indicador de "eliminación restringida", que evitará que cualquier persona, excepto el propietario, renombre o elimine archivos en ese directorio (como en/tmp). Para hacer esto, ejecutechmod o+t *directory*como el propietario del directorio.fuente
En un sistema de archivos Unix típico, cualquier archivo puede identificarse mediante un número arbitrario de entradas de directorio, cada una de las cuales contiene un "enlace duro".
Desde el punto de vista de la implementación, existe una diferencia entre eliminar la última entrada de directorio (enlace duro) para un archivo y simplemente eliminar una referencia de entre muchas. Sin embargo, desde un punto de vista semántico no hay diferencia.
Si existen múltiples enlaces duros a un archivo, escribir en el archivo usando cualquiera de ellos altera el archivo visto por todos ellos.
rmSin embargo, el uso en un enlace simplemente hace que el archivo no sea accesible a través de ese enlace. Otros enlaces al archivo continúan viendo exactamente el mismo archivo.fuente
st_nlink("número de enlaces duros") enstruct stat. En pocas palabras, los directorios contienen enlaces duros a los archivos.