Como identificar se um direcory é criado pelo System ou por um usuário root?

1

Como identificar se um diretório é criado pelo sistema Linux e por usuário como root. Exemplo: em /etc existe um diretório chamado sys que é criado pelo Linux. E eu entrei usando root e criei o diretório sys1. então como posso diferenciá-los?

Exemplo: var é um diretório criado pelo sistema onde, como teste, é um usuário criado com o usuário root.

drwxrwxrwx 34 root root 4096 Aug 25 22:52 var
drwxr-xr-x 2 root root 4096 Aug 25 23:19 test
    
por user3520135 25.08.2015 / 11:35

3 respostas

5

Eu não acho que haja um conceito de "diretório criado pelo sistema". Quando você está instalando seu sistema, a mídia de instalação geralmente faz o trabalho para você - você vê o resultado (por exemplo, diretório / etc criado), mas isso é realmente feito pelo usuário que executou o script.

Qualquer coisa criada pelo "sistema" pode ser tratada como criada pelo root, mas não há como saber se isso foi automatizado ou não.

    
por 25.08.2015 / 12:05
2

Dependendo do que você entende por "criado pelo sistema", talvez seja possível usar o sistema de empacotamento para determinar como um determinado diretório foi criado.

Por exemplo, em um sistema baseado em RPM (por exemplo, RedHat, Fedora, CentOS, etc):

rpm -qf /var

vai dar algo como

filesystem-2.4.100.x86_64

indicando que foi instalado como parte do pacote filesystem , enquanto

rpm -qf /test

pode dar

file /test is not owned by any package

indicando que não é parte da instalação básica (embora ainda possa ter sido criada por um programa, em vez de uma pessoa).

Similarmente para sistemas baseados em Apt (Debian, Ubuntu, etc) você pode usar

dpkg -S /var

para realizar a mesma verificação.

    
por 25.08.2015 / 14:37
2

Não há diferença entre arquivos (incluindo diretórios) criados pelo sistema ou por um usuário, porque no final é a mesma chamada de sistema. Mais tarde, é impossível dizer quem foi o proprietário do processo que criou o arquivo ou diretório. By the way, "o sistema Linux" é principalmente o usuário root : não há usuário especial. Além disso, a instalação sempre define o proprietário dos diretórios e arquivos, então isso não seria visível depois.

Se você tiver um gerenciador de pacotes, poderá descobrir se o diretório foi criado por uma instalação de pacote, por exemplo, com o Gerenciador de Pacotes Debian:

dpkg -S /var

lista vários pacotes que todos criariam o diretório se não estivessem presentes. No entanto,

dpkg -S /opt

não lista nada, embora eu possa lhe dizer que ele foi criado pelo instalador do sistema, durante o processo de instalação ou ao executar o script de pós-instalação de um determinado pacote.

    
por 25.08.2015 / 14:57