28

I have a remote partition that i have mounted locally using NFS.

'mount' gives

192.168.3.1:/mnt/storage-pools/ on /pools type nfs (rw,addr=192.168.3.1)

On the server i have in exports:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check)

Then I try

 touch /pools/test1
 ls -lah
 -rw-r--r--  1 65534 65534    0 Dec 13 20:56 test1
 chown root.root test1
 chown: changing ownership of `test1': Operation not permitted

What am I missing ? Pulling my hairs out.

  • everytime I've had this problem there is a space in the exports file between the server mount and the (rw,... – egorgry Dec 13 '10 at 20:34
24

By default the root_squash export option is turned on, therefore NFS does not allow a root user from the client to perform operations as root on the server, instead mapping it to the user/group id specified by anonuid and anongid options (default=65534). This is configurable in /etc/exports together with other export options.

19

Read the section of the exports(5) concerning "root squashing":

Very often, it is not desirable that the root user on a client machine is also treated as root when accessing files on the NFS server. To this end, uid 0 is normally mapped to a different id: the so-called anony- mous or nobody uid. This mode of operation (called ‘root squashing’) is the default, and can be turned off with no_root_squash.

So you want:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check,no_root_squash)

(edited typo)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.