A raiz não pode alterar a permissão ou propriedade do arquivo

8

Meu direcotrory é raiz:

pwd 
/

Eu tenho o seguinte diretório:

drwxrwxrwx   4 root   root     81920 Jun  4 09:25 imr_report_repo

NOTA: imr_report_repo é um compartilhamento NFS.

Aqui está a listagem fstab de imr_report_repo :

netapp1:/imr_report_repos_stage  /imr_report_repo  nfs   rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1    1
d imr_report_repo

Um arquivo dentro da montagem:

$ ls -al
-rw-r--r--  1 502     502      1273 Mar 21  2013 imr1_test.txt

O UID 502 não existe. Se adicionarmos esse UID / GID localmente:

$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy

Agora aparece:

$ ls -al
-rw-r--r--  1 jimmy     jimmy      1273 Mar 21  2013 imr1_test.txt

Agora mude para root:

$ su -
$ chown oracle:oinstall imr1_test.txt
chown: changing ownership of 'imr1_test.txt': Operation not permitted
    
por Stringer 21.11.2014 / 23:21

3 respostas

10

Normalmente, root não tem permissões especiais em compartilhamentos NFS. Pelo contrário: root é mapeado para um usuário comum (ou seja, não tem acesso de leitura e gravação "normal" para root arquivos).

Você deve executar chown no servidor NFS.

    
por 21.11.2014 / 23:35
3

Normalmente, o usuário root local em clientes NFS não pode executar esses tipos de atividades em compartilhamentos montados pelo NFS. A NetApp parece adicionar um pouco de distorção da seguinte forma:

  • Por padrão, a opção anon especifica um UID de 65534. Ou seja, se você não usar as opções root e anon para um recurso, os usuários raiz em todos os hosts acessam o recurso usando o UID 65534.
  • Se a opção anon especificar um UID de 65535, o acesso root será desativado.
  • Se a opção anon especificar um UID de 0, o acesso root será concedido a todos os hosts.
  • Se um nome for fornecido em vez de um UID, esse nome será procurado de acordo com a ordem especificada no arquivo /etc/nsswitch.conf para determinar o UID correspondente a ser atribuído pela opção anon.

Assim, a aparência do compartilhamento NetApp NFS é a opção padrão, # 1. Você pode confirmar isso tocando em um arquivo no compartilhamento NFS como root e vendo o resultado do ID ao fazer isso.

Você deve poder ver as opções exportadas do compartilhamento NFS usando mount -v no seu cliente NFS.

$ mount -v
...
mulder:/export/raid1/home/sam on /home/sam type nfs (rw,intr,tcp,nfsvers=3,rsize=16384,wsize=16384,addr=192.168.1.1)

Referências

por 22.11.2014 / 02:07
1

Um servidor NetApp NFS irá, por padrão, alterar as credenciais do usuário raiz em um cliente para o UID 65534 no servidor, assim, operações como chown falharão. Para alterar isso, edite a lista de exportação no arquivador para que a linha para o sistema de arquivos tenha o parâmetro root=clientid , em que clientid é o endereço IP ou o nome do host do cliente que você deseja ter acesso root a esse sistema de arquivos. Em seguida, execute exportfs -a se você estiver usando a interface de linha de comando no arquivador.

    
por 22.11.2014 / 09:42

Tags