J'avais l'impression que pratiquement tous les fichiers d'un système Unix sont modifiables, à tout le moins visualisables.
Quelles mesures puis-je prendre lorsque je rencontre un fichier qui ressemble à ceci dans nano
:
Comment puis-je déterminer de quel type de fichier il s'agit réellement, s'il s'agit d'un fichier en cours d'exécution et de quoi j'ai besoin pour connaître à la fois son code et de quoi le fichier importe/exporte/dépend ?
Réponse acceptée :
Tous les fichiers qui vivent sur le système de fichiers ou la mémoire sont techniquement modifiables, il suffit d'utiliser les bonnes méthodes. Vous avez rencontré un fichier de données binaires, en particulier concernant dconf
base de données de paramètres à en juger par le nom dans le nano
la ligne du nom de fichier et le mot-clé GVariant
dans le fichier lui-même. En conséquence, vous devez utiliser dconf-editor
Outil graphique ou dconf
outil de ligne de commande.
Comment puis-je déterminer de quel type de fichier il s'agit réellement, s'il s'agit d'un fichier en cours d'exécution et ce dont j'ai besoin pour connaître à la fois son code et de quoi le fichier importe/exporte/dépend.
Généralement, vous pouvez utiliser file
commande pour déterminer le type de fichier particulier.
$ file /etc/passwd
/etc/passwd: ASCII text
Que le fichier soit exécutable, vous pouvez utiliser ls -l filename
ou stat
pour déterminer si le bit exécutable est défini pour le propriétaire, le groupe et les autres utilisateurs. Voir un article connexe qui explique assez bien les autorisations sur les fichiers. Il existe également des listes de contrôle d'accès, qui sont utilisées pour créer plus d'autorisations sophistiquées que ne le permettent les autorisations Unix de base.
Quant au logiciel à utiliser, cela dépend de chaque fichier, et il existe de nombreux types de logiciels pour le même type de fichier. Les fichiers binaires en général peuvent souvent être visualisés via des commandes hexdump ou od au format hexadécimal, et pour les modifier - il existe des éditeurs hexadécimaux, qui sont souvent utilisés dans les applications de rétro-ingénierie et de sécurité.
J'avais l'impression que pratiquement tous les fichiers d'un système Unix sont modifiables, à tout le moins visualisables.
Eh bien, il y a un peu de vérité à dire sur les mots "Tout est un fichier sous Unix/Linux". Il y a des fichiers qui peuvent vivre dans le système de fichiers, et c'est ce que la plupart des gens appellent des fichiers. En réalité, un fichier (c'est-à-dire un bloc particulier de données organisé ensemble quelque part) peut vivre dans la mémoire ou le système de fichiers, c'est-à-dire qu'il peut y avoir des fichiers anonymes. Les sockets et les canaux sans nom sont des fichiers, ils n'ont tout simplement pas de nom, seulement un handle dont le noyau garde la trace. Peut-on tous les modifier ? Oui, encore une fois, avec les bonnes méthodes. Les tubes ont un processus qui y écrit, tandis qu'un autre lit, afin que l'auteur puisse éditer le tube. Les fichiers mappés en mémoire peuvent être modifiés si votre programme peut accéder à ce morceau de mémoire particulier. Donc tout est un fichier, il vous suffit de comprendre dans quel contexte le fichier est appliqué.
Connexes :Quels sont les convertisseurs vidéo disponibles pour Ubuntu ? Sous Ubuntu ?