En el alojamiento compartido de Unix, si tengo un archivo sensitive-data.txt y emito:
chmod 600 sensitive-data.txt
¿Puede el usuario root seguir leyendo mi archivo? Específicamente, me pregunto si es seguro almacenar mi contraseña en un archivo mercurial hgrc.
ACTUALIZAR
Decidí usar la extensión de llavero mecurial ya que era muy fácil de configurar:
pip install mercurial_keyring
y luego agregar a hgrc:
[extensions]
mercurial_keyring =
Sin embargo, todavía estoy interesado en la respuesta a esta pregunta.
fuente
CAP_DAC_OVERRIDE
les da de una sola vez todo el privilegio que necesitan para anular cualquier otro mecanismo de seguridad en el sistema.CAP_DAC_OVERRIDE
es básicamenteCAP_DO_WHATEVER_YOU_WANT
.Si root tiene todos los privilegios para hacer cualquier cosa
Aquí puede ver que he creado una prueba de nombre de directorio y toqué un archivo lonston.txt y enumeré los archivos
Luego, he cambiado el permiso de archivo y directorio a permiso nulo usando 000 y enumerado para ver el permiso
Entonces, incluso puedo escribir en el archivo y leer el archivo con cat
Incluso puedo entrar en el directorio que tiene el permiso d --------- (nulo) 000, incluso la raíz no tiene permiso de lectura o escritura.
Incluso puedo crear los archivos y carpetas después del cambio de permiso de cualquier
Ahora aquí podemos ver Permiso con 400
Lista para ver el permiso de archivo
Usando vim im, he agregado 1 línea al archivo babin.txt
Pero mientras esté en modo vim, nos notará W10: Advertencia: Cambiar un archivo de solo lectura Pero aún puede escribirse
Ahora podemos cat el archivo para la salida
Luego tengo que cerrar sesión de usuario root a usuario normal y enumeré el archivo que tiene permiso nulo también en root
Navegue al directorio / tmp
Pero mientras leemos el archivo del usuario normal no podemos
Eso es todo, espero que tengas el poder de usuario root
Si está en Usuario Normal, si necesita privilegios de root, necesitamos usar sudo, le pedirá sudo password
ejemplo:
El usuario de sudo tiene colaboración con el grupo de usuarios raíz, por lo que sudo tiene el privilegio de raíz.
Para saber más sobre sudo
Aquí podemos ver que se han definido como el usuario normal puede tener derechos de Sudo. Solo hay menos líneas que he mencionado aquí.
Totalmente podemos leer o editar o eliminar los archivos, incluso la raíz no tiene el permiso de lectura.
fuente
En Unix tradicional, la raíz es todopoderosa. En particular, root puede leer cualquier archivo, e incluso espiar lo que sus programas están haciendo internamente. Si los datos son realmente confidenciales, mantenga solo copias cifradas (considere, por ejemplo, GNU Privacy Guard para esto, pero lea cuidadosamente su documentación antes) y nunca lo descifre en una máquina que no esté bajo su control total.
(La paranoia es maravillosa, nunca hay suficiente ;-)
En serio, piensa cuidadosamente acerca de los costos de la filtración de los datos podría causar, y por lo tanto cuánto va a estar dispuestos a pagar por la seguridad. La seguridad perfecta es imposible, obtener un poco más el costo de seguridad comienza a aumentar rápidamente. Pero tenga cuidado de no caer en la trampa de una medida costosa que realmente no aumentar la seguridad ...
fuente
También se debe suponer que cualquier persona que pueda tener la oportunidad de estar en la misma habitación que el hardware puede leer o escribir lo que quieran. Si son muy paciente, con el tiempo pueden comprender los datos cifrados. No necesitan métodos de canal lateral si se puede reemplazar el software de cifrado.
fuente
Sí, la raíz puede leer el archivo protegido incluso cuando el dueño no puede (obviamente, mientras que el propietario puede eliminar la protección y luego leer el contenido):
cat: abc.txt: Permiso denegado
123
Sin embargo, bajo la configuración normal, la raíz no puede acceder a los archivos protegidos en los sistemas de archivos remotos como NFS ( "calabaza raíz").
fuente
Para evitar que root o cualquiera pueda leer sus archivos, debe cifrarlos. File Encryption es una opción muy conveniente para considerar si desea evitar tener que lidiar con manipulaciones complejas del sistema de archivos.
Opciones de encriptación:
Si elige la Opción 1, esta es una forma de cifrar sus archivos:
Para descifrar el archivo anterior, ejecuta un comando como este:
- Es posible que desee poner lo anterior en un script para que no aparezca en su historial. O bien, puede eliminar el parámetro " -k ", que solicitará a openssl que le solicite una contraseña.
Si elige la Opción 2, simplemente copie y pegue su script en el siguiente sitio:
http://www.kinglazy.com/shell-script-encryption-kinglazy-shieldx.htm
Al enviar su script a ese sitio, se creará instantáneamente un archivo zip para usted. Copie el enlace al archivo zip, luego vaya a su casilla UNIX y realice estos pasos:
Una vez que complete los pasos anteriores, puede ejecutar su secuencia de comandos cifrada desde donde esté especificada para instalarla en el paso 4 ... es decir / home / (su-nombre de usuario) / (su-secuencia de comandos cifrada). sh
fuente