Alterando o UID de arquivos em / proc

6

Em uma continuação a esta pergunta sobre a mudança o UID de um usuário, é recomendado alterar a propriedade de todos os arquivos no sistema ( responder )

find / -uid 1000 -exec chown 5000 '{}' \+

onde 1000 é o antigo UID e 5000 é o novo. Acabei de listar todos os arquivos (fora /home/seb ) de UID=1000 e descobri que a maioria está no diretório /proc .

find / -uid 1000 \! -wholename '/home/seb/*'

É salvar ou necessário para executar a% sugerida UID ? Não estou familiarizado com o propósito desses arquivos /proc , mas presumo que eles seriam criados conforme necessário quando eu fizer login com o novo usuário.

Observação: há também alguns arquivos em /dev pertencentes a UID=1000 , mas esses são apenas os terminais abertos pelo usuário (por exemplo, /dev/pts/23 )

    
por Sebastian 10.01.2012 / 14:44

3 respostas

5

Estou assumindo que os arquivos em /proc que você está dizendo são de propriedade de UID=1000 dos que são como /proc/12345 (apenas diretórios numéricos)? Estes são diretórios de contabilidade de processo, o UID é configurado para o usuário que está executando o programa associado a esse diretório. Se você iniciar um programa com o pid '12345', /proc/12345 será de propriedade do seu usuário.

Eu duvido que qualquer coisa no proc funcione como /proc não é um sistema de arquivos real, é um pseudo-sistema de arquivos.

O mesmo acontece com /dev , os TTYs são de propriedade do usuário que os está usando no momento.

    
por 10.01.2012 / 15:08
1

Em vez disso, alterar os diretórios numerados UID representa identificadores abertos para processos. Você pode matar todos os processos pertencentes a UID=1000 (usando ps ) ou pode fechar todas as suas alças (usando lsof ).

    
por 10.01.2012 / 16:17
1

Não é possível nem necessário alterar a propriedade dos arquivos em /proc . Esses arquivos não são armazenados em um disco, eles são gerados pelo kernel na hora quando você os lê. Os únicos que não pertencem ao root são arquivos que fornecem informações sobre um processo em execução; estes pertencem ao usuário que está executando o processo.

Antes ou depois de alterar a propriedade dos arquivos do disco, elimine todos os processos em execução como o antigo uid. (Você não pode (sensivelmente) alterar o fluxo de um processo em execução.)

Se houver terminais ( /dev/tty* ou /dev/pts/* ) pertencentes ao usuário, você deve alterar seu uid. Em toda a probabilidade, não sobrará muitos depois de você matar os processos do usuário.

    
por 11.01.2012 / 02:06