Intenté "chattr + i DIRNAME", es genial, pero no puedo crear archivos en el DIR después de chattr. ¿Qué más hay para evitar que los usuarios eliminen un directorio?
root@HOST ~] mkdir test
[root@HOST ~] chattr +i test
[root@HOST ~] cd test
[root@HOST ~/test] touch sth
touch: cannot touch `sth': Permission denied
[root@HOST ~/test] cd ..
[root@HOST ~] chattr -i test
[root@HOST ~] cd test
[root@HOST ~/test] touch sth
[root@HOST ~/test]
ACTUALIZACIÓN: solo la eliminación del directorio es importante, por lo que todavía necesito que se eliminen los archivos
permissions
files
Gasko Peter
fuente
fuente
/tmp
y/var/tmp
. Si bien cada usuario puede crear archivos allí, él / ella puede eliminar solo sus propios archivos / directorios, pero no el directorio en sí.Respuestas:
Entonces, ¿qué hay de malo con un simple chown / chmod ?:
Bien, déjenme decirles qué hay de malo en esto: cada usuario tiene acceso a todos los archivos del
question
directorio debido a los777
permisos. Es mejorgroupadd question
mkdir question
chown root:question ./question
chmod 770 ./question
usermod -G group user
El truco importante aquí es que el directorio tiene un propietario diferente que cualquiera de los usuarios que intentarán eliminarlo.
fuente
sudo chmod o+t ..
para establecer lat
bandera en el directorio principal. Lat
bandera no permitirá eliminar un archivo que no sea propiedad del usuario.t
se usa comúnmente/tmp
para hacer exactamente eso. El usuario A no puede eliminar archivos propiedad del usuario B.Crea un archivo ".protected" y hazlo como root
A continuación, puede eliminar todos los archivos excepto
.protected
dentro de este directorio, por lo que ningún otro usuario puede eliminar el directorio.fuente
Debería hacer el trabajo. Puede crear archivos dentro pero no podrá eliminarlos.
fuente