Réponses:
En supposant que vous vous souciez uniquement de cacher les fichiers dans Nautilus, il y a un bogue sur GNOME Bugzilla à ce sujet. Cependant, actuellement, ce bogue n’a pas été résolu.
Il existe un autre moyen de masquer l’apparition de fichiers dans Nautilus. Si vous créez un fichier appelé à l' .hidden
intérieur d'un répertoire, aucun nom de fichier répertorié dans le fichier ne sera affiché.
Par exemple, ci-dessous est un fichier .hidden que j'ai créé. Ce fichier cachera tous les fichiers ou dossiers nommés b
ou e
situés dans le même répertoire que le fichier .hidden.
Vous trouverez ci-dessous une capture d'écran du dossier contenant le fichier .hidden. Notez que vous ne voyez que trois fichiers: a
, c
et f
. Vous ne voyez pas le fichier .hidden à cause du "." au début de son nom.
La capture d'écran ci-dessous est du même dossier qu'avant. Cependant, cette fois, j'ai appuyé sur Ctrl+ Hpour que nautilus affiche les fichiers et dossiers cachés. Remarquez comment plusieurs fichiers supplémentaires apparaissent. Vous voyez maintenant plusieurs fichiers qui étaient auparavant cachés en raison de noms commençant par un '.'. Il existe également des fichiers appelés «b» et «e», qui, bien qu'ils n'aient pas de noms commençant par un «.», Ont été masqués car ils figurent dans le fichier .hidden.
Les fichiers mentionnés dans le fichier .hidden ne seront cachés que dans Nautilus. Des outils comme ls
vont toujours les afficher. Le fichier .hidden n'est pas non plus récursif. Cela n'affecte que les fichiers du même répertoire que le fichier .hidden.
Certaines personnes du forum ont créé des scripts pour Nautilus qui facilitent l’ajout de fichiers au fichier .hidden. Le premier script comprend une explication intéressante sur la façon d'installer et d'utiliser les scripts, mais le second script est un peu plus propre et plus court. N'hésitez pas à utiliser l'un ou l'autre script pour vous rendre la vie un peu plus facile.
Unix et Linux ne prennent en charge que le masquage de dossiers appartenant à un .
.
Si vous voulez vraiment les éliminer, mais que vous ne les avez pas .
, placez-les tous .hidden
dans le même répertoire que le fichier ou le dossier que vous voulez masquer. .hidden
ne sera pas exposé par le gestionnaire de fichiers et vos fichiers ne changeront pas de nom.
En ligne de commande, vous pouvez essayer quelque chose comme ceci dans votre .bash_aliases
fichier:
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls $@
}
Cela ajoute une nouvelle commande lsh
qui se comporte comme ls
, mais cache les fichiers listés dans un .hidden
répertoire. (Il manque également certaines de ses fonctionnalités telles que la sortie colorisée et les listes de colonnes.)
Si vous souhaitez masquer des fichiers, il ne vous reste plus qu'à les renommer avec une .
convention précédente , comme c'est le cas de la convention * NIX. Désolé, mais c'est tout.
Toutefois, si vous souhaitez masquer le contenu des fichiers / répertoires, vous pouvez le faire avec des autorisations de fichier.
Donc, disons que vous avez un tas de fichiers dans un dossier appelé secret_stash
, vous pouvez le changer pour que seul vous (le propriétaire) ayez r-x
(lire, exécuter) et que tout le monde n’ait rien ---
(pas d’accès). Puisque r-x
c'est le minimum de permanentes nécessaires pour voir un répertoire (lu pour accéder à son contenu et exécuter pour pouvoir le voir), tout ce qui se trouve à l'intérieur de ce dossier est effectivement caché à tout le monde root
.
REMARQUE : J'utilise cette démo root
et j'essaie d'accéder au dossier en tant quemyuser
Pour ce faire, vous exécutez chmod 700 dirname
(700 moyens rwx------
):
% mkdir secret_stash
% chmod 700 secret_stash
Et le voici:
% 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
Maintenant et si j'essaie d'y accéder depuis myuser
, les tentatives pour accéder au dossier ou à son contenu échouent:
% 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
Et maintenant, j'ai dit le mot "secret" tant de fois qu'il a perdu toute signification!
chmod -R 000 secret_stash
alors personne ne sera capable de le lire!
1er arrêt: si vous voulez cacher un fichier à quiconque: installez un système de détection d'intrusion sous Linux . ( Snort est un exemple) Vous pouvez même cacher un fichier à partir de "root" mais "root" sera également en mesure de rétablir ces paramètres.
Mais il serait peut-être plus simple de définir les autorisations du répertoire qui contient le fichier sur "root". Exemple:
$ 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
Et le fichier 1
est effectivement caché de la vue.
Le répertoire sera visible. Le fichier ne sera pas visible. Attention, "root" aura TOUJOURS accès à tous les fichiers.
Avec le, chattr
vous pouvez même rendre le fichier immuable.
sudo su
chattr + i {file}
et même "root" ne peut pas altérer le fichier - à moins que le ne chattr
soit retourné (et oui "root" peut le faire).
Un raccourci clavier pour ça?
Non, c'est quelque chose que vous devez faire manuellement.
Il existe également une extension pour Nautilus appelée nautilus-hide qui vous permet de masquer n’importe quel fichier ou dossier avec un simple clic-droit dessus.
Pour installer cette extension:
sudo apt-get install nautilus-hide
dans un terminal, ou recherchez "cache de nautile" dans le Centre logiciel Ubuntu.
N'oubliez pas de quitter Nautilus après l'installation: Alt+ F2et tapez nautilus -q
.
'
de fichier ou de dossier qui contient un espace, ce n’est pas le cas. Ajoutez simplement le nom du fichier ou du dossier