chown: alterando a propriedade de `. ': argumento inválido


8

Estou tentando instalar alguns novos arquivos em nosso novo servidor enquanto nosso sysadmin está de férias:

Aqui está o meu df

#  df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb3             273G   11G  248G   5% /
tmpfs                  48G  260K   48G   1% /dev/shm
/dev/sdb1             485M  187M  273M  41% /boot
xxx.xx.xxx.xxx:/commun
                       63T  2.2T   61T   4% /commun

como root , posso criar um novo diretório e executar chownem / home / lindenb

# cd /home/lindenb/
# mkdir X
# chown lindenb X

mas não consigo executar o mesmo comando em / commun

# cd /commun/data/users/lindenb/
# mkdir X
# chown lindenb X
chown: changing ownership of `X': Invalid argument

porque ? Como posso consertar isso ?

atualizado :

montagem:

/dev/sdb3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
xxx.xx.xxx.xxx:/commun on /commun type nfs (rw,noatime,noac,hard,intr,vers=4,addr=xxx.xx.xxx.xxx,clientaddr=xxx.xx.xxx.xxx)

versão:

$ cat /etc/redhat-release 
CentOS release 6.3 (Final)

1
Digite mounte cole a saída disso na sua pergunta. Além disso, em qual SO você está?
jwbensley

1
Eu não tenho muito conhecimento sobre NFS; Mas vendo como / commun / data / users / lindenb / não é um diretório local em sua máquina, mas um compartilhamento de rede acessado via NFS, começaria examinando suas permissões no servidor NFS (que está fora do meu escopo de conhecimento)
jwbensley 31/10/12

Respostas:


7

O /communsistema de arquivos é montado a partir de um servidor remoto e a mensagem de erro sugere que pode ser uma montagem nfsv4 (o mesmo para versões anteriores do nfs é permissão negada). Por padrão, o servidor de arquivos remoto mapeará o rootusuário remoto para uma nobodyconta para que não possa alterar a propriedade do arquivo.

A solução mais fácil pode ser usar a lindenbconta local para criar os diretórios no /commundiretório. Então, como root

sudo -u linedb mkdir -p /commun/data/users/lindenb

Se isso não funcionar, pode haver algum mapeamento de identificação, portanto, você pode precisar xxx.xx.xxx.xxxalterar os diretórios no servidor e alterar a propriedade / permissões lá.


obrigado, mas isso não funcionou sudo -u lindenb mkdir -p /commun/data/users/TMP mkdir: cannot create directory / commun / data / usuários / TMP ': Permissão denied`
Pierre

Seu ponto de vista sobre o NFSv4 é um problema, mas eu concordo com o restante da resposta como correta.
31812 DaveG (

obrigado pela sua resposta de qualquer maneira, eu não sou qualificado o suficiente para fazer essas alterações sozinho. Vou aguardar o final dos feriados de nosso administrador de sistema e validaremos sua resposta se ela estiver correta :-) #
Pierre Pierre

@ DaveG: por que é isso? Se eu tentar exibir um diretório como raiz em uma montagem NFSv4, recebo exatamente a mesma mensagem de erro do OP e, se eu mudar para o NFSv3, recebo Permissão Negada, por isso há algo a ver com ele e com a maneira como ele interage com os IDs de usuário.
user9517

2
Como o root também é compactado no NFSv3, a mensagem de erro pode ser diferente, mas ele ainda não conseguiu criar o diretório como usuário root.
31412 DaveG (

5
mount -t nfs -o vers=3 SERVER:PATH MOUNT_PATH

Isso funcionou para mim.


3

Este é realmente um problema do NFS4. Pode ser necessário considerar rpc.idmapd o daemon de mapeamento NFS4 para resolver esses problemas, especialmente se muitos usuários precisarão do mapeamento correto entre o cliente e o servidor NFS. Observe que o NFS3 (no CentOS <6, por exemplo) não usou um daemon de mapeamento.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.