Comment 0 for bug 1779736

Revision history for this message
Michael Shannon (mrshannon-aerospace) wrote :

After upgrading to kernel 4.15.0-24-generic (on Ubuntu 18.04 LTS) NFSv4.2 mounts ignore the umask when creating files and directories. Files get permissions 666 and directories get 777. Therefore, a umask of 000 is seemingly being forced when creating files/directories in NFS mounts. Mounting with noacl does not resolve the issue.

How to replicate:

1. Mount an NFS share (defaults to NFSv4.2)
2. Ensure restrictive umask: umask 022
3. Create directory: mkdir test_dir
4. Create file: mkdir test_file
5. List: ls -l

The result will be:
drwxrwxrwx 2 user user 2 Jul 2 12:16 test_dir
-rw-rw-rw- 1 user user 0 Jul 2 12:16 test_file

while the expected result would be
drwxr-xr-x 2 user user 2 Jul 2 12:16 test_dir
-rw-r--r-- 1 user user 0 Jul 2 12:16 test_file

Bug does not occur when mounting with:

* vers=3
* vers=4.0
* vers=4.1

I have a suspicion this is related to: https://tools.ietf.org/id/draft-ietf-nfsv4-umask-03.html
But since the server does not have ACL's enabled, and mounting with noacl does not resolve the issue this is unexpected behavior.

Both server and client are running kernel 4.15.0-24-generic on Ubuntu 18.04 LTS. NFS package versions are:

nfs-kernel-server 1:1.3.4-2.1ubuntu5
nfs-common 1:1.3.4-2.1ubuntu5