Quem criou arquivos em “/ proc” com meu nome de usuário?

1

Acabei de aprender sobre segurança de arquivos, usuário & amp; grupo, etc. E eu aprecio muito a elegância do sistema de arquivos do Linux.

Meu nome de usuário é lyg e descobri que há alguns arquivos com o proprietário lyg em /proc/ , conforme mostrado abaixo:

lyg@lyg-VirtualBox:~$ ll /proc/|grep lyg
dr-xr-xr-x   8 root       lyg                 0 Aug  7 09:11 1119/
dr-xr-xr-x   8 lyg        lyg                 0 Aug  7 09:47 1298/
dr-xr-xr-x   8 lyg        lyg                 0 Aug  7 22:05 7097/
dr-xr-xr-x   8 lyg        lyg                 0 Aug  7 22:05 7098/

Então eu achei que isso não poderia acontecer normalmente, esses arquivos não podem ser criados manualmente por mim, já que eu não tinha permissões requeridas, veja:

lyg@lyg-VirtualBox:~$ ls -ld /proc/
dr-xr-xr-x 108 root root 0 Aug  7 09:10 /proc/

e aqui estavam minhas informações de processos, das quais eu sabia que /proc/1298/ estava relacionado a -bash process:

lyg@lyg-VirtualBox:~$ ps -ef|grep lyg
avahi      452     1  0 09:11 ?        00:00:00 avahi-daemon: running [lyg-VirtualBox.local]
lyg       1298  1119  0 09:11 tty1     00:00:22 -bash
lyg       7099  1298  0 22:05 tty1     00:00:00 ps -ef
lyg       7100  1298  0 22:05 tty1     00:00:00 grep --color=auto lyg

Então, como esses arquivos são criados em /proc/ ?

    
por LYg 07.08.2012 / 16:26

3 respostas

5

Esses arquivos estão relacionados aos processos criados pelo SO em seu nome. Esses arquivos armazenam informações em tempo real sobre os processos, como o bloco de memória usado pelos processos, arquivos abertos pelos processos, nomes de arquivos que são acessados por seus processos.

Esses arquivos são criados pelo sistema operacional, que é o Ubuntu para você. Como o Ubuntu, ou seja, o sistema operacional tem permissão total no sistema de arquivos, ele pode criar qualquer arquivo em qualquer lugar

Vamos fazer um experimento:

Para experimentar, execute estas linhas de códigos no seu terminal

  1. Primeiro, veja o número de arquivos em /proc em nome de você

     ll /proc/ | grep lyg | wc -l
    
  2. Em seguida, crie outro processo. Deixe o novo processo ser outra instância de bash . Então, digite bash e pressione Enter.

  3. Novamente, execute este comando

    ll /proc/ | grep lyg | wc -l
    

    agora você pode ver que há pelo menos mais 1 arquivo. Este arquivo é criado para o novo processo

  4. Agora saia do bash recém-criado, com o comando exit .

  5. Agora, digite novamente este comando:

    ll /proc/ | grep lyg | wc -l
    

Você verá que a saída agora é 1 menor que a anterior. Porque, o sistema operacional excluiu o arquivo correspondente apenas existia ou terminou bash processo.

    
por Anwar 07.08.2012 / 16:32
1

Esses arquivos em /proc/nnnnn são criados pelo kernel para cada processo (PID) em execução no sistema e contêm dados e informações relacionadas a processos de baixo nível.

Como você deve saber, o superusuário (ou root) pode criar arquivos com qualquer propriedade e qualquer permissão ... e o kernel executa efetivamente com privilégios totais (como "root"), então ele pode criar esses arquivos em seu nome .

    
por ish 07.08.2012 / 16:33
0

Um processo iniciado por você pode criar outros processos sob o controle de sua conta. Pode ser que você tenha iniciado algum aplicativo que tenha criado outros garfos.

lyg       1298  1119  0 09:11 tty1     00:00:22 -bash
lyg       7099  1298  0 22:05 tty1     00:00:00 ps -ef
lyg       7100  1298  0 22:05 tty1     00:00:00 grep --color=auto lyg

e estes três estão atualmente executando processo para exibir a saída; criado por você.

    
por perilbrain 07.08.2012 / 16:31