Le TOC en moi veut que les répertoires dont je n'aime pas le nom soient cachés puisque je n'interagis pas directement avec eux.
Comment puis-je masquer les répertoires sans utiliser la notation par points ?
Le TOC en moi veut que les répertoires dont je n'aime pas le nom soient cachés puisque je n'interagis pas directement avec eux.
Comment puis-je masquer les répertoires sans utiliser la notation par points ?
En supposant que vous ne vous souciez que de masquer les fichiers pour qu'ils ne s'affichent pas dans Nautilus, il existe une option bogue sur le Bugzilla de GNOME à ce sujet. Cependant, à l'heure actuelle, ce bogue n'a pas été résolu.
Il existe un autre moyen de masquer les fichiers pour qu'ils n'apparaissent pas dans Nautilus. Si vous créez un fichier appelé .hidden
à l'intérieur d'un répertoire, tout nom de fichier figurant dans le fichier ne sera pas affiché.
Par exemple, voici un fichier .hidden que j'ai créé. Ce fichier cachera tous les fichiers ou dossiers nommés b
o e
situé dans le même répertoire que le fichier .hidden.
Vous trouverez ci-dessous une capture d'écran du dossier qui contient le fichier .hidden. Notez que vous ne voyez que trois fichiers : a
, c
y f
. Vous ne voyez pas le fichier .hidden à cause du '.' au début de son nom.
La capture d'écran ci-dessous montre le même dossier que précédemment. Cependant, cette fois, j'ai appuyé sur Ctrl + H pour que Nautilus affiche les fichiers et dossiers cachés. Remarquez qu'il y a plusieurs fichiers supplémentaires qui apparaissent. Vous voyez maintenant plusieurs fichiers qui étaient auparavant cachés parce que leurs noms commençaient par un ".". Il y a aussi maintenant des fichiers appelés 'b' et 'e', qui bien que n'ayant pas de noms commençant par un '.', étaient cachés parce qu'ils étaient listés dans le fichier .hidden.
Les fichiers mentionnés dans le fichier .hidden ne seront cachés que dans nautilus. Des outils comme ls
les affichera toujours. Le fichier .hidden n'est pas non plus récursif. Il n'affecte que les fichiers du même répertoire que celui dans lequel se trouve le fichier .hidden.
Certaines personnes sur le forum ont créé des scripts pour nautilus qui facilitent l'ajout de fichiers au fichier .hidden. Le site premier script comprend une bonne explication sur la façon d'installer et d'utiliser les scripts, mais la deuxième script est un peu plus propre et plus court. N'hésitez pas à utiliser l'un ou l'autre script pour vous faciliter un peu la vie.
Unix et Linux ne supportent que le masquage des dossiers qui sont avec un .
.
Si vous voulez vraiment les mettre à l'écart, mais que vous voulez qu'ils n'aient pas .
et les mettre dans un .hidden
dans le même répertoire que le fichier ou le dossier que vous voulez cacher. .hidden
ne seront pas exposés par le gestionnaire de fichiers, et vos fichiers ne subiront pas de changement de nom.
À partir de la ligne de commande, vous pourriez essayer quelque chose comme ceci dans votre fichier .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 lui manque également certaines de ses fonctionnalités comme la sortie colorée et les listes de colonnes).
Si vous voulez cacher des fichiers, il ne vous reste plus qu'à les renommer en les faisant précéder d'un nom. .
comme le veut 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 les autorisations de fichiers.
Disons que vous avez un tas de fichiers dans un dossier appelé secret_stash
vous pouvez le modifier de façon à ce que vous (le propriétaire) soyez le seul à avoir accès à l'information. r-x
(lire, exécuter) et tous les autres n'ont rien. ---
(pas d'accès). Depuis r-x
est le minimum de perms nécessaires pour visualiser un répertoire (lire 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é à tous sauf root
.
NOTE : J'exécute cette démo en tant que root
et j'essaie d'accéder au dossier en tant que myuser
Pour ce faire, vous exécutez chmod 700 dirname
(700 signifie rwx------
):
% mkdir secret_stash
% chmod 700 secret_stash
Et voilà :
% 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 d'accès 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" tellement de fois qu'il a perdu tout son sens ! !!
1er point : si vous voulez cacher un fichier à tout le monde : installez un système de détection d'intrusion linux . ( Snort est un exemple) Vous pouvez même cacher un fichier à "root", mais "root" pourra également revenir sur ces réglages.
Mais il peut être plus facile de définir les autorisations du répertoire qui contient le fichier à "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 cependant : "root" aura TOUJOURS accès à n'importe quel fichier.
Avec le chattr
vous pouvez même rendre le fichier immuable.
sudo su
chattr + i {file}
et même "root" ne peut pas modifier le fichier -sans que la chattr
est inversé (et oui, "root" peut le faire).
Y a-t-il un raccourci clavier pour cela ?
Non, c'est quelque chose que vous devez faire manuellement.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.