chown: смена владельца `. ': неверный аргумент

8

Я пытаюсь установить несколько новых файлов на наш новый сервер, пока наш системный администратор не работает:

Вот мой 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

как пользователь root , я могу создать новый каталог и запустить его chownв / home / lindenb

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

но я не могу запустить ту же команду в / commun

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

Почему ? Как я могу это исправить ?

обновлено :

крепление:

/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)

версия:

$ cat /etc/redhat-release 
CentOS release 6.3 (Final)
пьер
источник
1
Введите mountи вставьте вывод этого в свой вопрос. Кроме того, на какой ОС вы работаете?
Jwbensley
1
Я не очень хорошо разбираюсь в NFS; Но учитывая, что / commun / data / users / lindenb / - это не локальный каталог на вашем компьютере, а сетевой ресурс, доступ к которому осуществляется через NFS, я бы начал с изучения ваших разрешений на сервере NFS (что выходит за рамки моих знаний)
Jwbensley

Ответы:

7

/communФайловая система смонтирована с удаленного сервера, и сообщение об ошибке говорит о том , что это может быть NFSv4 крепление (то же самое для более ранних версий Nfs это разрешение запрещен). По умолчанию удаленный файловый сервер сопоставляет удаленного rootпользователя с nobodyучетной записью, поэтому он не может изменить владельца файла.

Самым простым решением может быть использование локальной lindenbучетной записи для создания каталогов в /communкаталоге. Так как корень

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

Если это не сработает, возможно, имеет место какое-то отображение идентификаторов, поэтому вам, возможно, придется mkae каталоги на сервере xxx.xx.xxx.xxxи изменить там владельца / разрешения.

user9517
источник
спасибо, но это не сработало sudo -u lindenb mkdir -p /commun/data/users/TMP mkdir: cannot create directory / общение / данные / пользователи / TMP ': В доступе отказано`
Пьер
Ваша точка зрения по поводу NFSv4 - красная сельдь, но я согласен с остальным ответом как правильный.
DaveG
в любом случае, спасибо за ваш ответ, я недостаточно квалифицирован, чтобы делать эти изменения в одиночку. Я подожду окончания праздников нашего сисадмина и уточню ваш ответ, если он будет правильным :-)
Pierre
@DaveG: почему это? Если я пытаюсь выбрать каталог как root для монтирования NFSv4, я получаю точно такое же сообщение об ошибке, что и OP, и если я переключаюсь на NFSv3, я получаю Permission Denied, так что это как-то связано с тем, как он взаимодействует с идентификаторами пользователей.
user9517
2
Из-за того, что root также оказывается раздавленным в NFSv3, сообщение об ошибке может отличаться, но он все равно не сможет создать каталог от имени пользователя root.
DaveG
5
mount -t nfs -o vers=3 SERVER:PATH MOUNT_PATH

Это сработало для меня.

Шинта
источник
3

Это действительно проблема NFS4. Возможно, вам придется рассмотреть rpc.idmapd как демон сопоставления NFS4, чтобы решить такие проблемы, особенно если многим пользователям потребуется правильное сопоставление между клиентом и сервером NFS. Обратите внимание, что NFS3 (например, в CentOS <6) не использовал демон отображения.

апк
источник