¿Cómo puedo proteger un archivo de los cambios del usuario?

15

Estoy usando Ubuntu 12.04 y quiero proteger algunas fotos de otro usuario usando el comando su (tengo privilegios de administrador). ¿Cómo puedo proteger un archivo usando el terminal y al mismo tiempo permitir que el resto de los usuarios lo lean?

Jatttt
fuente
Quiero que cualquiera pueda verlo, el bot no puede editarlo o eliminarlo
Jatttt
@ user222588 suena bastante claro, no se preocupe
Bruno Pereira
El método depende de dónde están los archivos, dónde están. ¿Un usb, tu disco duro principal?
Braiam

Respuestas:

25

Ubuntu usa el formato del sistema de archivos EXT4 de forma predeterminada (supongo que no estamos hablando de nada más aquí).

Si no desea tomar posesión del archivo sin eliminar la capacidad del usuario de leer ese archivo, puede comenzar permitiéndole leer, pero no escribir en ese archivo con:

chmod a-w,ug+r foo_file

descripción: cambiar los permisos del archivo, todos no pueden escribir , el usuario + grupo puede leer

Luego puede hacer que los archivos sean inmutables para que incluso los usuarios con permiso de root no puedan cambiar utilizando lo siguiente:

sudo chattr +i foo_file

Para poder eliminar o incluso modificar este archivo, necesitará usar el comando:

sudo chattr -i foo_file

y luego podrás hacer algo con él.

El punto positivo de usar esto es que la mayoría de los usuarios (y administradores) nunca han experimentado archivos inmutables en Linux.

Ese fue el usuario verá esto cuando intente eliminar (o alterar) el archivo:

~> sudo chmod a-w,ug+r asd
~> ll asd
-r--r--r-- 1 bruno bruno 156 feb 21 20:46 asd
~> sudo chattr +i asd
~> chmod +w asd
chmod: changing permissions of ‘asd’: Operation not permitted
~> rm asd
rm: remove write-protected regular file ‘asd’? y
rm: cannot remove ‘asd’: Operation not permitted
~> sudo rm asd
rm: cannot remove ‘asd’: Operation not permitted

sin dejar de poder leerlo:

~> cat asd
asd
...
Videos

Después de emitir chattr +iel archivo está "bloqueado", no se pueden realizar cambios hasta que un usuario con permisos de root lo desactive chattr -i.

Bruno Pereira
fuente
Saluda a mi amigo. Qué buena explicación.
rɑːdʒɑ
8

Simplemente use como se muestra a continuación en su terminal ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory
rɑːdʒɑ
fuente
¿Qué hay de malo en esto? voto negativo con un motivo propio muy apreciado.
rɑːdʒɑ
1

Pruebe el siguiente comando en la terminal,

chmod u-rw /path/to/directory

El comando anterior no permitirá que otro usuario o grupo lea o escriba ese directorio donde se almacenan las imágenes.

chmod u+rw /path/to/directory

Para revertir los cambios, ejecute el comando anterior.

Avinash Raj
fuente
1
proporcione el motivo del voto negativo.
Avinash Raj
2
Me imagino que el voto negativo se debe a que le está quitando derechos al propietario, no a otros usuarios y grupos.
Ben Voigt
0

Si desea cifrar el archivo, puede usarlo bcryptpara cifrarlo y descifrarlo. Utiliza el cifrado de archivos blowfish.

tipo: sudo apt-get install bcryptpara instalarlo.

Después de la instalación, escriba sudo bcrypt file-namepara cifrarlo.

g_p
fuente
0

Recomiendo usar Truecrypt para crear un "disco extraíble" cifrado en 1 archivo. Si crea, por ejemplo, una partición Truecrypt de 1 GB y puede proteger este archivo con contraseña. (Opción experta: puede establecer 2 contraseñas para ese archivo: con la primera contraseña verá una parte normal del archivo y con la contraseña 2 verá la parte oculta) Puede montar este archivo en Linux, Mac o en Windows (montar en la unidad e:) y mostrará ese archivo de 1 GB como una unidad pendrive / flash, y podrá desmontarlo cuando lo desee.

Si crea ese archivo de 1GB (o cualquier tamaño, o un disco completo o pendrive) puede agregar cualquier extensión para que ese archivo se oculte. (Nunca coloque ese archivo en su directorio de inicio como secret.truecrypt.file.with.pwd lol)

Si utiliza cualquier nombre de archivo del sistema en la carpeta del sistema, tal vez el usuario normal nunca se dé cuenta de que no es un archivo del sistema, es un archivo cifrado privado.

Por ejemplo para ocultar este archivo:

/usr/lib/libc8.2.so
/usr/lib/libxml24.so.9.1.3

Otros nombres de archivos temporales:

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • Elija un esquema y cambie los números para un nombre de archivo.

  • y también establecer derechos ... y una vez hecho esto, elimine los comandos de la consola del historial

  • Con esa solución, el usuario normal nunca encontrará su archivo secreto.

  • En Pendrive, cree una carpeta TEMP y use un nombre de archivo temporal, como ejemplos de archivos. y hacer algunas copias de seguridad con un nombre diferente ...

Puede instalar truecrypt si lo desea, por ejemplo:

sudo add-apt-repository ppa:michael-astrapi/ppa
sudo apt-get update
sudo apt-get install truecrypt

Más información en la página de inicio de Truecrypt

Ángel caido
fuente
0

Si por protección, quiere decir evitar cualquier modificación de estos archivos, considere usar la utilidad chattr . Tiene la opción de marcar archivos como inmutables (no se pueden cambiar).

chattr +i /home/username/pictures/example1.png

Esto evitará que todos los usuarios e incluso el usuario raíz eliminen o modifiquen cualquier archivo establecido como inmutable.

Puede revertir esta acción reemplazando "+ i" con "-i".

Graham G
fuente