Cómo evitar que los usuarios cambien el nombre de los archivos mientras otorgan permisos de escritura en Linux

Cómo evitar que los usuarios cambien el nombre de los archivos mientras otorgan permisos de escritura en Linux

Para algún propósito especial, quiero evitar que los usuarios no root del servidor Linux cambien o cambien el nombre de los archivos. Sin embargo, pueden modificar y escribir en el contenido del archivo. Cómo hacer esto desde la línea de comando.

Respuesta1

Para cambiar el nombre de un archivo, los permisos de escritura en el archivo no importan, cambiar el nombre de un archivo es un cambio en el directorio, no en el archivo. Eso es cambiar la entrada del directorio para que tenga un nombre diferente que apunte al archivo.

Entonces todo lo que necesitas hacer es cambiar los permisos del directorio. Por ejemplo:

chown root: .
chmod 755 .

Eso evitará que los usuarios cambien el nombre de los archivos allí, pero también que creen o eliminen archivos. Si aún desea que puedan hacer eso, puede hacer que se pueda escribir en el directorio pero también configurar el tbit. Con ese bit configurado, los usuarios (excepto el propietario del directorio que no está restringido) solo pueden eliminar o cambiar el nombre de los archivos que poseen.

chown root:people-who-can-create-file-here .
chmod 1775 .
chown root:people-who-can-modify-the-files file1-that-must-not-be-rename ...
chmod 664 file1-that-must-not-be-rename ...

información relacionada