Respuestas:
Suponiendo que solo le importa ocultar los archivos para que no aparezcan en nautilus, hay un error en GNOME Bugzilla sobre esto. Sin embargo, actualmente, ese error no se ha resuelto.
Hay otra forma de ocultar que los archivos aparezcan en nautilus. Si crea un archivo llamado .hidden
dentro de un directorio, no se mostrará ningún nombre de archivo listado en el archivo.
Por ejemplo, a continuación hay un archivo .hidden que creé. Este archivo ocultará todos los archivos o carpetas nombrados b
o e
ubicados en el mismo directorio que el archivo .hidden.
A continuación se muestra una captura de pantalla de la carpeta que contiene el archivo .hidden. Tenga en cuenta que sólo se ven tres archivos: a
, c
, y f
. No ve el archivo .hidden debido a '.' al comienzo de su nombre.
La captura de pantalla a continuación es de la misma carpeta que antes. Sin embargo, esta vez, presioné Ctrl+ Hpara hacer que nautilus muestre carpetas y archivos ocultos. Observe cómo se muestran varios archivos adicionales. Ahora ve varios archivos que anteriormente estaban ocultos debido a que tenían nombres que comenzaron con un '.'. Ahora también hay archivos llamados 'b' y 'e', que aunque no tienen nombres que comienzan con '.', Se ocultaron debido a que figuran en el archivo .hidden.
Los archivos mencionados en el archivo .hidden solo se ocultarán en nautilus. Las herramientas como ls
todavía los mostrarán. El archivo .hidden tampoco es recursivo. Solo afecta a los archivos en el mismo directorio en el que se encuentra el archivo .hidden.
Algunas personas en el foro han seguido adelante y han creado scripts para nautilus que hacen que sea más fácil agregar archivos al archivo .hidden. El primer script incluye una buena explicación sobre cómo instalar y usar los scripts, pero el segundo script es un poco más limpio y corto. Siéntase libre de usar cualquiera de los guiones para hacer su vida un poco más fácil.
Unix y Linux solo admiten carpetas ocultas que están con un .
.
Si realmente quiere eliminarlos, pero quiere que no tengan .
s, colóquelos .hidden
en el mismo directorio que el archivo o carpeta que desea ocultar. .hidden
no será expuesto por el administrador de archivos, y sus archivos no tendrán un cambio de nombre.
Desde la línea de comando, puede intentar algo como esto en su .bash_aliases
archivo:
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls $@
}
Esto agrega un nuevo comando lsh
que se comporta como ls
, pero oculta los archivos enumerados en un .hidden
directorio. (También le faltan algunas de sus características, como salida coloreada y listados de columnas).
Si desea ocultar archivos, solo le queda renombrarlos con un precedente .
, como es la convención * NIX. Lo siento, pero eso es todo.
Sin embargo, si desea ocultar el contenido de los archivos / directorios, puede hacerlo con permisos de archivo.
Digamos que tiene un montón de archivos en una carpeta llamada secret_stash
, podría cambiarlo para que solo usted (el propietario) tenga r-x
(leer, ejecutar) y todos los demás no tengan nada ---
(sin acceso). Dado que r-x
son los permisos mínimos necesarios para ver un directorio (leer para acceder a sus contenidos y ejecutar para poder verlos), cualquier cosa dentro de esa carpeta está efectivamente oculta para todos menos root
.
NOTA : estoy ejecutando esta demostración como root
e intento acceder a la carpeta comomyuser
Para hacer esto, corres chmod 700 dirname
(700 medios rwx------
):
% mkdir secret_stash
% chmod 700 secret_stash
Y aquí está:
% whoami
root
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
./ ../ secret.txt
% cat secret_stash/secret.txt
TOP SECRET DATA
Ahora y si intento acceder a él myuser
, los intentos de acceder a la carpeta o su contenido fallan:
% whoami
myuser
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash
ls: cannot open directory secret_stash: Permission denied
% cat secret_stash/secret.txt
cat: secret_stash/secret.txt: Permission denied
¡Y ahora he dicho la palabra "secreto" tantas veces que ha perdido todo significado!
chmod -R 000 secret_stash
y nadie podrá leerlo!
Primero: si desea ocultar un archivo a alguien: instale un sistema de detección de intrusos de Linux . ( Snort es un ejemplo) Incluso puede ocultar un archivo de "root" pero "root" también podrá revertir esa configuración.
Pero podría ser más fácil simplemente establecer los permisos del directorio que contiene el archivo en "raíz". Ejemplo:
$ sudo su
# mkdir tmp/
# touch tmp/1
# chown root:root tmp
# chmod 000 tmp
# ls -l
total 4
d--------- 2 root root 4096 2015-08-07 06:36 tmp
# exit
exit
$ ls
tmp
$ cd tmp/
bash: cd: tmp/: Permission denied
Y el archivo 1
está efectivamente oculto a la vista.
El directorio será visible; El archivo no será visible. Tenga en cuenta: "root" SIEMPRE tendrá acceso a cualquier archivo.
Junto con el chattr
puede incluso hacer que el archivo sea inmutable.
sudo su
chattr + i {file}
e incluso "root" no puede alterar el archivo, a menos que chattr
se revierta (y sí, "root" puede hacer eso).
¿Algún atajo de teclado para eso?
No, esto es algo que debe hacer manualmente.
También hay una extensión para Nautilus llamada nautilus-hide que le permitirá ocultar cualquier archivo o carpeta con un simple clic derecho sobre ellos.
Para instalar esta extensión:
sudo apt-get install nautilus-hide
en una terminal, o busque "nautilus hide" en el Centro de software de Ubuntu.
No olvide salir de Nautilus después de la instalación: Alt+ F2y escriba nautilus -q
.
'
nombre del archivo o carpeta que contiene `` espacio, no lo es. Simplemente agregue el nombre del archivo o carpeta