É correto ter arquivos pertencentes a um usuário inexistente?

5

Eu tenho um servidor A com um volume montado que é compartilhado via NFS com o servidor B e C.

Se eu criar um arquivo nesse volume usando um usuário X no grupo Y que existe apenas no servidor A, isso criará algum problema com o compartilhamento desse arquivo por meio do NFS? O servidor B e o servidor C poderão ler o arquivo ok se as permissões de terceiros incluírem leitura?

    
por user1471465 23.08.2016 / 07:32

2 respostas

4

Sim, tudo bem.

O UNIX não se importa com nomes. Para permissões de arquivo, são os números que são importantes; Quando você tentar acessar o arquivo, ele verá se o seu UID corresponde e, em seguida, o GID e, em seguida, usará as "outras" permissões. Contanto que as "outras" permissões incluam a leitura, você poderá ler esses arquivos.

Ele não verifica se existe um usuário ou grupo para esse número, a menos que você esteja executando algo como ls , que mostra nomes de usuários e grupos (nesse caso, apenas mostrará o número).

No meu servidor doméstico, tenho muitos UIDs e GIDs que não existem em nenhuma outra máquina; O NFS lida bem com isso. Servidor FreeBSD, OpenBSD e Linux.

    
por 23.08.2016 / 08:59
1

Ter arquivos pertencentes a um usuário inexistente não causará problemas imediatos. No que diz respeito ao kernel, não há nenhum conceito de usuários existentes, apenas um ID de usuário numérico. No que diz respeito aos níveis mais altos, um ID de usuário específico pode não ter um nome de usuário associado a ele, o que é incomum, mas não é, por si só, problemático.

O risco com arquivos pertencentes a um usuário inexistente é que, se você criar uma conta, ela poderá obter esse ID de usuário. Como não há conta com esse ID, o ID é gratuito; o fato de existirem arquivos com esse ID de usuário não afeta isso. (E se os arquivos estivessem em uma unidade removível ou em um sistema de arquivos de rede que não esteja atualmente montado? O SO não teria como fazer isso.)

Na sua configuração distribuída, isso deve estar ok. Os servidores B e C devem ser configurados para não usar os mesmos intervalos de ID de usuário do servidor A, para evitar conflitos com usuários existentes, exceto para usuários que não possuem arquivos nos compartilhamentos NFS de A.

    
por 24.08.2016 / 01:58