Você pode procurar facilmente por arquivos que pertençam a um usuário específico:
find -xdev / -user bob
O Unix não acompanha quem modificou um arquivo.
Não há uma maneira fácil de localizar os arquivos do sistema que você alterou. A maneira normal de manter um sistema unix é deixar o sistema operacional gerenciar seus próprios arquivos e colocar seus próprios arquivos em diretórios separados. No Linux, a convenção é que
-
/bin
,/sbin
,/lib
e/usr
fora/usr/local
pertencem exclusivamente à distribuição; -
/usr/local
pertence exclusivamente ao administrador do sistema; -
/etc
é preenchido pela distribuição, mas pode ser modificado pela distribuição.
Seu diretório pessoal, claro, pertence a você.
Quando você fizer coisas como adicionar aliases para ssh ou arquivos de realce de sintaxe para o Gedit, faça-o em /usr/local
se quiser que eles estejam disponíveis para todos os usuários, ou em seu diretório home de outra forma.
Se você realmente precisar alterar algo em /usr
porque um aplicativo procura apenas arquivos lá e não em /usr/local
, coloque o arquivo real em /usr/local
e crie um link simbólico em /usr
.
Para acompanhar os arquivos que você alterou em /etc
, recomendo etckeeper . Todas as boas distribuições (inclusive) oferecem isso. (Se a sua distribuição não, tome isso como um comentário sobre a sua distribuição.)
Você pode procurar os arquivos que foram modificados nas versões fornecidas pela distribuição. Isso é diferente para todo gerenciador de pacotes. Como você mencionou o Ubuntu, a ferramenta de gerenciamento de pacotes de baixo nível é dpkg . Para cada pacote, há uma lista de arquivos com suas somas de verificação em /var/lib/dpkg/info/PACKAGENAMES.md5sums
. Você pode comparar a lista com o que você instalou em seu sistema.
sort /var/lib/dpkg/info/*.md5sums >/tmp/packaged.md5sums
cd /
find bin etc lib sbin usr -path usr/local -prune -o -exec md5sum {} + | sort >/tmp/actual.md5sums
comm -23 /tmp/actual.md5sums /tmp/packages.md5sums