Měl jsem dojem, že v podstatě všechny soubory v unixovém systému jsou upravitelné, přinejmenším viditelné.
Jaké kroky mohu podniknout, když narazím na soubor, který v nano
vypadá takto :
Jak zjistím, o jaký typ souboru se ve skutečnosti jedná, jestli je to běžící soubor a co potřebuji ke zjištění jeho kódu a toho, na čem soubor importuje/exportuje/je závislý?
Přijatá odpověď:
Všechny soubory, které žijí v souborovém systému nebo paměti, jsou technicky upravitelné, jen je třeba použít správné metody. Narazili jste na soubor binárních dat, zejména týkající se dconf
databáze nastavení soudě podle názvu v nano
řádek názvu souboru a klíčové slovo GVariant
v samotném souboru. V souladu s tím byste měli použít dconf-editor
nástroj GUI nebo dconf
nástroj příkazového řádku.
Jak zjistím, o jaký typ souboru se skutečně jedná, zda se jedná o běžící soubor a co potřebuji ke zjištění jeho kódu a toho, na čem soubor importuje/exportuje/je závislý.
Obvykle můžete použít file
příkaz k určení konkrétního typu souboru.
$ file /etc/passwd
/etc/passwd: ASCII text
Ať už je soubor spustitelný, můžete použít ls -l filename
nebo stat
určit, zda je spustitelný bit nastaven pro vlastníka, skupinu a další uživatele. Viz související příspěvek, který docela dobře vysvětluje oprávnění k souborům. K dispozici jsou také seznamy řízení přístupu, které se používají k vytvoření více efektních oprávnění, než umožňují základní unixová oprávnění.
Jaký software použít, záleží na každém souboru a existuje mnoho typů softwaru pro stejný typ souboru. Binární soubory lze obecně často prohlížet pomocí příkazů hexdump nebo od v hexadecimálním formátu a pro úpravy jsou zde hex editory, které se často používají v reverzním inženýrství a bezpečnostních aplikacích.
Měl jsem dojem, že v podstatě všechny soubory v unixovém systému jsou upravitelné, přinejmenším viditelné.
No, na slovech „Všechno je soubor v Unixu/Linuxu“ je třeba hodit trochu pravdy. Existují soubory, které mohou žít v souborovém systému, a to je to, co většina lidí zná jako soubory. Ve skutečnosti může soubor (tj. určitý kus dat organizovaný někde společně) žít v paměti nebo souborovém systému, tj. mohou existovat anonymní soubory. Sokety a nepojmenované roury jsou soubory, jen nemají název, pouze popisovač, který jádro sleduje. Lze je všechny upravit? Ano, opět správnými metodami. Pipe mají jeden proces, který do něj zapisuje, zatímco jiný čte, takže zapisovač může kanál upravovat. Soubory namapované v paměti lze upravovat, pokud má váš program přístup k určitému bloku paměti. Vše je tedy soubor, jen musíte pochopit, v jakém kontextu je soubor použit.
Související:Jaké jsou video konvertory dostupné pro Ubuntu? V Ubuntu?