chown: Eigentümerwechsel von `. ': Ungültiges Argument

8

Ich versuche, einige neue Dateien auf unserem neuen Server zu installieren, während sich unser Systemadministrator in den Ferien befindet:

Hier ist mein 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

Als root kann ich ein neues Verzeichnis erstellen und chownunter / home / lindenb ausführen

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

aber ich kann nicht den gleichen Befehl unter / commun ausführen

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

Warum ? Wie kann ich das beheben?

aktualisiert :

montieren:

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

Ausführung:

$ cat /etc/redhat-release 
CentOS release 6.3 (Final)
Pierre
quelle
1
Typ mountund die Ausgabe dieses in Ihrer Frage einfügen. Auf welchem ​​Betriebssystem bist du?
Jwbensley
1
Ich bin nicht sehr gut informiert über NFS; Aber da / commun / data / users / Lindenb / ist kein lokales Verzeichnis auf Ihrem Rechner, sondern eine Netzwerkfreigabe via NFS zugegriffen wird , ich durch die Untersuchung Ihre Berechtigungen auf dem NFS - Server starten würde (was meines Wissens Rahmen ist aus)
Jwbensley

Antworten:

7

Das /communDateisystem wird von einem Remote-Server gemountet, und die Fehlermeldung weist darauf hin, dass es sich möglicherweise um einen nfsv4-Mount handelt (dasselbe gilt für frühere nfs-Versionen: Berechtigung verweigert). Standardmäßig ordnet der Remote-Dateiserver den Remote- rootBenutzer einem nobodyKonto zu, sodass der Dateieigentum nicht geändert werden kann.

Die einfachste Lösung kann darin bestehen, das lokale lindenbKonto zum Erstellen der Verzeichnisse unter dem /communVerzeichnis zu verwenden. Also als Wurzel

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

Wenn dies nicht funktioniert, findet möglicherweise eine ID-Zuordnung statt, sodass Sie möglicherweise die Verzeichnisse auf dem Server überprüfen xxx.xx.xxx.xxxund dort die Eigentumsrechte / Berechtigungen ändern müssen.

user9517
quelle
danke, aber das hat nicht funktioniert sudo -u lindenb mkdir -p /commun/data/users/TMP mkdir: cannot create directory / commun / data / users / TMP ': Erlaubnis verweigert`
Pierre
Ihr Standpunkt zu NFSv4 ist ein roter Hering, aber ich würde dem Rest der Antwort als richtig zustimmen.
DaveG
Trotzdem danke ich Ihnen für Ihre Antwort. Ich bin nicht in der Lage, diese Änderungen alleine vorzunehmen. Ich werde auf das Ende der Feiertage unseres Systemadministrators warten und Ihre Antwort bestätigen, wenn sie richtig war :-)
Pierre
@ DaveG: Warum ist das so? Wenn ich versuche, ein Verzeichnis als Root auf einem NFSv4-Mount zu chownieren, wird genau die gleiche Fehlermeldung wie beim OP angezeigt. Wenn ich zu NFSv3 wechsle, wird mir die Berechtigung verweigert, sodass dies etwas damit zu tun hat und wie es mit Benutzer-IDs interagiert.
user9517
2
Da root auch in NFSv3 gequetscht wird, ist die Fehlermeldung möglicherweise anders, aber er kann das Verzeichnis immer noch nicht als Root-Benutzer erstellen.
DaveG
5
mount -t nfs -o vers=3 SERVER:PATH MOUNT_PATH

Das hat bei mir funktioniert.

Shinta
quelle
3

Dies ist in der Tat ein NFS4-Problem. Möglicherweise müssen Sie den NFS4-Zuordnungsdämon rpc.idmapd in Betracht ziehen, um solche Probleme zu beheben, insbesondere wenn viele Benutzer die richtige Zuordnung zwischen dem Client und dem NFS-Server benötigen. Beachten Sie, dass NFS3 (z. B. in CentOS <6) keinen Mapping-Daemon verwendet hat.

ank
quelle