Can't chgrp. Error - chgrp: changing group of `<file>': Invalid argument

I found that I cannot chgrp for some reason with error:

chgrp: changing group of `<file>': Invalid argument

This happens on all NFS mounted disks on client machines.

We use AD (not my call) for authentication and it also provides groups.

We have a NFS server running Scientific Linux 6.3 which mounts SAN devices on FC connect. These are then exported via NFS. Clients are all CentOS 6.4.

The clients hard mounts the user's home disk with intr,sync and various tuning options. The other disks use autofs.

AD is configured so that each user has a matching UID and GID, essentially making them the exclusive member of their own group. Not useful for sharing files unless you don't mind making all your files accessibly by world, o+.

We need groups so that we can add members who are then able to chgrp what ever files they'd like to share with members of the same group. All seems pretty straight forward so far.

I used to run OpenLDAP with Kerberos to do all this, I had LDAP manage autofs and groups. Everything worked perfectly.

But now I cannot chgrp.

The permissions of the exported directories on the NFS server are:
drwx--x--x root root /san/home
drwxrwxrwx root root /san/otherdisks

But under home each user directory is owned by the user:
drwx--x--x user1 user1 /san/home/user1

NOTE: "other" means machines within same organization using same AD but built by other departments, "this" means the machines I built.

In the following scenarios it fails:

  1. As AD user on "this" client machine on own home on "this" NFS server.
  2. As AD user on "this" client machine on automounted disk on "this" NFS server.
  3. As root on "this" client machine on automounted disk on "this" NFS server.

In the following scenarios it works:

  1. As AD user on "this" client on local partitions where permissions allow.
  2. As AD user logged in directly on "this" NFS server on any partition where permissions allow, including on SAN disks.
  3. As root on "this" file server on any partition.
  4. As AD user on "other" clients on export from "this" NFS server.
  5. As AD user on "other" clients on export from "other" NFS server.
  6. As AD user on "this" client on export from "other" NFS server.

This issue shows itself when I extract TAR files whilst on client machines to NFS exported shares as AD user or root, can't chgrp!

I can do everything else, I can create, delete, even do newgrp and change my default group then create new files belonging to me with GID of new group. But still can't chgrp to any other group I am a member of when on "this" client and "this" NFS server's export.

To me problem looks like it's on the client side, but I cannot find the issue. Checked all directory permissions of shares on server, tried mounting on other clients, tried other client/server on same AD.

I hope I'm concise and simple enough to go by. Please help! =)

Let me summarize what I understood from your scenario

Users are created centrally on some AD

NFS server - chgrp works.
NFS client - chgrp doesn't works

If this is the case, I think nfsv4 is not configured in your NFS server and client.

Workaround: You can use nfs v3 in your auto.master file and then remount the partition in nfs clients.

Just use:
/net -hosts -o vers=3